On Tue, 11 Oct 2011 04:33:43 +1100, Chris Angelico wrote:

>> The Church numeral for N is a function of two arguments which applies its
>> first argument N times to its second, i.e. (f^N)(x) = f(f(...(f(x))...)).
>>
> 
> Thanks - nice clear explanation. Appreciated. For an encore, can you
> give an example of where this is actually useful? It seems a pretty
> narrow utility.

It's useful insofar as it allows you to define "numbers" given nothing
other than abstraction and application, which are the only operations
available in the lambda calculus.

The particular formulation makes it easy to define addition, which is
just composition:

        (f^(M+N))(x) = (f^M)((f^N)(x))

I.e.:

        def church_add(a, b):
            return lambda f, x: a(f, b(f, x))

-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to