summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar Adam Chlipala <adamc@hcoop.net>2008-12-21 12:01:00 -0500
committerGravatar Adam Chlipala <adamc@hcoop.net>2008-12-21 12:01:00 -0500
commit0a3abbb2250da6464e91566a1f275829158d3058 (patch)
tree6e44efd218647699174febb6c13df253cb6c582b /src
parent65428eeb2cba9807043188bfddf5fbfd1bf9296b (diff)
Switch to using dyn() function in JavaScript
Diffstat (limited to 'src')
-rw-r--r--src/monoize.sml14
1 files changed, 4 insertions, 10 deletions
diff --git a/src/monoize.sml b/src/monoize.sml
index a0a0df30..63d84d8c 100644
--- a/src/monoize.sml
+++ b/src/monoize.sml
@@ -1850,20 +1850,14 @@ fun monoExp (env, st, fm) (all as (e, loc)) =
| "dyn" =>
(case #1 attrs of
- (*L'.ERecord [("Signal", (L'.ESignalReturn e, _), _)] => (e, fm)
- | L'.ERecord [("Signal", (L'.EApp ((L'.EAbs (_, _, _, (L'.ESignalReturn (L'.ERel 0, _), _)), _),
+ (*L'.ERecord [("Signal", (L'.EApp ((L'.EAbs (_, _, _, (L'.ESignalReturn (L'.ERel 0, _), _)), _),
e), _), _)] => (e, fm) *)
L'.ERecord [("Signal", e, _)] =>
((L'.EStrcat
- ((L'.EPrim (Prim.String "<script type=\"text/javascript\">"), loc),
- (L'.EStrcat ((L'.EJavaScript (L'.Script,
- (L'.ELet ("signal", (L'.TSignal
- (L'.TFfi ("Basis", "string"), loc),
- loc),
- e,
- (L'.EWrite (L'.ERel 0, loc), loc)), loc)), loc),
- (L'.EPrim (Prim.String "</script>"), loc)), loc)), loc),
+ ((L'.EPrim (Prim.String "<script type=\"text/javascript\">dyn("), loc),
+ (L'.EStrcat ((L'.EJavaScript (L'.Script, e), loc),
+ (L'.EPrim (Prim.String ")</script>"), loc)), loc)), loc),
fm)
| _ => raise Fail "Monoize: Bad dyn attributes")