summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar Adam Chlipala <adamc@hcoop.net>2008-06-29 11:20:34 -0400
committerGravatar Adam Chlipala <adamc@hcoop.net>2008-06-29 11:20:34 -0400
commit83e134391f20103fb2ce74caebcefbc408ce9ee6 (patch)
tree309c58ca5d14d872dc666ea0b8f5d795ade1f431 /src
parentc8f3f6b28d235722dc56a4df73e43e802bdbd67d (diff)
More hardcore unification
Diffstat (limited to 'src')
-rw-r--r--src/elaborate.sml7
1 files changed, 2 insertions, 5 deletions
diff --git a/src/elaborate.sml b/src/elaborate.sml
index e9d8d925..7d246fa0 100644
--- a/src/elaborate.sml
+++ b/src/elaborate.sml
@@ -563,11 +563,8 @@ and unifySummaries env (k, s1 : record_summary, s2 : record_summary) =
end
val (fs1, fs2) = eatMatching (fn ((x1, c1), (x2, c2)) =>
- if consEq env (x1, x2) then
- (unifyCons env c1 c2;
- true)
- else
- false) (#fields s1, #fields s2)
+ consEq env (c1, c2) andalso consEq env (x1, x2))
+ (#fields s1, #fields s2)
(*val () = eprefaces "Summaries2" [("#1", p_summary env {fields = fs1, unifs = #unifs s1, others = #others s1}),
("#2", p_summary env {fields = fs2, unifs = #unifs s2, others = #others s2})]*)
val (unifs1, unifs2) = eatMatching (fn ((_, r1), (_, r2)) => r1 = r2) (#unifs s1, #unifs s2)