summaryrefslogtreecommitdiff
path: root/src/elaborate.sml
diff options
context:
space:
mode:
authorGravatar Adam Chlipala <adam@chlipala.net>2010-12-18 14:17:45 -0500
committerGravatar Adam Chlipala <adam@chlipala.net>2010-12-18 14:17:45 -0500
commit4d07c227812b49e71de49b3e64ec6da1fbc30aed (patch)
treea234fad234187fc2eb74166ebdcd4e810bf60d30 /src/elaborate.sml
parentc71de1db0cf31466bfc5fe7e96021e5d3cba6979 (diff)
Change tasks to support parametric code; add clientLeaves
Diffstat (limited to 'src/elaborate.sml')
-rw-r--r--src/elaborate.sml5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/elaborate.sml b/src/elaborate.sml
index b1515b6e..76e22139 100644
--- a/src/elaborate.sml
+++ b/src/elaborate.sml
@@ -3962,9 +3962,14 @@ and elabDecl (dAll as (d, loc), (env, denv, gs)) =
val (e1', t1, gs1) = elabExp (env, denv) e1
val (e2', t2, gs2) = elabExp (env, denv) e2
+ val targ = cunif (loc, (L'.KType, loc))
+
val t1' = (L'.CModProj (!basis_r, [], "task_kind"), loc)
+ val t1' = (L'.CApp (t1', targ), loc)
+
val t2' = (L'.CApp ((L'.CModProj (!basis_r, [], "transaction"), loc),
(L'.TRecord (L'.CRecord ((L'.KType, loc), []), loc), loc)), loc)
+ val t2' = (L'.TFun (targ, t2'), loc)
in
checkCon env e1' t1 t1';
checkCon env e2' t2 t2';