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
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users

Reply via email to