Mercurial > urweb
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