Change the compiler so that each top-level procedure in the input
expression is compiled separately, producing a different compiled-code
block for each. The load-time linking is removed from the sub-blocks
to be performed in the code for the top-level expression, thus
allowing it to be discarded after the expression is evaluated; only
the code needed by the procedures is retained.
The old behavior of the compiler can be obtained by setting the switch
`compiler:compile-by-procedures?' to #f.
18 files changed: