Mercurial > urweb
diff src/mono_reduce.sml @ 387:7abb28e9d51f
Binops; equality tested on int; lame 404 substitute
author | Adam Chlipala <adamc@hcoop.net> |
---|---|
date | Tue, 21 Oct 2008 09:50:19 -0400 |
parents | 389399d65331 |
children | ab3177746c78 |
line wrap: on
line diff
--- a/src/mono_reduce.sml Sun Oct 19 16:49:09 2008 -0400 +++ b/src/mono_reduce.sml Tue Oct 21 09:50:19 2008 -0400 @@ -54,6 +54,9 @@ | EApp ((EFfi _, _), _) => false | EApp _ => true + | EUnop (_, e) => impure e + | EBinop (_, e1, e2) => impure e1 orelse impure e2 + | ERecord xes => List.exists (fn (_, e, _) => impure e) xes | EField (e, _) => impure e @@ -233,6 +236,9 @@ | EApp _ => [Unsure] | EAbs _ => [] + | EUnop (_, e) => summarize d e + | EBinop (_, e1, e2) => summarize d e1 @ summarize d e2 + | ERecord xets => List.concat (map (summarize d o #2) xets) | EField (e, _) => summarize d e