comparison src/reduce.sml @ 1314:6c2e565adca6

Fixes for nasty bugs in Reduce and Especialize
author Adam Chlipala <adam@chlipala.net>
date Tue, 19 Oct 2010 17:54:49 -0400
parents b4480a56cab7
children 75d77fbe7c94
comparison
equal deleted inserted replaced
1313:0bf73c3e4563 1314:6c2e565adca6
656 val t = con env t 656 val t = con env t
657 in 657 in
658 if ESpecialize.functionInside t then 658 if ESpecialize.functionInside t then
659 exp (KnownE e1 :: env) e2 659 exp (KnownE e1 :: env) e2
660 else 660 else
661 (ELet (x, con env t, exp env e1, exp (UnknownE :: env) e2), loc) 661 (ELet (x, t, exp env e1, exp (UnknownE :: env) e2), loc)
662 end 662 end
663 663
664 | EServerCall (n, es, t) => (EServerCall (n, map (exp env) es, con env t), loc) 664 | EServerCall (n, es, t) => (EServerCall (n, map (exp env) es, con env t), loc)
665 in 665 in
666 (*if dangling (edepth' (deKnown env)) r then 666 (*if dangling (edepth' (deKnown env)) r then