[Haskell-beginners] :kind (->) - What do the question marks imply?

Brent Yorgey byorgey at seas.upenn.edu
Thu Mar 24 17:46:06 CET 2011


On Thu, Mar 24, 2011 at 12:21:57PM -0400, Amitava Shee wrote:
> Hello Haskell gurus,
> 
> I am trying to understand "kind"
> 
> Prelude> :k Maybe
> Maybe :: * -> *
> Prelude> :k (->)
> (->) :: ?? -> ? -> *
> 
> What are the question marks? Why are they different from *? 

I forget the precise details, but they are artifacts of GHC's
internals.  They have something to do with strictness and/or
unboxing.  You should really just think of them as if they were *.

> How is this
> related to rank-2 polymorphism?

It isn't, as far as I know.

-Brent



More information about the Beginners mailing list