Description of assconv.scm Purpose: -------- Eliminates all occurrences of SET!. In most cases a variable which is side-effected is replaced with a cell (%make-cell) and references to it are replaced by calls to %cell-ref or %cell-set!, although in certain other cases the variable may be bound by the use of a LETREC and/or LET instead. In some cases the value of a SET! is replaced by %unspecific. If the SET! provides an initial value for a variable, assconv may introduce the %unassigned cookie. Operators Introduced: --------------------- %make-cell for local assigned variables %cell-ref for read references to local assigned variables %cell-set! for write references to local assigned variables %unspecific for the value returned by a SET! in some cases %unassigned for the initial value of a variable Restrictions on Input: ---------------------- Special forms excluded: ACCESS, DEFINE, DELAY, IN-PACKAGE, LETREC, OR, THE-ENVIRONMENT UNASSIGNED? Special forms introduced: ------------------------ LETREC Magic Cookies handled specially: ------------------------------- none Guarantees on Output: --------------------- No occurrences of SET!