diff src/elaborate.sml @ 256:e52243e20858

'eq' type class
author Adam Chlipala <adamc@hcoop.net>
date Sun, 31 Aug 2008 15:15:41 -0400
parents 69d337f186eb
children 42dfb0d61cf0
line wrap: on
line diff
--- a/src/elaborate.sml	Sun Aug 31 15:04:10 2008 -0400
+++ b/src/elaborate.sml	Sun Aug 31 15:15:41 2008 -0400
@@ -1584,11 +1584,12 @@
                                         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