
The mathematical explanation behind "Y Combinator" function - python_kiss
http://en.wikipedia.org/wiki/Fixed_point_combinator
======
python_kiss
From wikipedia's article on Lambda calculus:

"..in other words, f must expand to g(f). This call to g will then expand to
the above factorial function and calculate down to another level of recursion.
In that expansion the function f will appear again, and will again expand to
g(f) and continue the recursion. This kind of function, where f = g(f), is
called a fixed-point of g, and it turns out that it can be implemented in the
lambda calculus using what is known as the paradoxical operator or fixed-point
operator and is represented as Y -- the Y combinator."

