Fri Jan 30 07:27:38 PST 2009 [email protected]
* Fix Trac #2985: generating superclasses and recursive dictionaries
Ignore-this: 921ab14e850085ddbe545b078e02120b
The Note [Recursive instances and superclases] explains the subtle
issues to do with generating the bindings for superclasses when
we compile an instance declaration, at least if we want to do the
clever "recursive superclass" idea from the SYB3 paper.
The old implementation of tcSimplifySuperClasses stumbled when
type equalities entered the picture (details in the Note); this
patch fixes the problem using a slightly hacky trick. When we
re-engineer the constraint solver we'll want to keep an eye on
this.
Probably worth merging to the 6.10 branch.
M ./compiler/typecheck/TcRnTypes.lhs -1 +11
M ./compiler/typecheck/TcSimplify.lhs -26 +42
View patch online:
http://darcs.haskell.org/ghc-6.10/ghc/_darcs/patches/20090130152738-1287e-e677b79d773794b9de63bb9282d44fd770d7f498.gz
_______________________________________________
Cvs-ghc mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/cvs-ghc