diff options
author | Adam Chlipala <adamc@hcoop.net> | 2008-11-06 12:46:45 -0500 |
---|---|---|
committer | Adam Chlipala <adamc@hcoop.net> | 2008-11-06 12:46:45 -0500 |
commit | 5e95ccda9544c96b519d2cf6b32967f4b1ef990a (patch) | |
tree | 199cf905309f9068ba5eb6d2e395a8f12f403343 /src | |
parent | 6e41a0ca24381fa5545fe82004275e661dd8dd6e (diff) |
Cookie prose; fix bugs that broke demo compilation
Diffstat (limited to 'src')
-rw-r--r-- | src/mono_reduce.sml | 5 | ||||
-rw-r--r-- | src/monoize.sml | 6 |
2 files changed, 4 insertions, 7 deletions
diff --git a/src/mono_reduce.sml b/src/mono_reduce.sml index 3c4ac0df..bf68f175 100644 --- a/src/mono_reduce.sml +++ b/src/mono_reduce.sml @@ -352,9 +352,10 @@ fun exp env e = (EApp (b, liftExpInExp 0 e'), loc)), loc)) | ELet (x, t, e', (EAbs (x', t' as (TRecord [], _), ran, e''), loc)) => - if impure e' then + (*if impure e' then e - else + else*) + (* Seems unsound in general without the check... should revisit later *) EAbs (x', t', ran, (ELet (x, t, liftExpInExp 0 e', swapExpVars 0 e''), loc)) | ELet (x, t, e', b) => diff --git a/src/monoize.sml b/src/monoize.sml index b8c3a6a9..20677816 100644 --- a/src/monoize.sml +++ b/src/monoize.sml @@ -1565,13 +1565,9 @@ fun monoExp (env, st, fm) (all as (e, loc)) = | L.EFfiApp ("Basis", "nextval", [e]) => let - val un = (L'.TRecord [], loc) - val int = (L'.TFfi ("Basis", "int"), loc) val (e, fm) = monoExp (env, st, fm) e in - ((L'.EAbs ("_", un, int, - (L'.ENextval (liftExpInExp 0 e), loc)), loc), - fm) + ((L'.ENextval e, loc), fm) end | L.EApp ( |