# HG changeset patch # User Adam Chlipala # Date 1220190772 14400 # Node ID 98f551ddd54bd5139d0247e36cb322abadbe0bd3 # Parent b6b75e6e08983092eb238bdee46e3f479070500a Fix Core con comparison diff -r b6b75e6e0898 -r 98f551ddd54b src/core_util.sml --- a/src/core_util.sml Sun Aug 31 09:45:23 2008 -0400 +++ b/src/core_util.sml Sun Aug 31 09:52:52 2008 -0400 @@ -160,9 +160,15 @@ | (CRecord (k1, xvs1), CRecord (k2, xvs2)) => join (Kind.compare (k1, k2), - fn () => joinL (fn ((x1, v1), (x2, v2)) => - join (compare (x1, x2), - fn () => compare (v1, v2))) (xvs1, xvs2)) + fn () => + let + val sort = ListMergeSort.sort (fn ((x1, _), (x2, _)) => + compare (x1, x2) = GREATER) + in + joinL (fn ((x1, v1), (x2, v2)) => + join (compare (x1, x2), + fn () => compare (v1, v2))) (sort xvs1, sort xvs2) + end) | (CRecord _, _) => LESS | (_, CRecord _) => GREATER