comparison src/jscomp.sml @ 1176:51e596feec37

Tone down Reduce and compensate with a new push-lambda-inside-case rule in MonoOpt; expand more Basis synonyms in Monoize
author Adam Chlipala <adamc@hcoop.net>
date Tue, 02 Mar 2010 16:00:48 -0500
parents 7a31e0cf25e9
children 26fed2c4f5be
comparison
equal deleted inserted replaced
1175:79f487f51d9f 1176:51e596feec37
443 3) 443 3)
444 in 444 in
445 case p of 445 case p of
446 Prim.String s => 446 Prim.String s =>
447 str ("\"" ^ String.translate jsChar s ^ "\"") 447 str ("\"" ^ String.translate jsChar s ^ "\"")
448 | Prim.Char ch => str ("'" ^ jsChar ch ^ "'") 448 | Prim.Char ch => str ("\"" ^ jsChar ch ^ "\"")
449 | _ => str (Prim.toString p) 449 | _ => str (Prim.toString p)
450 end 450 end
451 451
452 fun jsPat (p, _) = 452 fun jsPat (p, _) =
453 case p of 453 case p of
1171 end 1171 end
1172 1172
1173 | EJavaScript (m, e') => 1173 | EJavaScript (m, e') =>
1174 (foundJavaScript := true; 1174 (foundJavaScript := true;
1175 jsExp m outer (e', st) 1175 jsExp m outer (e', st)
1176 handle CantEmbed _ => (e, st)) 1176 handle CantEmbed t => ((*Print.preface ("Can't embed", MonoPrint.p_typ MonoEnv.empty t);*)
1177 (e, st)))
1177 1178
1178 | ESignalReturn e => 1179 | ESignalReturn e =>
1179 let 1180 let
1180 val (e, st) = exp outer (e, st) 1181 val (e, st) = exp outer (e, st)
1181 in 1182 in