On Sat, 2005-03-05 at 00:25 +0100, Benjamin Franksen wrote: > > OK, I can see now that this makes sense syntactically. Still, it is > strange > that the class name is handled as if it were a type constructor.
Yes. It makes a weird sort of sense if you pretend type classes are actually type constructors and instance declarations are inhabited by types in a new "type class kind". Say we use the symbol 'C' for the kind of type class types. Then the usual single parameter type class constructors would have kind (* -> C) and multiparameter classes just have more arrows, al la (* -> * -> C) for 2 parameters. I can't decide if I like this idea or not. Does it have any validity in the associated type or category theories? _______________________________________________ Haskell mailing list Haskell@haskell.org http://www.haskell.org/mailman/listinfo/haskell