1.2 KiB
Transforms Library
The (scheme cyclone transforms)
library performs Scheme-to-Scheme transformations, and also contains various utility functions used by the compiler.
defined-macros do-code-gen trace-level primitives get-macros built-in-syms trace trace:error trace:warn trace:info trace:debug cyc:error basename list-index symbol<? insert remove union difference reduce azip assq-remove-key assq-remove-keys let? let->bindings let->exp let->bound-vars let->args letrec? letrec->bindings letrec->exp letrec->bound-vars letrec->args lambda-num-args ast:lambda-formals-type ast:lambda-formals->list list->lambda-formals list->pair app->fun app->args precompute-prim-app? begin->exps define-lambda? define->lambda closure? closure->lam closure->env closure->fv env-make? env-make->id env-make->fields env-make->values env-get? env-get->id env-get->field env-get->env set-cell!? set-cell!->cell set-cell!->value cell? cell->value cell-get? cell-get->cell expand expand-lambda-body let=>lambda isolate-globals has-global? global-vars filter-unused-variables free-vars clear-mutables mark-mutable is-mutable? analyze-mutable-variables wrap-mutables alpha-convert cps-convert pos-in-list closure-convert