mirror of
https://github.com/justinethier/cyclone.git
synced 2025-05-20 06:09:17 +02:00
84 lines
1.2 KiB
Markdown
84 lines
1.2 KiB
Markdown
# 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
|