Mercurial > urweb
comparison 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 |
comparison
equal
deleted
inserted
replaced
386:ef43ed6cd1de | 387:7abb28e9d51f |
---|---|
52 | EFfi _ => false | 52 | EFfi _ => false |
53 | EFfiApp _ => false | 53 | EFfiApp _ => false |
54 | EApp ((EFfi _, _), _) => false | 54 | EApp ((EFfi _, _), _) => false |
55 | EApp _ => true | 55 | EApp _ => true |
56 | 56 |
57 | EUnop (_, e) => impure e | |
58 | EBinop (_, e1, e2) => impure e1 orelse impure e2 | |
59 | |
57 | ERecord xes => List.exists (fn (_, e, _) => impure e) xes | 60 | ERecord xes => List.exists (fn (_, e, _) => impure e) xes |
58 | EField (e, _) => impure e | 61 | EField (e, _) => impure e |
59 | 62 |
60 | ECase (e, pes, _) => impure e orelse List.exists (fn (_, e) => impure e) pes | 63 | ECase (e, pes, _) => impure e orelse List.exists (fn (_, e) => impure e) pes |
61 | 64 |
230 | EFfi _ => [] | 233 | EFfi _ => [] |
231 | EFfiApp (_, _, es) => List.concat (map (summarize d) es) | 234 | EFfiApp (_, _, es) => List.concat (map (summarize d) es) |
232 | EApp ((EFfi _, _), e) => summarize d e | 235 | EApp ((EFfi _, _), e) => summarize d e |
233 | EApp _ => [Unsure] | 236 | EApp _ => [Unsure] |
234 | EAbs _ => [] | 237 | EAbs _ => [] |
238 | |
239 | EUnop (_, e) => summarize d e | |
240 | EBinop (_, e1, e2) => summarize d e1 @ summarize d e2 | |
235 | 241 |
236 | ERecord xets => List.concat (map (summarize d o #2) xets) | 242 | ERecord xets => List.concat (map (summarize d o #2) xets) |
237 | EField (e, _) => summarize d e | 243 | EField (e, _) => summarize d e |
238 | 244 |
239 | ECase (e, pes, _) => | 245 | ECase (e, pes, _) => |