summaryrefslogtreecommitdiff
path: root/src/cjrize.sml
diff options
context:
space:
mode:
authorGravatar Adam Chlipala <adamc@hcoop.net>2009-12-15 10:19:05 -0500
committerGravatar Adam Chlipala <adamc@hcoop.net>2009-12-15 10:19:05 -0500
commit6179a09d47c5af4db1ac41d00b8cb7ec36741c3e (patch)
tree0912963011416a0f1132c07d44c3eca8b6545d54 /src/cjrize.sml
parent1589307fcb887ec55b5baea7445747b479a665d2 (diff)
Convert to task syntax
Diffstat (limited to 'src/cjrize.sml')
-rw-r--r--src/cjrize.sml10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/cjrize.sml b/src/cjrize.sml
index 3936f6a5..0136bdf6 100644
--- a/src/cjrize.sml
+++ b/src/cjrize.sml
@@ -660,13 +660,17 @@ fun cifyDecl ((d, loc), sm) =
| L.DJavaScript s => (SOME (L'.DJavaScript s, loc), NONE, sm)
| L.DCookie args => (SOME (L'.DCookie args, loc), NONE, sm)
| L.DStyle args => (SOME (L'.DStyle args, loc), NONE, sm)
- | L.DInitializer e =>
- (case #1 e of
+ | L.DTask (e1, e2) =>
+ (case #1 e2 of
L.EAbs (_, _, _, e) =>
let
+ val tk = case #1 e1 of
+ L.EFfi ("Basis", "initialize") => L'.Initialize
+ | _ => (ErrorMsg.errorAt loc "Task kind not fully determined";
+ L'.Initialize)
val (e, sm) = cifyExp (e, sm)
in
- (SOME (L'.DInitializer e, loc), NONE, sm)
+ (SOME (L'.DTask (tk, e), loc), NONE, sm)
end
| _ => (ErrorMsg.errorAt loc "Initializer has not been fully determined";
(NONE, NONE, sm)))