The Haskell 98 Report says kind inference is to be done over dependency
groups with polymorphic kinds defaulted to *, and hence the following
example (from 4.6) is illegal:
data Tree a = Leaf | Fork (Tree a) (Tree a)
type TreeList = Tree []
GHC 6.4 seems to perform kind inference across all the data, newtype,
type and class declarations of a module before defaulting, and so accepts
the above. An improvement, I think, but unadvertised. Was it intentional?
_______________________________________________
Glasgow-haskell-users mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users