[Haskell-cafe] Real World Haskell: confusion

George Pollard porges at porg.es
Tue Jan 13 18:39:54 EST 2009


On Tue, 2009-01-13 at 11:46 -0600, Derek Elkins wrote:
> No, it means exactly what you said it means.  People abuse it to mean
> the second sense.  Those people are wrong and there is already a term
> for that second sense, namely "partial application."  I really wish
> people would stop conflating these terms*, all it does is create
> confusion.
> 
> To Eugene: The suggested meaning of "curriable", namely "able to be
> curried," does not make sense.  curry takes an uncurried function to a
> curried form.
> 
> * A related annoyance is people who talk about languages "supporting
> currying and/or partial application."  Unless one means that the
> language supports higher order functions at all by that, it doesn't make
> any sense.  Haskell has no "support" for currying or partial
> application.  The fact that most functions are in curried form in
> Haskell is merely a convention (with, admittedly strong -social-
> ramifications.)  The only way one could say Haskell "supports" currying
> is that it has a lightweight notation for nested lambdas.

I’d almost say that there is no such thing as partial application in
Haskell. Since every:

> f ∷ a → b → c

is really:

> f ∷ a → (b → c)

there are no multiple arguments to be applied ‘partially’, only a
function ‘f’ that takes one argument and gives you another, anonymous,
function.

- George
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: This is a digitally signed message part
Url : http://www.haskell.org/pipermail/haskell-cafe/attachments/20090114/5e741326/attachment.bin


More information about the Haskell-Cafe mailing list