comparison 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
comparison
equal deleted inserted replaced
333:c655eddc3795 334:9601c717d2f3
291 initial = (ERecord [], loc), 291 initial = (ERecord [], loc),
292 body = (optExp (EWrite e', loc), loc)} 292 body = (optExp (EWrite e', loc), loc)}
293 else 293 else
294 e 294 e
295 295
296 | EWrite (EQuery {exps, tables, state, query,
297 initial = (EPrim (Prim.String ""), _),
298 body = (EStrcat ((ERel 0, _), e'), _)}, loc) =>
299 EQuery {exps = exps, tables = tables, query = query,
300 state = (TRecord [], loc),
301 initial = (ERecord [], loc),
302 body = (optExp (EWrite e', loc), loc)}
303
296 | _ => e 304 | _ => e
297 305
298 and optExp e = #1 (U.Exp.map {typ = typ, exp = exp} e) 306 and optExp e = #1 (U.Exp.map {typ = typ, exp = exp} e)
299 307
300 val optimize = U.File.map {typ = typ, exp = exp, decl = decl} 308 val optimize = U.File.map {typ = typ, exp = exp, decl = decl}