Friday, April 12, 2013

Reduction Engine in Java 1.6, new features

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.

(The Reduction Engine)

New features:

  • 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.

Bug fixes:

  • 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.

No comments:

Post a Comment