How do I dynamically create functions without lambda?

Steven D'Aprano steve at REMOVETHIScyber.com.au
Sat Jan 28 07:02:35 EST 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?



-- 
Steven.




More information about the Python-list mailing list