(case isAction evs t of
SOME evs => (types, contexts, s :: actions, vals, evs)
| NONE => (types, contexts, actions, s :: vals, evs))
+ | DEnv (s, _, _) =>
+ (types, contexts, actions, vals, StringSet.add (evs, s))
| DContext s => (types, s :: contexts, actions, vals, evs))
acc decls
end
ident name, space 1,
punct ":", space 1,
p_typ t])
+ | DEnv (name, NONE, _) => string "Unannotated env declaration!"
+ | DEnv (name, SOME t, _) => anchor ("D_" ^ name,
+ dBox [keyword "var", space 1,
+ ident name, space 1,
+ punct ":", space 1,
+ p_typ t])
| DContext name => anchor ("C_" ^ name,
dBox [keyword "context", space 1,
ident name])
space 1,
punct ":", space 1,
p_typ t]
+ | DEnv (name, NONE, _) => string "Unannotated var declaration!"
+ | DEnv (name, SOME t, _) => dBox [keyword "var", space 1,
+ link ("#D_" ^ name, ident name),
+ space 1,
+ punct ":", space 1,
+ p_typ t]
| DContext name => dBox [keyword "context", space 1,
link ("#C_" ^ name, ident name)]