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