summaryrefslogtreecommitdiff
path: root/src/expl_print.sml
diff options
context:
space:
mode:
authorGravatar Adam Chlipala <adamc@hcoop.net>2008-07-13 10:17:06 -0400
committerGravatar Adam Chlipala <adamc@hcoop.net>2008-07-13 10:17:06 -0400
commit3316f3c317e587a5fc2ecf38f061a72b48e3b94e (patch)
treefae8c92c195e5f7976352a337017d285e729f859 /src/expl_print.sml
parent7281dbb2fc2a5f50c1049bad629f330e2ff3f7ca (diff)
Remove closure conversion in favor of zany fun with modules, which also replaces 'page'
Diffstat (limited to 'src/expl_print.sml')
-rw-r--r--src/expl_print.sml20
1 files changed, 13 insertions, 7 deletions
diff --git a/src/expl_print.sml b/src/expl_print.sml
index c891528f..1e8f514a 100644
--- a/src/expl_print.sml
+++ b/src/expl_print.sml
@@ -92,7 +92,8 @@ fun p_con' par env (c, _) =
handle E.UnboundNamed _ => string ("UNBOUND_NAMED" ^ Int.toString n))
| CModProj (m1, ms, x) =>
let
- val (m1x, sgn) = E.lookupStrNamed env m1
+ val m1x = #1 (E.lookupStrNamed env m1)
+ handle E.UnboundNamed _ => "UNBOUND"
val m1s = if !debug then
m1x ^ "__" ^ Int.toString m1
@@ -237,6 +238,10 @@ fun p_exp' par env (e, _) =
p_con' true env c]
| EFold _ => string "fold"
+ | EWrite e => box [string "write(",
+ p_exp env e,
+ string ")"]
+
and p_exp env = p_exp' false env
fun p_named x n =
@@ -392,12 +397,13 @@ fun p_decl env ((d, _) : decl) =
string ":",
space,
p_sgn env sgn]
- | DPage (c, e) => box [string "page",
- p_con env c,
- space,
- string "=",
- space,
- p_exp env e]
+ | DExport (_, sgn, str) => box [string "export",
+ space,
+ p_str env str,
+ space,
+ string ":",
+ space,
+ p_sgn env sgn]
and p_str env (str, _) =
case str of