On Wed, 2009-01-14 at 12:39 +1300, George Pollard wrote: > 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.
Dan Piponi linked an LtU thread where I discussed exactly this issue. A slighly more direct link: http://lambda-the-ultimate.org/node/2266#comment-33620 In Haskell there is arguably a slight semantic difference, but, yes, there's not a big difference between application and partial application (in Haskell.) _______________________________________________ Haskell-Cafe mailing list [email protected] http://www.haskell.org/mailman/listinfo/haskell-cafe
