diff options
author | 2008-10-21 09:50:19 -0400 | |
---|---|---|
committer | 2008-10-21 09:50:19 -0400 | |
commit | f750e27d0e16da032227dbc71ecb7c63f5b77bc7 (patch) | |
tree | c1cd77d3f82dedbd270450204612186c547a83e8 /src/mono_util.sml | |
parent | 4f6178266ffe0bf5423878b46486b82c19a56810 (diff) |
Binops; equality tested on int; lame 404 substitute
Diffstat (limited to 'src/mono_util.sml')
-rw-r--r-- | src/mono_util.sml | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/mono_util.sml b/src/mono_util.sml index a56e5287..080c3dc9 100644 --- a/src/mono_util.sml +++ b/src/mono_util.sml @@ -175,6 +175,17 @@ fun mapfoldB {typ = fc, exp = fe, bind} = fn e' => (EAbs (x, dom', ran', e'), loc)))) + | EUnop (s, e) => + S.map2 (mfe ctx e, + fn e' => + (EUnop (s, e'), loc)) + | EBinop (s, e1, e2) => + S.bind2 (mfe ctx e1, + fn e1' => + S.map2 (mfe ctx e2, + fn e2' => + (EBinop (s, e1', e2'), loc))) + | ERecord xes => S.map2 (ListUtil.mapfold (fn (x, e, t) => S.bind2 (mfe ctx e, |