50 KiB
API Documentation
Standard Libraries
This section of the Cyclone API is based on the R7RS Scheme Specification:
- Primitives
scheme base
scheme case-lambda
scheme char
scheme complex
scheme cxr
scheme eval
scheme file
scheme inexact
scheme lazy
scheme load
scheme process-context
scheme read
scheme time
scheme write
SRFI Libraries
Cyclone supports the following Scheme Requests for Implementation (SRFI) libraries. Detailed information is available in the linked SRFI page as well as the provided Cyclone API:
srfi 1
- List Librarysrfi 2
-and-let*
srfi 8
-receive
: Binding to multiple values - Included as part ofscheme base
.srfi 18
- Multithreading supportsrfi 27
- Sources of random bitssrfi 69
- Basic hash tablessrfi 106
- Basic socket interfacesrfi 111
- Boxessrfi 117
- Mutable queuessrfi 132
- Sort Librariessrfi 133
- Vector Library (R7RS-compatible)
Cyclone Compiler API
These libraries are used by the Cyclone compiler. Some of these, such as pretty-print
are stable and unlikely to change, whereas others could change as the compiler evolves.
scheme cyclone ast
scheme cyclone cgen
scheme cyclone common
scheme cyclone cps-optimizations
scheme cyclone libraries
scheme cyclone macros
scheme cyclone pretty-print
scheme cyclone primitives
scheme cyclone test
scheme cyclone transforms
scheme cyclone util
Index
This section is an alphabetic listing of all the functions, objects, and macros provided by the previous libraries.
abs
acos
adb:clear!
adbf:set-simple!
adbf:set-unused-params!
adbf:simple
adb:function?
adbf:unused-params
adb:get
adb:get-db
adb:get/default
adb:make-fnc
adb:make-var
adb:set!
adb:variable?
adbv:assigned-value
adbv:const?
adbv:const-value
adbv:defined-by
adbv:global?
adbv:reassigned?
adbv:ref-by
adbv:set-assigned-value!
adbv:set-const!
adbv:set-const-value!
adbv:set-defined-by!
adbv:set-global!
adbv:set-reassigned!
adbv:set-ref-by!
address-family
address-info
alist-cons
alist-copy
alist-delete
alist-delete!
alist->hash-table
alpha-convert
analyze-cps
analyze-mutable-variables
and
and-let*
angle
any
any
app?
app->args
append
append!
append-map
append-map!
append-reverse
append-reverse!
app->fun
apply
asin
assoc
assq
assq-remove-key
assq-remove-keys
assv
ast:lambda?
ast:lambda-args
ast:lambda-body
ast:lambda-formals->list
ast:lambda-formals-type
ast:lambda-id
ast:make-lambda
ast:%make-lambda
ast:set-lambda-args!
ast:set-lambda-body!
atan
azip
*af-inet6*
*af-inet*
*af-unspec*
*ai-addrconfig*
*ai-all*
*ai-canonname*
*ai-numerichost*
*ai-v4mapped*
basename
begin
begin?
begin->exps
boolean?
boolean=?
box
box?
break
break!
built-in-syms
bytevector
bytevector?
bytevector-append
bytevector-copy
bytevector-copy!
bytevector-length
bytevector-u8-ref
bytevector-u8-set!
caaaar
caaadr
caaar
caadar
caaddr
caadr
caar
cadaar
cadadr
cadar
caddar
cadddr
caddr
cadr
call/cc
call-with-current-continuation
call-with-input-file
call-with-output-file
call-with-port
call-with-socket
call-with-values
car
car+cdr
case
case-lambda
cdaaar
cdaadr
cdaar
cdadar
cdaddr
cdadr
cdar
cddaar
cddadr
cddar
cdddar
cddddr
cdddr
cddr
cdr
ceiling
cell?
cell-get?
cell-get->cell
cell->value
char-alphabetic?
char?
char<=?
char<?
char=?
char>=?
char>?
char-ci<=?
char-ci<?
char-ci=?
char-ci>=?
char-ci>?
char-downcase
char-foldcase
char->integer
char-lower-case?
char-numeric?
char-upcase
char-upper-case?
char-whitespace?
circular-list?
circular-list
clear-mutables
close-input-port
close-output-port
close-port
closure?
closure-convert
closure->env
closure->fv
closure->lam
command-line
command-line-arguments
complex?
concatenate
concatenate!
cond
cond-expand
condition-variable?
condition-variable-broadcast!
condition-variable-signal!
condition-variable-wait!
cons
cons*
const?
cos
count
cps-convert
create-environment
current-error-port
current-input-port
current-jiffy
current-output-port
current-second
current-test-applier
current-test-comparator
current-test-epsilon
current-test-group
current-test-group-reporter
current-test-handler
current-test-skipper
current-test-verbosity
*c-file-header-comment*
*Cyc-version-banner*
default-random-source
define?
define-c?
define->exp
define->lambda
define-lambda?
define-record-type
define-syntax?
define->var
delay
delay-force
delete
delete
delete!
delete-duplicates
delete-duplicates
delete-duplicates!
delete-file
denominator
difference
digit-value
display
do
dotted-list?
drop
drop-right
drop-right!
drop-while
dynamic-wind
*defined-macros*
*do-code-gen*
eighth
emergency-exit
emit
emit*
emit-newline
emits
emits*
env:add-binding-to-frame!
env:all-values
env:all-variables
env:define-variable!
env:enclosing-environment
env:extend-environment
env:first-frame
env:frame-values
env:frame-variables
env-get?
env-get->env
env-get->field
env-get->id
env:lookup
env:_lookup-variable-value
env:lookup-variable-value
env-make?
env-make->fields
env:make-frame
env-make->id
env-make->values
env:set-variable-value!
env:the-empty-environment
eof-object?
eof-object
eq?
equal?
eqv?
error
error
eval
even?
every
every
exact
exact?
exact-integer?
exit
expand
expand-lambda-body
exp
expt
features
fifth
file-exists?
filter
filter
filter!
filter-map
filter-unused-variables
find
find-tail
finite?
first
flatten
floor
floor/
floor-quotient
floor-remainder
floor-remainder
flush-output-port
fold
foldl
foldr
fold-right
force
for-each
formals->list
fourth
free-vars
gcd
gensym
get-environment-variable
get-environment-variables
get-macros
get-output-bytevector
get-output-string
global-vars
guard
has-global?
hash
hash-by-identity
hash-table->alist
hash-table?
hash-table-copy
hash-table-delete!
hash-table-equivalence-function
hash-table-exists?
hash-table-fold
hash-table-hash-function
hash-table-keys
hash-table-merge!
hash-table-ref
hash-table-ref/default
hash-table-set!
hash-table-size
hash-table-update!
hash-table-update!/default
hash-table-values
hash-table-walk
identifier=?
identifier?
identifier->symbol
if?
if->condition
if->else
if-else?
if->then
imag-part
inexact
inexact?
infinite?
input-port?
input-port-open?
insert
integer?
integer->char
iota
ip-protocol
is-mutable?
isolate-globals
*ipproto-ip*
*ipproto-tcp*
*ipproto-udp*
lambda?
lambda->exp
lambda->formals
lambda-formals->list
lambda-formals-type
lambda-num-args
lambda-varargs?
lambda-varargs-var
last
last-pair
lcm
length
length+
length/obj
let
let*
let?
let->args
let->bindings
let->bound-vars
let->exp
let=>lambda
letrec
letrec*
letrec?
letrec->args
letrec->bindings
letrec->bound-vars
letrec->exp
let*-values
let-values
lib:body
lib:exports
lib:get-all
lib:get-all-import-deps
lib:get-dep-list
lib:idb:id->import
lib:idb:ids
lib:import->export-list
lib:import->filename
lib:import->metalist
lib:import->path
lib:imports
lib:imports->idb
lib:include-c-headers
lib:includes
lib:list->import-set
lib:name
lib:name->string
lib:name->symbol
library?
lib:read-imports
lib:rename-exports
lib:resolve-imports
lib:resolve-meta
lib:result
list
list?
list=
list-copy
list-copy
list-delete-neighbor-dups
list-delete-neighbor-dups!
list-index2
list-index
list-index
list-insert-at!
list->lambda-formals
list-merge
list-merge!
list->pair
list-prefix?
list-queue-add-back!
list-queue-add-front!
list-queue
list-queue?
list-queue-append
list-queue-append
list-queue-append!
list-queue-append!
list-queue-back
list-queue-concatenate
list-queue-concatenate
list-queue-copy
list-queue-empty?
list-queue-first-last
list-queue-for-each
list-queue-front
list-queue-list
list-queue-map
list-queue-map!
list-queue-remove-all!
list-queue-remove-back!
list-queue-remove-front!
list-queue-set-list!
list-queue-unfold
list-queue-unfold-right
list-ref
list-set!
list-sort
list-sort!
list-sorted?
list-stable-sort
list-stable-sort!
list->string
list-tabulate
list-tail
list->vector
load
log
lset-adjoin
lset<=
lset=
lset-difference
lset-difference!
lset-diff+intersection
lset-intersection
lset-intersection!
lset-union
lset-union!
lset-xor
lset-xor!
macro:add!
macro:cleanup
macro:expand
macro:get-defined-macros
macro:get-env
macro:load-env!
macro:macro?
magnitude
make-bytevector
make-client-socket
make-condition-variable
make-constructor
make-getter
make-hash-table
make-list
make-list
make-list-queue
make-mutex
make-parameter
make-polar
make-promise
make-random-source
make-rectangular
make-server-socket
make-setter
make-string
make-thread
make-type-predicate
make-vector
mangle
mangle-global
map
map!
map-in-order
mark-mutable
max
member
memq
memv
message-type
min
modulo
mta:code-gen
mutex?
mutex-lock!
mutex-unlock!
*msg-oob*
*msg-peek*
*msg-waitall*
nan?
negative?
newline
ninth
not
not-pair?
null?
null-list?
number?
number->string
numerator
odd?
one-instance-of-new-mutable-obj?
open-input-bytevector
open-input-file
open-input-string
open-output-bytevector
open-output-file
open-output-string
opt:contract
optimize-cps
opt:inline-prims
or
output-port?
output-port-open?
pack-lambda-arguments
pair?
pair-fold
pair-fold-right
pair-for-each
pair->list
parameterize
partition
partition!
peek-char
port?
pos-in-list
positive?
precompute-prim-app?
pretty-print
prim:allocates-object?)
prim?
prim:arg-count?
prim-call?
prim->c-func
prim:check-arg-count
prim:cont?
prim:cont/no-args?
prim/cvar?
prim/c-var-assign
prim/data-arg?
prim:mutates?
print-exception
procedure?
promise?
proper-list?
*primitives*
*primitives*
*primitives-num-args*
raise
raise-continuable
random-integer
random-real
random-source?
random-source-make-integers
random-source-make-reals
random-source-pseudo-randomize!
random-source-randomize!
random-source-state-ref
random-source-state-set!
rational?
read-all
read
read-char
read-line
read-string
real?
real-part
receive
record?
reduce
reduce
reduce-right
ref?
remainder
remove
remove
remove!
reverse
reverse!
reverse-list->vector
reverse-vector->list
round
*shut-rd*
*shut-rdwr*
*shut-wr*
*sock-dgram*
*sock-stream*
second
set!?
set-box!
set-car!
set-cdr!
set-cell!?
set-cell!->cell
set-cell!->value
set!->exp
setup-environment
set!->var
seventh
shutdown-method
simple-lambda?
sin
sixth
slot-set!
socket-accept
socket?
socket-close
socket-domain
socket-input-port
socket-merge-flags
socket-output-port
socket-purge-flags
socket-recv
socket-send
socket-shutdown
span
span!
split-at
split-at!
sqrt
square
string?
string
string<=?
string<?
string=?
string>=?
string>?
string-append
string-ci<=?
string-ci<?
string-ci=?
string-ci>=?
string-ci>?
string-ci-hash
string-cmp
string-copy
string-copy!
string-downcase
string-fill!
string-foldcase
string-for-each
string-hash
string-join
string-length
string->list
string-map
string->number
string-ref
string-replace-all
string-set!
string->symbol
string-upcase
string->utf8
string->vector
substring
symbol?
symbol=?
symbol<?
symbol->string
syntax-error
system
tagged-list?
take
take
take!
take-right
take-while
take-while!
tan
tenth
test
test-assert
test-begin
test-end
test-equal
test-error
test-exit
test-failure-count
test-group
test-group-inc!
test-not
test-propagate-info
test-run
test-syntax-error
test-values
test-vars
third
thread?
thread-name
thread-sleep!
thread-specific
thread-specific-set!
thread-start!
thread-terminate!
thread-yield!
trace
trace:debug
trace:error
trace:info
trace:warn
tree-copy
truncate
truncate/
truncate-quotient
truncate-remainder
type-slot-offset
unbox
unfold
unfold-right
union
unless
unzip1
unzip2
unzip3
unzip4
unzip5
utf8->string
*version*
*version-banner*
*version-name*
*version-number*
values
vector-any
vector?
vector
vector=
vector-append
vector-append-subvectors
vector-binary-search
vector-concatenate
vector-copy
vector-copy!
vector-count
vector-cumulate
vector-delete-neighbor-dups
vector-delete-neighbor-dups!
vector-empty?
vector-every
vector-fill!
vector-fold
vector-fold-right
vector-for-each
vector-index
vector-index-right
vector-length
vector->list
vector-map
vector-map!
vector-merge
vector-merge!
vector-partition
vector-ref
vector-reverse!
vector-reverse-copy
vector-reverse-copy!
vector-set!
vector-skip
vector-skip-right
vector-sort
vector-sort!
vector-sorted?
vector-stable-sort
vector-stable-sort!
vector->string
vector-swap!
vector-unfold
vector-unfold!
vector-unfold-right
vector-unfold-right!
warning
when
with-exception-handler
with-input-from-file
with-output-to-file
wrap-mutables
write
write-char
write-shared
write-simple
write-string