[Haskell-cafe] Re: Function Type Calculation (Take 2)
byorgey at gmail.com
Fri May 2 11:45:21 EDT 2008
> f :: a = h = (e -> d -> c)
> x b = d
> No. x :: b = d (a typo?)
> Paul: What's wrong with x being of type b and of type d?
> Could you perhaps explain the error please?
Nothing's wrong, you just forgot a ::, that is, you wrote x b = d instead
of x :: b = d.
> Don't forget also that
> funk :: a -> b -> c = h -> e,
> which means that e = b -> c
> Paul: is that something to do with partial application?
> (funk f) is a partially applied function, correct? Again an explanation
> would be appreciated.
It's because function arrows associate to the right, so a -> b -> c is
really shorthand for (a -> (b -> c)). If (a -> (b -> c)) = h -> e, then a =
h and (b -> c) = e.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Haskell-Cafe