PEP 309 (Partial Function Application) Idea

Chris Perkins chrisperkins99 at gmail.com
Fri Mar 11 11:02:05 EST 2005


Random idea of the day: How about having syntax support for
currying/partial function application, like this:

func(..., a, b)
func(a, ..., b)
func(a, b, ...)

That is:
1) Make an Ellipsis literal legal syntax in an argument list.
2) Have the compiler recognize the Ellipsis literal and transform the
function call into a curried/parially applied function.

So the compiler would essentially do something like this:

func(a, ...) ==> curry(func, a)
func(..., a) ==> rightcurry(func, a)
func(a, ..., b) ==> rightcurry(curry(func,a), b)

I haven't though this through much, and I'm sure there are issues, but
I do like the way it looks.  The "..." really stands out as saying
"something is omitted here".


Chris Perkins



More information about the Python-list mailing list