[Haskell-beginners] Type question
Brandon S. Allbery KF8NH
allbery at ece.cmu.edu
Mon Jan 5 17:53:21 EST 2009
On 2009 Jan 5, at 15:40, Paul Johnston wrote:
> Hi, I was playing around after getting the new O'Reilly book with
> lists and their operators!
> Not sure what the below actually means?
>
> Prelude> [] : []
> [[]]
> it :: [[a]]
>
> (Got :set +t on )
>
> I thought the first argument of ':' must be an element, so is the
> empty list an element of the same type of the contents of the empty
> list?
(:) :: a -> [a] -> [a]
In this case the first argument is an empty list (type forall a. [a])
and the second must therefore be an empty list of lists (type forall
a. [[a]]). Hence the result is also of type forall a. [[a]] (with all
the `a's unified).
--
brandon s. allbery [solaris,freebsd,perl,pugs,haskell] allbery at kf8nh.com
system administrator [openafs,heimdal,too many hats] allbery at ece.cmu.edu
electrical and computer engineering, carnegie mellon university KF8NH
More information about the Beginners
mailing list