[Python-Dev] Re: PEP 309, function currying

Bob Ippolito bob at redivi.com
Mon Feb 23 19:10:02 EST 2004


On Feb 23, 2004, at 6:45 PM, Peter Harris wrote:

> Greg Ewing wrote:
>
>> But isn't that just as wrong as the first version? It still seems
>>
>> to be describing partial application, not currying as you defined
>> it above. Maybe it should say
>>
>>   Function currying is the process of transforming a function that
>>   takes n arguments into a function that takes one argument and
>>   returns another function (itself also curried, if n > 2) that
>>   takes the remaining n-1 arguments.
>>
>>
> Yes, that's currying alright, which PEP 309 does in no way describe.
> Hmm.
> OK, there is way too much imprecise thinking behind that PEP. Sorry.
>
> I did originally describe it as a closure in the first version, then
> someone corrected me about that too.  I'll give the wording some more
> thought, but the problem I have is that to be useful, the class or 
> function
> that implements it has to have a wieldy and clear name.
>
> Myself, I wouldn't like to use PartiallyApply(fn,*args,**kw).
>
> Quick unscientific name poll.  Who likes...
> * curry()

-1, if it does partial application and not currying

> * closure()

-1, this means something else (and more general) in Python

> * partial()

+1, reasonable to type, seems intuitive enough for someone familiar 
with the terminology

> * partial_apply()

+0, not english and too long :)  should be partially_apply or 
partial_application if it's going to be that long winded

> * delayed()

-1, implies something else to me (makes me think of async code, like a 
twisted deferred)

-bob
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 2357 bytes
Desc: not available
Url : http://mail.python.org/pipermail/python-dev/attachments/20040223/14e68c8d/smime.bin


More information about the Python-Dev mailing list