[Haskell] Higher kind type inference paper

Stefan Holdermans stefan at cs.uu.nl
Thu Dec 7 06:48:48 EST 2006


Edsko,

> Are there any papers that describe how higher kind type inference  
> (and I
> really mean higher kind, not higher rank) is done?

I'm not aware of any specific papers (but maybe someone else can jump  
in, here?), but as long as your kind language is simple enough, say

   k, v ::= *
         |  k -> v ,

you can apply the well-known techniques from type inference. Assuming  
your kind system does not incorporate kind polymorphism, you could  
just replace generalization by defaulting; so, instead of, for instance

   gen((a -> *) -> a -> b -> *) = forall k v. (k -> *) -> k -> v -> * ,

you get

   def((a -> *) -> a -> b -> *) = (* -> *) -> * -> * -> * .

HTH,

   Stefan


More information about the Haskell mailing list