At 16:46 +0200 1999/06/02, Sven Panne wrote:
>> [...] Then together with the identity I, +, * and ^ can be written
>> out to be a primitive set for the lambda theory. That is, all lambda
>> expressions can be generated from these symbols.
>
>Impressive! %-) Hmmm, I just thought about the possible directions
>of this discussion if I had written the more general
>
> (.|) :: Functor f => f a -> (a -> b) -> f b
> (.|) = flip fmap
>
>instead... :-}
I should caution that I had to write out the operators I, +, *, and ^ in a
special way (which I do not immediately recall) in order to turn them into
a primitive set of the lambda calculus. Also, if one should admit constant
functions (which Church does not), one must add an operator O, which I
recall was
O = lambda a b. b
Then O(inc)(0) = 0, so it is probably the right one. Church's integer
functionals become extended to 0 by setting \bar 0 = O.
But it can be a spin-off for thoughts: A category is essentially an object
with I and *, and a functor is a map preserving those. So what about the
two other operations, + and ^ ?.
Hans Aberg
* Email: Hans Aberg <mailto:[EMAIL PROTECTED]>
* Home Page: <http://www.matematik.su.se/~haberg/>
* AMS member listing: <http://www.ams.org/cml/>