- give names to user functions that matches the user's names
(if the third bullet goes away, then the function
mutator-lift needs to be adjusted so that it uses
procedure-rename in order to preserve the improvement
in this bullet)
- change exn? to exn:fail? (to avoid catching break exns)
- change lang so that primitives (the ones in the
provide-flat-prims/lift declaration) are not allocated
in the user's space (treat them as if they are constants)
This change makes it easier to build up and explain the
GC api, piece by piece. That is, you can first run a program
that contains just a constant (and explain it) with only a
subset of the api. Then you can do something like (+ 1 2)
and explain it, both without getting into how procedures work.
(This is helpful for the way I run my lectures)