How do I dynamically create functions without lambda?

Steven D'Aprano steve at
Sat Jan 28 13:02:35 CET 2006

On Sat, 28 Jan 2006 00:13:28 -0800, Kay Schluehr wrote:

[snip lambda calculus stuff]

> In Python you can write:
> Y = lambda g: (lambda f: g(lambda arg: f(f)(arg))) (lambda f: g(lambda
> arg: f(f)(arg)))
> This serves the purpose. Try Y(F) and see.

Is any of this stuff maintainable in the real world of IT, where
most programmers don't have computer science degrees? You come along six
months after the project was finished to maintain this code and discover
that the whiz-kid lambda calculus guy never commented anything because
that would detract from the elegance of his one liners; what happens next?


More information about the Python-list mailing list