The Reduction Engine is now compiled with Java 1.6 so it should work in more browsers. I haven't tested in other browsers, though, so I can't promise anything.
- Normalization: type 'N' to normalize a whole subtree by performing all available reductions in outside-to-inside order (lazy evaluation).
- Alt-click on a node to use it to fill the current hole.
- Bury and collect work more thoroughly.
Example of normalization
ctrl-click to insert a root:
Above is a function that adds one to a number. (Since addition is commutative, we could have written it the other way (
1 + _ rather than
_ + 1) and it would have been shorter).
Now hit N to reduce to normal form:
This gets us to point-free form, a pure SK representation of the function. Not very friendly to look at; the lambda form is easier for humans. But the computer has no trouble evaluating this:
And there's the answer.