Tag Archives: nulkukel

Nulkukel applied to something

UPDATE: see the nulkukel and the SKIworm at the updated chemSKI with tokens page.

John Tromp‘ nulkukel is the minimal SK expression for the Y combinator:

S S K (S (K (S S (S(S S K)))) K)

In the official chemSKI, we may try then Y I, which is

((((S S) K) ((S (K ((S S) (S ((S S) K))))) K)) I)

(which you input in the textarea “λSKI> mol”). Everything works as expected.

But then nulkukel applied to something, ie Y x, is:

((((S S) K) ((S (K ((S S) (S ((S S) K))))) K)) x)

Input this and after a while the reduction will stop for no apparent reason.

There is a bug in the official chemSKI.

Now is solved, but it is not yet shared.

With the bug solved, the nulkukel applied to something works and produces a gun of pairs application and S (as a fanout), just like it should.

Although very very slowly, ie by using lots of reductions.

A far more shorter, only two nodes chemSKI graph, does the same, namely

A input y x^S x output y

just like in chemlambda, mentioned many times, for example the chemlambda collection #259.

Will say more about the Y combinator in chemSKI, and about recursion, later.