* .dir-locals.el: Add with-fresh-name-state. * module/language/cps.scm (fresh-label, fresh-var): Signal an error if the counters are not initialized. (with-fresh-name-state): New macro. (make-cont-folder): New macro, generates an n-ary folder. (compute-max-label-and-var): New function, uses make-cont-folder. (fold-conts): Use make-cont-folder. (let-gensyms): Remove. * module/language/cps/arities.scm: * module/language/cps/closure-conversion.scm: * module/language/cps/constructors.scm: * module/language/cps/dce.scm: * module/language/cps/elide-values.scm: * module/language/cps/reify-primitives.scm: * module/language/cps/specialize-primcalls.scm: Use let-fresh instead of let-gensyms, and wrap in a with-fresh-name-state as needed. * module/language/tree-il/compile-cps.scm: Remove hack to avoid importing let-gensyms from (language tree-il). |
||
|---|---|---|
| .. | ||
| analyze.scm | ||
| canonicalize.scm | ||
| compile-cps.scm | ||
| cse.scm | ||
| debug.scm | ||
| effects.scm | ||
| fix-letrec.scm | ||
| inline.scm | ||
| optimize.scm | ||
| peval.scm | ||
| primitives.scm | ||
| spec.scm | ||