comparison src/elaborate.sml @ 839:b2413e4dd109

List library additions; fix another substructure unification bug
author Adam Chlipala <adamc@hcoop.net>
date Sat, 06 Jun 2009 14:09:30 -0400
parents 5154a047c6bc
children 74a1e3bdf430
comparison
equal deleted inserted replaced
838:5154a047c6bc 839:b2413e4dd109
2635 let 2635 let
2636 val env = E.pushCNamedAs env x n2 k2 (SOME c2) 2636 val env = E.pushCNamedAs env x n2 k2 (SOME c2)
2637 val env = if n1 = n2 then 2637 val env = if n1 = n2 then
2638 env 2638 env
2639 else 2639 else
2640 E.pushCNamedAs env x n1 k1 (SOME c1) 2640 (cparts (n2, n1);
2641 E.pushCNamedAs env x n1 k1 (SOME c1))
2641 in 2642 in
2642 SOME env 2643 SOME env
2643 end 2644 end
2644 in 2645 in
2645 (unifyCons env c1 c2; 2646 (unifyCons env c1 c2;
2892 let 2893 let
2893 val env = E.pushCNamedAs env x n2 k2 (SOME c2) 2894 val env = E.pushCNamedAs env x n2 k2 (SOME c2)
2894 val env = if n1 = n2 then 2895 val env = if n1 = n2 then
2895 env 2896 env
2896 else 2897 else
2897 E.pushCNamedAs env x n1 k2 (SOME c1) 2898 (cparts (n2, n1);
2899 E.pushCNamedAs env x n1 k2 (SOME c1))
2898 in 2900 in
2899 SOME env 2901 SOME env
2900 end 2902 end
2901 in 2903 in
2902 (unifyCons env c1 c2; 2904 (unifyCons env c1 c2;