Currying

There is a discussion regarding currying in JavaScript in HN. Currying, or partial applicaiton is an important concept in functional programming. According to Wikipedia,

In mathematics and computer science, partial application is the technique of transforming a function that takes multiple arguments (or an n-tuple of arguments) in such a way that it can be called as a chain of functions each with a single argument.

For example, given a function

f (x,y) = y / x

then the function

g (x) = (\y -> f (x,y))

is a curried version of f.

It is trivial to implement currying in Python using functools.partial.