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

Reply via email to