Hi Ian,

I suggest saying something along these lines in the release notes:

* Kind defaulting in data and type arguments

The kinds of type arguments to data and type declarations is now defaulted
to `*` in case no kind signature is given. This is in line with the Haskell
Report (section 4.6). For instance, in GHC 7.2 the following code was
accepted:

    data T f = T

    class C a where
      t :: f a -> T f

In GHC 7.4 it is correctly rejected. To recover the old behavior, a kind
signature is necessary:

    data T (f :: * -> *) = T

The same applies to arguments of data and type family declarations.

(Alternatively, enabling -XPolyKinds will make the datatype `T`
kind-polymorphic, allowing kind checking to succeed in the method `t`.)


Some old code will break, so it's good if we warn people in advance. Feel
free to edit the text to fit the notes.


Cheers,
Pedro
_______________________________________________
Cvs-ghc mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/cvs-ghc

Reply via email to