24 KiB
API Documentation
R7RS 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 Library Support
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 itself and could change in the future:
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
*Cyc-version-banner*
*af-inet*
*af-inet6*
*af-unspec*
*ai-addrconfig*
*ai-all*
*ai-canonname*
*ai-numerichost*
*ai-v4mapped*
*c-file-header-comment*
*ipproto-ip*
*ipproto-tcp*
*ipproto-udp*
*msg-oob*
*msg-peek*
*msg-waitall*
*primitives*
*primitives-num-args*
*shut-rd*
*shut-rdwr*
*shut-wr*
*sock-dgram*
*sock-stream*
*version*
*version-banner*
*version-name*
*version-number*
adb:clear!
adb:function?
adb:get-db
adb:get/default
adb:get
adb:make-fnc
adb:make-var
adb:set!
adb:variable?
adbf:set-simple!
adbf:set-unused-params!
adbf:simple
adbf:unused-params
adbv:assigned-value
adbv:const-value
adbv:const?
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->hash-table
alist-cons
alist-copy
alist-delete!
alist-delete
analyze-cps
and-let*
any
append!
append-map!
append-map
append-reverse!
append-reverse
ast:%make-lambda
ast:lambda-args
ast:lambda-body
ast:lambda-id
ast:lambda?
ast:make-lambda
ast:set-lambda-args!
ast:set-lambda-body!
call-with-socket
car+cdr
circular-list?
circular-list
concatenate!
concatenate
condition-variable-broadcast!
condition-variable-signal!
condition-variable-wait!
condition-variable?
cons*
count
current-test-applier
current-test-comparator
current-test-epsilon
current-test-group-reporter
current-test-group
current-test-handler
current-test-skipper
current-test-verbosity
default-random-source
define-syntax?
delete!
delete-duplicates!
delete-duplicates
delete
dotted-list?
drop-right!
drop-right
drop-while
drop
eighth
emit*
emit-newline
emit
emits*
emits
every
fifth
filter!
filter-map
filter
find-tail
find
first
fold-right
fold
fourth
hash-by-identity
hash-table->alist
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/default
hash-table-ref
hash-table-set!
hash-table-size
hash-table-update!/default
hash-table-update!
hash-table-values
hash-table-walk
hash-table?
hash
last-pair
last
length+
lib:body
lib:exports
lib:get-all-import-deps
lib:get-all
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->idb
lib:imports
lib:include-c-headers
lib:includes
lib:list->import-set
lib:name->string
lib:name->symbol
lib:name
lib:read-imports
lib:rename-exports
lib:resolve-imports
lib:resolve-meta
lib:result
library?
list-copy
list-delete-neighbor-dups!
list-delete-neighbor-dups
list-index
list-merge!
list-merge
list-queue-add-back!
list-queue-add-front!
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-right
list-queue-unfold
list-queue?
list-queue
list-sort!
list-sort
list-sorted?
list-stable-sort!
list-stable-sort
list-tabulate
list=
lset-adjoin
lset-diff+intersection
lset-difference!
lset-difference
lset-intersection!
lset-intersection
lset-union!
lset-union
lset-xor!
lset-xor
lset<=
lset=
macro:add!
macro:cleanup
macro:expand
macro:get-defined-macros
macro:get-env
macro:load-env!
macro:macro?
make-client-socket
make-condition-variable
make-hash-table
make-list-queue
make-list
make-mutex
make-random-source
make-server-socket
make-thread
map!
map-in-order
message-type
mta:code-gen
mutex-lock!
mutex-unlock!
mutex?
one-instance-of-new-mutable-obj?
opt:contract
opt:inline-prims
optimize-cps
pair-fold-right
pair-fold
pair-for-each
partition!
partition
pretty-print
prim->c-func
prim-call?
prim/c-var-assign
prim/cvar?
prim/data-arg?
prim:allocates-object?)
prim:arg-count?
prim:check-arg-count
prim:cont/no-args?
prim:cont?
prim:mutates?
prim?
print-exception
proper-list?
random-integer
random-real
random-source-make-integers
random-source-make-reals
random-source-pseudo-randomize!
random-source-randomize!
random-source-state-ref
random-source-state-set!
random-source?
reduce-right
reduce
remove!
remove
reverse!
reverse-list->vector
reverse-vector->list
second
set-box!
seventh
shutdown-method
simple-lambda?
sixth
socket-accept
socket-close
socket-domain
socket-input-port
socket-merge-flags
socket-output-port
socket-purge-flags
socket-recv
socket-send
socket-shutdown
socket?
span!
span
split-at!
split-at
string-ci-hash
string-hash
string-join
take!
take-right
take-while!
take-while
take
tenth
test-assert
test-begin
test-end
test-equal
test-error
test-exit
test-failure-count
test-group-inc!
test-group
test-not
test-propagate-info
test-run
test-syntax-error
test-values
test-vars
test
third
thread-name
thread-sleep!
thread-specific-set!
thread-specific
thread-start!
thread-terminate!
thread-yield!
thread?
tree-copy
unbox
unfold-right
unfold
unzip1
unzip2
unzip3
unzip4
unzip5
vector-any
vector-append-subvectors
vector-binary-search
vector-concatenate
vector-count
vector-cumulate
vector-delete-neighbor-dups!
vector-delete-neighbor-dups
vector-empty?
vector-every
vector-fold-right
vector-fold
vector-index-right
vector-index
vector-map!
vector-merge!
vector-merge
vector-partition
vector-reverse!
vector-reverse-copy!
vector-reverse-copy
vector-skip-right
vector-skip
vector-sort!
vector-sort
vector-sorted?
vector-stable-sort!
vector-stable-sort
vector-swap!
vector-unfold!
vector-unfold-right!
vector-unfold-right
vector-unfold
vector=