Stepper
-------
Changes for v5.1:

Quite a bit of rackety, retabbing, refactoring. There's no longer a closure
table, but instead functions expand into applicable structures.  Cleanup of
unnecessary function arguments. Got rid of '2vals' idiom. Improved jump
to ... error messages.

Changes for v5.0.2:

Bug fixes, Big Bang working again. Define-struct in local not working.

Changes for v5.0.1:

None.

Changes for v5.0:

Bug fixes, computes all steps ahead of time (some time in last few revs)?

Changes for v4.2.5:

None.

Changes for v4.2.4:

Bug fixes.

Changes for v4.2.3:

Bug fixes, show first step as soon as it appears.

Changes for v4.2.2:

Minor bug fixes.

Changes for v4.2.1:

Minor bug fixes.

Changes for v4.2:

It's now possible to jump to the evaluation of a selected expression in
the stepper.

Changes for v4.1.5:

Minor bug fixes.

Changes for v4.1.4:

None.

Changes for v4.1.3:

Minor bug fixes.

Changes for v4.1.2:

None.

Changes for v4.1.1:

Check-expect now reduces to a boolean in the stepper. Also, this history file
now appears with the most recent entries at the top....

Changes for v4.1:

none.

Changes for v4.0.1:

none.

Changes for v4.0:

overhauled support for check-expect, check-within, check-error.

Changes for v372:

support for check-expect, check-within, and check-error

Changes for v371:

None.

Changes for v370:

Added "End" button to stepper interface.

Stepper supports "begin0".  Again, you'll never know it unless you use
the PLTSTEPPERUNSAFE environment variable.

There's a known bug with expressions of the form (let <bindings> (begin
...)). (It's displayed as (let () X) rather than (begin X).)

Changes for v361:

Bug fix for test cases

Changes for v360:

Stepper supports 'begin'.  You'll never know it unless you use the
PLTSTEPPERUNSAFE environment variable, though.

Changes for v351:

Minor bug fixes

Changes for v350:

None.

Changes for v300: 

Major changes.  The stepper now handles mutation, though it doesn't yet handle
'begin', so the advanced language is not defaultly steppable.  Enable stepping
for the advanced language using the PLTSTEPPERUNSAFE environment variable.

This change has also prompted an interface change; rather than splitting the
stepper window into three panes, there is just one pane, with a simple
left-right split between before & after.  The reason for this is that in the
presence of mutation, it's no longer the case that the "finished" expressions
never change, which means that they can't always be shared between the left and
right hand sides.

Changes for v209:

None.

Changes for v208:

minor bug fixes.

Changes for v207:

None.

Changes for v206p1:

None.

Changes for v206:

Stepper supports intermediate, minor bug fixes, major rewrite of interface
 between reconstruct and display.

Changes for v205:

v. minor bug fixes.

Changes for v204:

none.

Changes for v203:

Much more systematic unwinding, intermediate almost ready, redesigned test suite

Changes for v201:

Minor bug fixes.

Changes for v200:

Total rewrite for new syntax. Addition of test suites.
Addition of somewhat more systematic macro unwinding.
Lots of bug fixes.

Changes for v103:

PRs fixed: 1564, 1277, 1536, 1500, 1561, 1468, 1599, 1631

Changes for v102:

Stepper handles intermediate level.
UI redesigned to use "side-by-side" reduction.

Changes for v101:

all steps scroll to bottom automatically.
constants like 'pi' are explicitly expanded in a step.
stepper uses fewer threads internally.
