On Thu, 5 Apr 2001, Malcolm Wallace wrote:
And incidentally, nhc98 also supports this particular extension with this syntax. (Hbc supports it too, but with a slightly different syntax.)
A propos language extensions. I have a case where multiparameter classes with functional dependencies are essential. I'm developing a unified collection interface (this is about a fifth try, but it finally seems to look well). It would be great if that extension was standard some day. It's also very helpful to have arbitrary types in instance contexts, not only type variables (it's not the first time I need it). Unfortunately it implies -fallow-undecidable-instances in ghc. I assume that the fact that it's undecidable makes it a poor candidate for general acceptance. So if some great brain found how to extend the decidable area to cover some richer instance contexts... A third extension which is ocasionally useful is not present in any Haskell implementation. I would like to say instance (forall a. Seq (s a) a) => Foo (Bar s) It would allow to e.g. wrap my collections in Edison's interfaces, not only vice versa. -- Marcin 'Qrczak' Kowalczyk