mirror of
https://github.com/justinethier/cyclone.git
synced 2025-07-03 19:26:34 +02:00
New files
This commit is contained in:
parent
4a526002b1
commit
5e3218e5e7
2 changed files with 157 additions and 0 deletions
84
docs/api/scheme/cyclone/transforms.md
Normal file
84
docs/api/scheme/cyclone/transforms.md
Normal file
|
@ -0,0 +1,84 @@
|
||||||
|
# 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
|
73
docs/api/scheme/cyclone/util.md
Normal file
73
docs/api/scheme/cyclone/util.md
Normal file
|
@ -0,0 +1,73 @@
|
||||||
|
# Util Library
|
||||||
|
|
||||||
|
The `(scheme cyclone util`) library contains various utility functions.
|
||||||
|
|
||||||
|
tagged-list?
|
||||||
|
if?
|
||||||
|
begin?
|
||||||
|
lambda?
|
||||||
|
pair->list
|
||||||
|
formals->list
|
||||||
|
lambda-formals->list
|
||||||
|
lambda-varargs?
|
||||||
|
lambda->formals
|
||||||
|
lambda->exp
|
||||||
|
lambda-formals-type
|
||||||
|
lambda-varargs-var
|
||||||
|
pack-lambda-arguments
|
||||||
|
if->condition
|
||||||
|
if->then
|
||||||
|
if-else?
|
||||||
|
if->else
|
||||||
|
const?
|
||||||
|
ref?
|
||||||
|
quote?
|
||||||
|
define-c?
|
||||||
|
set!?
|
||||||
|
set!->var
|
||||||
|
set!->exp
|
||||||
|
define?
|
||||||
|
define->var
|
||||||
|
define->exp
|
||||||
|
app?
|
||||||
|
;; Environments
|
||||||
|
env:enclosing-environment
|
||||||
|
env:first-frame
|
||||||
|
env:the-empty-environment
|
||||||
|
env:make-frame
|
||||||
|
env:frame-variables
|
||||||
|
env:frame-values
|
||||||
|
env:add-binding-to-frame!
|
||||||
|
env:all-variables
|
||||||
|
env:all-values
|
||||||
|
env:extend-environment
|
||||||
|
env:lookup
|
||||||
|
env:lookup-variable-value
|
||||||
|
env:_lookup-variable-value
|
||||||
|
env:set-variable-value!
|
||||||
|
env:define-variable!
|
||||||
|
;; Syntactic closures
|
||||||
|
make-syntactic-closure
|
||||||
|
strip-syntactic-closures
|
||||||
|
identifier->symbol
|
||||||
|
identifier?
|
||||||
|
identifier=?
|
||||||
|
;; ER macro supporting functions
|
||||||
|
Cyc-er-rename
|
||||||
|
Cyc-er-compare?
|
||||||
|
;; Code generation
|
||||||
|
mangle
|
||||||
|
mangle-global
|
||||||
|
;; Scheme library functions
|
||||||
|
gensym
|
||||||
|
delete
|
||||||
|
delete-duplicates
|
||||||
|
flatten
|
||||||
|
length/obj
|
||||||
|
list-index2
|
||||||
|
list-insert-at!
|
||||||
|
list-prefix?
|
||||||
|
string-replace-all
|
||||||
|
take
|
||||||
|
filter
|
||||||
|
|
Loading…
Add table
Reference in a new issue