summaryrefslogtreecommitdiff
path: root/src/mono_opt.sml
diff options
context:
space:
mode:
authorGravatar Adam Chlipala <adamc@hcoop.net>2008-09-13 19:49:53 -0400
committerGravatar Adam Chlipala <adamc@hcoop.net>2008-09-13 19:49:53 -0400
commit92865c5cf94bde77b7250450042e915a48e0025d (patch)
tree356d6e919b861559a016a13aeedc5a32fac63dd3 /src/mono_opt.sml
parenta5a647f670f8e2fa7749e29aee39e2511afb2a21 (diff)
queryX
Diffstat (limited to 'src/mono_opt.sml')
-rw-r--r--src/mono_opt.sml8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/mono_opt.sml b/src/mono_opt.sml
index 64eef7e3..997bb9be 100644
--- a/src/mono_opt.sml
+++ b/src/mono_opt.sml
@@ -293,6 +293,14 @@ fun exp e =
else
e
+ | EWrite (EQuery {exps, tables, state, query,
+ initial = (EPrim (Prim.String ""), _),
+ body = (EStrcat ((ERel 0, _), e'), _)}, loc) =>
+ EQuery {exps = exps, tables = tables, query = query,
+ state = (TRecord [], loc),
+ initial = (ERecord [], loc),
+ body = (optExp (EWrite e', loc), loc)}
+
| _ => e
and optExp e = #1 (U.Exp.map {typ = typ, exp = exp} e)