class alias Foo a => Foo a = Bar a where ...
Has a defined (if not very useful) meaning with class aliases, but is
really odd if you consider 'Foo a' a "superclass". So, I think the
following terminology should be used:
Context of --+
alias | The alias -+ +--- The expansion of the alias
| | |
v v v
class alias (S1 a .. Sn a) => A a = (C1 a ... Cn a) where
fd1 = ....
....
fdn = ....
^
+---- The defaults of the alias
Should all of the arguments of the Ci be the same type variable `a' as in
the alias A a or can they be other types as well, like e.g. C1 [a] or C2
Int?
Tom
--
Tom Schrijvers
Department of Computer Science
K.U. Leuven
Celestijnenlaan 200A
B-3001 Heverlee
Belgium
tel: +32 16 327544
e-mail: [EMAIL PROTECTED]
url: http://www.cs.kuleuven.be/~toms/
_______________________________________________
Haskell-prime mailing list
Haskell-prime@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-prime