summaryrefslogtreecommitdiff
path: root/src/elaborate.sml
diff options
context:
space:
mode:
authorGravatar Adam Chlipala <adamc@hcoop.net>2008-08-31 15:15:41 -0400
committerGravatar Adam Chlipala <adamc@hcoop.net>2008-08-31 15:15:41 -0400
commit6a144b5f5a7e85a02465aa25a19c3b5686e062cb (patch)
tree9b8ec9f45e09d619e326c40706e38599a4ed9851 /src/elaborate.sml
parent0ca7aad45b1581ab86d136aaf7829418e093bb24 (diff)
'eq' type class
Diffstat (limited to 'src/elaborate.sml')
-rw-r--r--src/elaborate.sml5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/elaborate.sml b/src/elaborate.sml
index 9fa22026..27b3e3fe 100644
--- a/src/elaborate.sml
+++ b/src/elaborate.sml
@@ -1584,11 +1584,12 @@ fun elabExp (env, denv) (eAll as (e, loc)) =
checkKind env t' tk ktype;
(t', gs)
end
- val (e', et, gs2) = elabExp (E.pushERel env x t', denv) e
+ val (dom, gs2) = normClassConstraint (env, denv) t'
+ val (e', et, gs3) = elabExp (E.pushERel env x dom, denv) e
in
((L'.EAbs (x, t', et, e'), loc),
(L'.TFun (t', et), loc),
- enD gs1 @ gs2)
+ enD gs1 @ enD gs2 @ gs3)
end
| L.ECApp (e, c) =>
let