On 8 Jan 2009, at 23:59, Henning Thielemann wrote:
GHC accepts a class declaration like
class Monad (m Maybe) => C m where
...
without having any language extension switched on. But it isn't
Haskell 98, is it?
It is.
From Report:
========================
A class assertion has form qtycls tyvar, and indicates the membership
of the type tyvar in the class qtycls. A class identifier begins with
an uppercase letter. A context consists of zero or more class
assertions, and has the general form
( C1 u1, ..., Cn un )
where C1, ..., Cn are class identifiers, and each of the u1, ..., un
is either a type variable, or the application of type variable to one
or more types.
========================
"atype" is defined as
========================
atype -> gtycon
| tyvar
| ( type1 , ... , typek ) (tuple type, k>=2)
| [ type ] (list type)
| ( type ) (parenthesised constructor)
========================
Hugs 2005 also accepts this.
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe