diff options
author | Adam Chlipala <adam@chlipala.net> | 2010-12-18 14:17:45 -0500 |
---|---|---|
committer | Adam Chlipala <adam@chlipala.net> | 2010-12-18 14:17:45 -0500 |
commit | 4d07c227812b49e71de49b3e64ec6da1fbc30aed (patch) | |
tree | a234fad234187fc2eb74166ebdcd4e810bf60d30 /src/elaborate.sml | |
parent | c71de1db0cf31466bfc5fe7e96021e5d3cba6979 (diff) |
Change tasks to support parametric code; add clientLeaves
Diffstat (limited to 'src/elaborate.sml')
-rw-r--r-- | src/elaborate.sml | 5 |
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'; |