From 2d7238252d0cd1165f74aea511a03b9899ca105b Mon Sep 17 00:00:00 2001 From: Adam Chlipala Date: Tue, 29 Jul 2014 14:38:50 -0400 Subject: Small tweak to ordering of unification rules, to support better record matching --- src/elaborate.sml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'src/elaborate.sml') diff --git a/src/elaborate.sml b/src/elaborate.sml index d492883f..5029ef4d 100644 --- a/src/elaborate.sml +++ b/src/elaborate.sml @@ -1220,6 +1220,11 @@ else err (fn _ => TooLifty (loc1, loc2)) + | (L'.CRecord _, _) => isRecord () + | (_, L'.CRecord _) => isRecord () + | (L'.CConcat _, _) => isRecord () + | (_, L'.CConcat _) => isRecord () + | (L'.CUnif (0, _, _, _, r as ref (L'.Unknown f)), _) => if occursCon r c2All then err COccursCheckFailed @@ -1262,11 +1267,6 @@ end handle CantSquish => err (fn _ => TooDeep)) - | (L'.CRecord _, _) => isRecord () - | (_, L'.CRecord _) => isRecord () - | (L'.CConcat _, _) => isRecord () - | (_, L'.CConcat _) => isRecord () - | (L'.CUnit, L'.CUnit) => () -- cgit v1.2.3