summaryrefslogtreecommitdiff
path: root/src/cjrize.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/cjrize.sml
parentc71de1db0cf31466bfc5fe7e96021e5d3cba6979 (diff)
Change tasks to support parametric code; add clientLeaves
Diffstat (limited to 'src/cjrize.sml')
-rw-r--r--src/cjrize.sml7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/cjrize.sml b/src/cjrize.sml
index 2915b0ca..0505af62 100644
--- a/src/cjrize.sml
+++ b/src/cjrize.sml
@@ -1,4 +1,4 @@
-(* Copyright (c) 2008, Adam Chlipala
+(* Copyright (c) 2008-2010, Adam Chlipala
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -662,15 +662,16 @@ fun cifyDecl ((d, loc), sm) =
| L.DStyle args => (SOME (L'.DStyle args, loc), NONE, sm)
| L.DTask (e1, e2) =>
(case #1 e2 of
- L.EAbs (_, _, _, e) =>
+ L.EAbs (x1, _, _, (L.EAbs (x2, _, _, e), _)) =>
let
val tk = case #1 e1 of
L.EFfi ("Basis", "initialize") => L'.Initialize
+ | L.EFfi ("Basis", "clientLeaves") => L'.ClientLeaves
| _ => (ErrorMsg.errorAt loc "Task kind not fully determined";
L'.Initialize)
val (e, sm) = cifyExp (e, sm)
in
- (SOME (L'.DTask (tk, e), loc), NONE, sm)
+ (SOME (L'.DTask (tk, x1, x2, e), loc), NONE, sm)
end
| _ => (ErrorMsg.errorAt loc "Initializer has not been fully determined";
(NONE, NONE, sm)))