mirror of
https://github.com/justinethier/cyclone.git
synced 2025-07-14 08:17:35 +02:00
Adding exports
This commit is contained in:
parent
5d74721111
commit
26b141beae
3 changed files with 120 additions and 1 deletions
|
@ -1,8 +1,122 @@
|
|||
(define-library (scheme cyclone transforms)
|
||||
(import (scheme base)
|
||||
(scheme char)
|
||||
(scheme file)
|
||||
(scheme eval)
|
||||
(scheme read)
|
||||
(scheme write)
|
||||
(scheme cyclone util)
|
||||
(scheme cyclone libraries)
|
||||
)
|
||||
(export
|
||||
;*defined-macros*
|
||||
*do-code-gen*
|
||||
;*trace-level*
|
||||
;*primitives*
|
||||
built-in-syms
|
||||
trace
|
||||
trace:error
|
||||
trace:warn
|
||||
trace:info
|
||||
trace:debug
|
||||
cyc:error
|
||||
basename
|
||||
list-index
|
||||
gensym
|
||||
symbol<?
|
||||
insert
|
||||
remove
|
||||
union
|
||||
difference
|
||||
reduce
|
||||
azip
|
||||
assq-remove-key
|
||||
assq-remove-keys
|
||||
const?
|
||||
ref?
|
||||
quote?
|
||||
let?
|
||||
let->bindings
|
||||
let->exp
|
||||
let->bound-vars
|
||||
let->args
|
||||
letrec?
|
||||
letrec->bindings
|
||||
letrec->exp
|
||||
letrec->bound-vars
|
||||
letrec->args
|
||||
lambda?
|
||||
lambda-varargs?
|
||||
lambda->formals
|
||||
lambda-varargs?
|
||||
lambda-varargs-var
|
||||
lambda-formals-type
|
||||
lambda-formals->list
|
||||
list->lambda-formals
|
||||
pair->list
|
||||
list->pair
|
||||
lambda->exp
|
||||
if?
|
||||
if->condition
|
||||
if->then
|
||||
if-else?
|
||||
if->else
|
||||
app?
|
||||
app->fun
|
||||
app->args
|
||||
prim?
|
||||
precompute-prim-app?
|
||||
prim-call?
|
||||
begin?
|
||||
begin->exps
|
||||
define?
|
||||
define-lambda?
|
||||
define->lambda
|
||||
define->var
|
||||
define->exp
|
||||
set!?
|
||||
set!->var
|
||||
set!->exp
|
||||
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
|
||||
macro?
|
||||
macro-expand
|
||||
expand
|
||||
let=>lambda
|
||||
letrec=>lets+sets
|
||||
begin=>let
|
||||
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
|
||||
)
|
||||
(include "../common.scm")
|
||||
(include "../../transforms.scm"))
|
||||
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
(define-library (scheme cyclone util)
|
||||
(import (scheme base)
|
||||
(scheme char))
|
||||
; TODO: really need export-all for these cyclone libs!!
|
||||
(export
|
||||
filter
|
||||
tagged-list?
|
||||
|
|
|
@ -7,7 +7,11 @@
|
|||
;; various utility functions used by the compiler.
|
||||
;;
|
||||
|
||||
(load (string-append (cyc:get-lib-dir) "scheme/common.scm"))
|
||||
(cond-expand
|
||||
(chicken
|
||||
(load (string-append (cyc:get-lib-dir) "scheme/common.scm")))
|
||||
(else
|
||||
#f))
|
||||
|
||||
;; Built-in macros
|
||||
;; TODO: just a stub, real code would read (define-syntax)
|
||||
|
|
Loading…
Add table
Reference in a new issue