aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/mono_util.sml
diff options
context:
space:
mode:
authorGravatar Adam Chlipala <adamc@hcoop.net>2008-09-07 11:53:30 -0400
committerGravatar Adam Chlipala <adamc@hcoop.net>2008-09-07 11:53:30 -0400
commitf8d1a7fcf13f655200be366733c24233b5df7f9a (patch)
treed2b1505cfdcef966f5410d29930821ab39fa1818 /src/mono_util.sml
parent9ae8932c978ab9c12f683745b47b3e0898581635 (diff)
'read' type class
Diffstat (limited to 'src/mono_util.sml')
-rw-r--r--src/mono_util.sml6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/mono_util.sml b/src/mono_util.sml
index b2fdff52..90ae3a4f 100644
--- a/src/mono_util.sml
+++ b/src/mono_util.sml
@@ -145,6 +145,12 @@ fun mapfoldB {typ = fc, exp = fe, bind} =
S.map2 (mfe ctx e,
fn e' =>
(ECon (dk, n, SOME e'), loc))
+ | ESome (t, e) =>
+ S.bind2 (mft t,
+ fn t' =>
+ S.map2 (mfe ctx e,
+ fn e' =>
+ (ESome (t', e'), loc)))
| EFfi _ => S.return2 eAll
| EFfiApp (m, x, es) =>
S.map2 (ListUtil.mapfold (fn e => mfe ctx e) es,