Mercurial > urweb
comparison src/elaborate.sml @ 1305:a6fc03d28170
Fix infinite looping bug in Great Unification Fix
author | Adam Chlipala <adam@chlipala.net> |
---|---|
date | Sun, 10 Oct 2010 15:54:51 -0400 |
parents | f0afe61a6f8b |
children | 3a845f2ce9e9 |
comparison
equal
deleted
inserted
replaced
1304:f0afe61a6f8b | 1305:a6fc03d28170 |
---|---|
1057 else if nl1 = 0 then | 1057 else if nl1 = 0 then |
1058 (unifyKinds env k1 k2; | 1058 (unifyKinds env k1 k2; |
1059 r1 := SOME c2All) | 1059 r1 := SOME c2All) |
1060 else if nl2 = 0 then | 1060 else if nl2 = 0 then |
1061 (unifyKinds env k1 k2; | 1061 (unifyKinds env k1 k2; |
1062 r2 := SOME c2All) | 1062 r2 := SOME c1All) |
1063 else | 1063 else |
1064 err (fn _ => TooLifty (loc1, loc2)) | 1064 err (fn _ => TooLifty (loc1, loc2)) |
1065 | 1065 |
1066 | (L'.CUnif (0, _, _, _, r), _) => | 1066 | (L'.CUnif (0, _, _, _, r), _) => |
1067 if occursCon r c2All then | 1067 if occursCon r c2All then |