|
|
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
Haskell-Cafe@xxxxxxxxxxx
http://www.haskell.org/mailman/listinfo/haskell-cafe
|
|