iota combinator

Nov 13, 2008 20:32

I haven't posted here in awhile. It has been brought to my attention that there are only 35 Google search results for "iota combinator". This needs to be corrected ( Read more... )

untagged

Leave a comment

Comments 82

history calcnerd256 November 29 2008, 17:45:23 UTC
Any discussion of the history of the combinator should go into this thread.

Reply

Re: history calcnerd256 November 29 2008, 17:46:00 UTC
The history of the iota combinator begins with the history of the lambda calculus.

Reply

Re: history calcnerd256 November 29 2008, 17:48:26 UTC
A linguist by the name of Chris Barker found that one can simplify the SKI combinator from two symbols (S and K) to just one: a function that takes a parameter, passes S to it, and then passes K to the result of that.

Reply


lemmas calcnerd256 November 29 2008, 17:49:23 UTC
Here is a thread to post any useful combinators built from trees of iota.

Reply

functional group calcnerd256 November 29 2008, 17:52:26 UTC
ι ι = I = λ x . x
ι I = Church's 0 = Church's false = λ f x . x
ι 0 = K = Church's true = λ x y . x
ι K = S = λ f g x . f x (g x)
ι S = λ x y . x y x
ι (ι S) = I

Reply

Re: functional group calcnerd256 November 29 2008, 17:56:01 UTC
∃ a cyclic group with the function ι that generates the following sequence of elements (and repeats):
I, 0, K, S, ιS

Reply

Re: functional group calcnerd256 November 29 2008, 17:56:53 UTC
note that although ι is not an element of the group, ιι does produce the first element

Reply


anonymous October 4 2012, 18:23:59 UTC
Should totally turn this into a rosetta code entry.

Scheme:

Haskell:

Ruby:

Python:

:D

Reply

calcnerd256 October 5 2012, 00:00:32 UTC
//Javascript:
function iota(x){
return x(
function S(f){
return function(g){
return function(y){
return f(y)(g(y))
};
};
}
)(
function K(y){
return function(){return y;};
}
);
}
//could be better: those closures are a nightmare to debug

Reply


Leave a comment

Up