refactor-cps-transformation
refactor-cps-transformation

Refactored the cps transformation to use multiple return values and a parameter
for the statement-tail protocol instead of the complicated and error-prone
protocol that involved binding and mutating the global *STATEMENT-TAIL*.

We now use an internal generic function called TX-CPS to do the actual work of
the cps transform, with a single TRANSFORM method that calls it, as with the
explicitization transformation.

The TX-CPS method accepts a STATEMENT-TAIL parameter indicating the current
statement-tail, and returns a second return value indicating whether it was
consumed.  We no longer use the *STATEMENT-TAIL* global at all.  This single
change has made the code a hell of a lot more readable.

darcs-hash:20060318233251-53808-050e51dde6226930a8915426e2aaaa90a82b2786

chumsley/jwacs,chumsley/jwacs,chumsley/jwacs