Mercurial > urweb
comparison src/mono_reduce.sml @ 253:7f6620853c36
Monoized a WHERE clause with a comparison
author | Adam Chlipala <adamc@hcoop.net> |
---|---|
date | Sun, 31 Aug 2008 14:27:01 -0400 |
parents | 7e9bd70ad3ce |
children | 40c33706d887 |
comparison
equal
deleted
inserted
replaced
252:7e9bd70ad3ce | 253:7f6620853c36 |
---|---|
179 let | 179 let |
180 val e' = (ELet (x2, t2, e1, | 180 val e' = (ELet (x2, t2, e1, |
181 (ELet (x1, t1, b1, | 181 (ELet (x1, t1, b1, |
182 liftExpInExp 1 b2), loc)), loc) | 182 liftExpInExp 1 b2), loc)), loc) |
183 in | 183 in |
184 Print.prefaces "ELet commute" [("e", MonoPrint.p_exp env (e, loc)), | 184 (*Print.prefaces "ELet commute" [("e", MonoPrint.p_exp env (e, loc)), |
185 ("e'", MonoPrint.p_exp env e')]; | 185 ("e'", MonoPrint.p_exp env e')];*) |
186 #1 (reduceExp env e') | 186 #1 (reduceExp env e') |
187 end | 187 end |
188 | EApp ((ELet (x, t, e, b), loc), e') => | 188 | EApp ((ELet (x, t, e, b), loc), e') => |
189 #1 (reduceExp env (ELet (x, t, e, | 189 #1 (reduceExp env (ELet (x, t, e, |
190 (EApp (b, liftExpInExp 0 e'), loc)), loc)) | 190 (EApp (b, liftExpInExp 0 e'), loc)), loc)) |