How can I write code using FP

Alejandro Dubrovsky dubrovsky at
Wed Jan 17 05:10:31 CET 2007

kernel1983 wrote:

> In Function Program?Language can use like this:
> define a function:
> f = lambda x,y:x,y
> then we use f to define another function:
> f2 = f(1)
> the f2 should equal to:
> f2=lambda y:1,y
> we should be able call f2 with one parameter:f2(2)
> just return 1,2
> but how can I implement the characteristic in Python??I think it could
> do like this but HOW-TO?

If you are using python 2.5, then you can use functools.partial, otherwise
lookup one of the many curry implementations, like the ones found in

One found in the comments of that page by Scott David Daniels:

def curry(*args, **kwargs):
    function, args = args[0], args[1:]
    def result(*rest, **kwrest):
        combined = kwargs.copy()
        return function(*args + rest, **combined)
    return result

so, in your case:

f = lambda x,y: (x,y)
f2 = functools.partial(f,1)
>>> f2(3)

More information about the Python-list mailing list