diff src/mono_opt.sml @ 334:9601c717d2f3

queryX
author Adam Chlipala <adamc@hcoop.net>
date Sat, 13 Sep 2008 19:49:53 -0400
parents 41458a694575
children 5ccb1c6412e4
line wrap: on
line diff
--- a/src/mono_opt.sml	Sat Sep 13 14:58:57 2008 -0400
+++ b/src/mono_opt.sml	Sat Sep 13 19:49:53 2008 -0400
@@ -293,6 +293,14 @@
         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)