comparison src/elaborate.sml @ 1742:fca4a6d05ac1

More diagnostic information about some type class resolution failures
author Adam Chlipala <adam@chlipala.net>
date Fri, 04 May 2012 10:33:04 -0400
parents 1a35e75b6967
children 6fcce0592178
comparison
equal deleted inserted replaced
1741:d6e233db97c8 1742:fca4a6d05ac1
4674 eprefaces' [("s1", p_summary env (normalizeRecordSummary env s1)), 4674 eprefaces' [("s1", p_summary env (normalizeRecordSummary env s1)),
4675 ("s2", p_summary env (normalizeRecordSummary env s2))]) 4675 ("s2", p_summary env (normalizeRecordSummary env s2))])
4676 (!delayedUnifs);*) 4676 (!delayedUnifs);*)
4677 end 4677 end
4678 | TypeClass (env, c, r, loc) => 4678 | TypeClass (env, c, r, loc) =>
4679 expError env (Unresolvable (loc, c))) 4679 let
4680 val c = normClassKey env c
4681 in
4682 case resolveClass env c of
4683 SOME _ => raise Fail "Type class resolution succeeded unexpectedly"
4684 | NONE => expError env (Unresolvable (loc, c))
4685 end)
4680 gs) 4686 gs)
4681 end 4687 end
4682 in 4688 in
4683 solver gs 4689 solver gs
4684 end; 4690 end;