
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