On Thu, Oct 13, 2005 at 10:18:24AM -0400, Jan-Willem Maessen wrote: > >* incidental but not earth-shattering benefits include being able to > > declare an instance for a class and all its superclasses at once, > > smarter defaults when you are combining related classes, and much > > nicer type signatures by being able to create your own aliases for > > common combinations of classes. > > > > It seems to me this is a simpler extension here which might serve at > least as a conceptual stepping-stone to full class aliases---the > ability to declare an instance for a class and all its superclasses > at once. Given that ability, class aliases actually look like a > relatively simple extension.
Yeah, see my response to SPJ for why this doesn't quite solve all the problems mentioned. the gist of the main one is how do you control which instances you are creating? surely you don't want someone declaring an instance of Num to fill in Eq and Show with defaults (bottom and a different kind of bottom respectivly), but there are often cases where you _do_ want the defaults. if you only have it fill in non-existing instances then importing a module could silently change the behavior of code as it might bring in an instance for something you wanted to use the default methods for. All in all, it seems like a can of worms and implementing full class aliases is of roughly the same amount of work. there are a few other issues mentioned in my other reply. > > One final thing which would be nice is the ability to define > instances of superclass methods in a subclass declaration. But this > takes things in a different direction entirely. I am not sure what you mean by this? -- John Meacham - ⑆repetae.net⑆john⑈ _______________________________________________ Haskell mailing list Haskell@haskell.org http://www.haskell.org/mailman/listinfo/haskell