summaryrefslogtreecommitdiff
path: root/src/monoize.sml
diff options
context:
space:
mode:
authorGravatar Adam Chlipala <adamc@hcoop.net>2009-04-04 14:55:36 -0400
committerGravatar Adam Chlipala <adamc@hcoop.net>2009-04-04 14:55:36 -0400
commitca7196c5dd362ccc6f19aaafef5b4252522e96a2 (patch)
treebd8687846d60efcadac3d2e06f77bdabedbec0b5 /src/monoize.sml
parentdfe722a61e5c81cdfa6ed844933a14783cd9bd9c (diff)
spawn
Diffstat (limited to 'src/monoize.sml')
-rw-r--r--src/monoize.sml14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/monoize.sml b/src/monoize.sml
index 71672785..ea2ce751 100644
--- a/src/monoize.sml
+++ b/src/monoize.sml
@@ -1043,6 +1043,13 @@ fun monoExp (env, st, fm) (all as (e, loc)) =
fm)
end
+ | L.EFfiApp ("Basis", "spawn", [e]) =>
+ let
+ val (e, fm) = monoExp (env, st, fm) e
+ in
+ ((L'.EApp (e, (L'.ERecord [], loc)), loc), fm)
+ end
+
| L.EApp ((L.ECApp ((L.ECApp ((L.EFfi ("Basis", "return"), _), _), _), t), _),
(L.EFfi ("Basis", "signal_monad"), _)) =>
let
@@ -2005,7 +2012,12 @@ fun monoExp (env, st, fm) (all as (e, loc)) =
end
in
normal ("body",
- SOME (L'.EFfiApp ("Basis", "get_settings", [onload]), loc),
+ SOME (L'.EStrcat ((L'.EPrim (Prim.String " onload='"), loc),
+ (L'.EStrcat ((L'.EFfiApp ("Basis", "get_settings",
+ [(L'.ERecord [], loc)]), loc),
+ (L'.EStrcat (onload,
+ (L'.EPrim (Prim.String "'"),
+ loc)), loc)), loc)), loc),
SOME (L'.EFfiApp ("Basis", "get_script", [(L'.ERecord [], loc)]), loc))
end