string ":", space 1,
dBox [string "(", p_typ t, string ")"],
space 1, string "->", space 1, p_exp e, string ")"]
+ | EALam (x, c, e) => dBox [string "(\\\\", space 1, string x, space 1,
+ string ":", space 1, p_pred c,
+ space 1, string "->", space 1, p_exp e, string ")"]
| EVar x => string x
| EApp (e1, e2) => dBox [string "(", p_exp e1, break {nsp = 1, offset = 0}, p_exp e2, string ")"]
space 1, string x2, string ";", space 1],
p_exp e]
| ESeq es => dBox (valOf (foldr (fn (e, NONE) => SOME [p_exp e]
- | (e, SOME ds) => SOME (dBox [p_exp e, string ";", space 1] :: ds))
+ | (e, SOME ds) => SOME (dBox [p_exp e, string ";", newline] :: ds))
NONE es))
| ELocal (e1, e2) => dBox [string "let", space 1,
p_exp e1, space 1,
SM.closeStream myStream
end
+fun preface (s, d) = printd (PD.hovBox (PD.PPS.Rel 0,
+ [PD.string s, PD.space 1, d]))
+
end