summaryrefslogtreecommitdiff
path: root/src/mono_util.sml
diff options
context:
space:
mode:
Diffstat (limited to 'src/mono_util.sml')
-rw-r--r--src/mono_util.sml26
1 files changed, 15 insertions, 11 deletions
diff --git a/src/mono_util.sml b/src/mono_util.sml
index 0b2817f1..5ccaf16c 100644
--- a/src/mono_util.sml
+++ b/src/mono_util.sml
@@ -31,6 +31,8 @@ open Mono
structure S = Search
+val dummyt = (TRecord [], ErrorMsg.dummySpan)
+
structure Typ = struct
open Order
@@ -243,17 +245,19 @@ fun mapfoldB {typ = fc, exp = fe, bind} =
fn state' =>
S.bind2 (mfe ctx query,
fn query' =>
- S.bind2 (mfe ctx body,
- fn body' =>
- S.map2 (mfe ctx initial,
- fn initial' =>
- (EQuery {exps = exps',
- tables = tables',
- state = state',
- query = query',
- body = body',
- initial = initial'},
- loc)))))))
+ S.bind2 (mfe (bind (bind (ctx, RelE ("r", dummyt)),
+ RelE ("acc", dummyt)))
+ body,
+ fn body' =>
+ S.map2 (mfe ctx initial,
+ fn initial' =>
+ (EQuery {exps = exps',
+ tables = tables',
+ state = state',
+ query = query',
+ body = body',
+ initial = initial'},
+ loc)))))))
in
mfe
end