comparison src/mono_reduce.sml @ 2050:04d7d563a36f

MonoReduce bug involving 'error'
author Adam Chlipala <adam@chlipala.net>
date Wed, 06 Aug 2014 09:50:02 -0400
parents 4d64af730e35
children 1b76ae703cbb
comparison
equal deleted inserted replaced
2049:459ccbf8cd08 2050:04d7d563a36f
683 EAbs ("y", dom, result, 683 EAbs ("y", dom, result,
684 (ECase (liftExpInExp 0 e', 684 (ECase (liftExpInExp 0 e',
685 map (fn (p, (EAbs (_, _, _, e), _)) => 685 map (fn (p, (EAbs (_, _, _, e), _)) =>
686 (p, swapExpVarsPat (0, patBinds p) e) 686 (p, swapExpVarsPat (0, patBinds p) e)
687 | (p, (EError (e, (TFun (_, t), _)), loc)) => 687 | (p, (EError (e, (TFun (_, t), _)), loc)) =>
688 (p, (EError (e, t), loc)) 688 (p, (EError (liftExpInExp (patBinds p) e, t), loc))
689 | (p, e) => 689 | (p, e) =>
690 (p, (EApp (liftExpInExp (patBinds p) e, 690 (p, (EApp (liftExpInExp (patBinds p) e,
691 (ERel (patBinds p), loc)), loc))) 691 (ERel (patBinds p), loc)), loc)))
692 pes, 692 pes,
693 {disc = disc, result = result}), loc)) 693 {disc = disc, result = result}), loc))