diff src/core_print.sml @ 109:813e5a52063d

Remove closure conversion in favor of zany fun with modules, which also replaces 'page'
author Adam Chlipala <adamc@hcoop.net>
date Sun, 13 Jul 2008 10:17:06 -0400
parents 5f04adf47f48
children 3739af9e727a
line wrap: on
line diff
--- a/src/core_print.sml	Thu Jul 10 16:05:14 2008 -0400
+++ b/src/core_print.sml	Sun Jul 13 10:17:06 2008 -0400
@@ -145,6 +145,13 @@
         CName s => string s
       | _ => p_con env all
 
+fun p_enamed env n =
+    (if !debug then
+        string (#1 (E.lookupENamed env n) ^ "__" ^ Int.toString n)
+     else
+         string (#1 (E.lookupENamed env n)))
+    handle E.UnboundNamed _ => string ("UNBOUNDN_" ^ Int.toString n)
+
 fun p_exp' par env (e, _) =
     case e of
         EPrim p => Prim.p_t p
@@ -154,12 +161,7 @@
           else
               string (#1 (E.lookupERel env n)))
          handle E.UnboundRel _ => string ("UNBOUND_" ^ Int.toString n))
-      | ENamed n =>
-        ((if !debug then
-              string (#1 (E.lookupENamed env n) ^ "__" ^ Int.toString n)
-          else
-              string (#1 (E.lookupENamed env n)))
-         handle E.UnboundNamed _ => string ("UNBOUNDN_" ^ Int.toString n))
+      | ENamed n => p_enamed env n
       | EFfi (m, x) => box [string "FFI(", string m, string ".", string x, string ")"]
       | EFfiApp (m, x, es) => box [string "FFI(",
                                    string m,
@@ -255,7 +257,7 @@
                  space,
                  p_con env c]
         end
-      | DVal (x, n, t, e) =>
+      | DVal (x, n, t, e, s) =>
         let
             val xp = if !debug then
                          box [string x,
@@ -268,6 +270,10 @@
                  space,
                  xp,
                  space,
+                 string "as",
+                 space,
+                 string s,
+                 space,
                  string ":",
                  space,
                  p_con env t,
@@ -276,12 +282,9 @@
                  space,
                  p_exp env e]
         end
-      | DPage (c, e) => box [string "page",
-                             p_con env c,
-                             space,
-                             string "=",
-                             space,
-                             p_exp env e]
+      | DExport n => box [string "export",
+                          space,
+                          p_enamed env n]
 
 fun p_file env file =
     let