[Python-Dev] Re: PEP 309 misuses the term "currying"

Gareth McCaughan gmccaughan at synaptics-uk.com
Fri Feb 20 09:14:49 EST 2004


On Friday 2004-02-20 12:32, David Abrahams wrote:

[I said:]
> > 1. "Turning a function that takes a single tuple argument into
> >    one that takes multiple arguments."
> >
> > 2. "Turning a function that takes it arguments all at once into
> >    one that takes them one at a time."
> >
> > According to #1, what PEP309 calls currying is no such thing.
> > According to #2, what PEP309 calls currying *is* currying.
> >
> > It looks to me as if the second usage is the dominant one, in
> > which case I think PEP309 is fine.
>
> I don't see how you can make that claim.  Curry is a one argument
> function that accepts a function and returns a new function; I hope
> we can agree on that.  If this were currying according to your
> description, the result would always be callable with a single
> argument (yielding, perhaps, another function object).

Yow. I've just read PEP309, which (to my shame) I hadn't
done when reading your original comment. I thought I could
tell from your comments how PEP309 was using the term
"currying".

I was completely wrong; I misunderstood what you were
protesting about, and I now agree: PEP309 misuses the term
"curry".

> Even if we ignore the syntax issues I brought up earlier, this doesn't
> appear to resemble what you've been describing at all.

No, you're right. Oops.

-- 
g





More information about the Python-Dev mailing list