[Python-Dev] PEP 309, function currying

Peter Harris scav at blueyonder.co.uk
Sat Feb 21 12:39:15 EST 2004


I've updated PEP309 a little, since someone sent me a better implementation.

I haven't mentioned in the latest version the recent objection by Dave Abrahams that:

   Several languages have misused the term "curry" this way

mostly on the grounds that the main language using curry that way is English :)

The first Google result I found that mentioned function currying was this:
[ http://www.engr.uconn.edu/~jeffm/Papers/curry.html ] Function Currying in Scheme

I'll quote from the abstract:
   Function currying is the process of partially, or incrementally, supplying arguments
   to a function.  Curried functions are delayed functions expecting the remainder of the
   arguments to be supplied.  Once all the arguments are supplied, the function evaluates normally.

I haven't the time for an exhausive statistical and linguistic analysis. My vote goes for the
prevalent definition of currying that is actually a useful functional programming abstraction,
i.e. the one described above.

Anyway, this is my last request for flames about the presentation and content of the PEP itself
before I post a full draft of the proposed 'functional' module.

Peter Harris

More information about the Python-Dev mailing list