kind inference
Ross Paterson
ross at soi.city.ac.uk
Thu Nov 17 06:30:34 EST 2005
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?
More information about the Glasgow-haskell-users
mailing list