Mercurial > urweb
comparison src/mono_reduce.sml @ 489:463dad880470
Ignore UseRel effects in [let] expansions
author | Adam Chlipala <adamc@hcoop.net> |
---|---|
date | Tue, 11 Nov 2008 15:32:10 -0500 |
parents | 2280193bf298 |
children | 74800be65591 |
comparison
equal
deleted
inserted
replaced
488:5521bb0b4014 | 489:463dad880470 |
---|---|
423 | _ => doSub () | 423 | _ => doSub () |
424 in | 424 in |
425 if impure e' then | 425 if impure e' then |
426 let | 426 let |
427 val effs_e' = summarize 0 e' | 427 val effs_e' = summarize 0 e' |
428 val effs_e' = List.filter (fn x => x <> UseRel) effs_e' | |
428 val effs_b = summarize 0 b | 429 val effs_b = summarize 0 b |
429 | 430 |
430 (*val () = Print.prefaces "Try" | 431 (*val () = Print.prefaces "Try" |
431 [("e", MonoPrint.p_exp env (e, ErrorMsg.dummySpan)), | 432 [("e", MonoPrint.p_exp env (e, ErrorMsg.dummySpan)), |
432 ("e'", p_events effs_e'), | 433 ("e'", p_events effs_e'), |
433 ("b", p_events effs_b)]*) | 434 ("b", p_events effs_b)]*) |
434 | 435 |
435 fun does eff = List.exists (fn eff' => eff' = eff) effs_e' | 436 fun does eff = List.exists (fn eff' => eff' = eff) effs_e' |
436 val writesPage = does WritePage | 437 val writesPage = does WritePage |
437 val readsDb = does ReadDb | 438 val readsDb = does ReadDb |
438 val writesDb = does WriteDb | 439 val writesDb = does WriteDb |