summaryrefslogtreecommitdiff
path: root/src/core_util.sml
diff options
context:
space:
mode:
authorGravatar Adam Chlipala <adamc@hcoop.net>2008-06-22 09:27:29 -0400
committerGravatar Adam Chlipala <adamc@hcoop.net>2008-06-22 09:27:29 -0400
commita78e978c05d7d28f31f4407b6918d89d44a5643c (patch)
tree29f8a7dd372a3fd5fa14b1960e5b3917c6aa1e50 /src/core_util.sml
parent79223408d7b3ce19f0463142461d84a1ad09d785 (diff)
Start of FFI
Diffstat (limited to 'src/core_util.sml')
-rw-r--r--src/core_util.sml6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/core_util.sml b/src/core_util.sml
index 8d9a6529..b3e266af 100644
--- a/src/core_util.sml
+++ b/src/core_util.sml
@@ -109,6 +109,7 @@ fun mapfoldB {kind = fk, con = fc, bind} =
| CRel _ => S.return2 cAll
| CNamed _ => S.return2 cAll
+ | CFfi _ => S.return2 cAll
| CApp (c1, c2) =>
S.bind2 (mfc ctx c1,
fn c1' =>
@@ -216,6 +217,11 @@ fun mapfoldB {kind = fk, con = fc, exp = fe, bind} =
EPrim _ => S.return2 eAll
| ERel _ => S.return2 eAll
| ENamed _ => S.return2 eAll
+ | EFfi _ => S.return2 eAll
+ | EFfiApp (m, x, es) =>
+ S.map2 (ListUtil.mapfold (fn e => mfe ctx e) es,
+ fn es' =>
+ (EFfiApp (m, x, es'), loc))
| EApp (e1, e2) =>
S.bind2 (mfe ctx e1,
fn e1' =>