cyclone/docs/API.md
2016-09-28 17:31:54 -04:00

221 lines
9.9 KiB
Markdown

# R<sup>7</sup>RS Libraries
This section of the Cyclone API is based on the [R<sup>7</sup>RS Scheme Specification](r7rs.pdf):
- Built-in primitives
- [`scheme base`](api/scheme/base.md)
- [`scheme case-lambda`](api/scheme/case-lambda.md)
- [`scheme char`](api/scheme/char.md)
- [`scheme cxr`](api/scheme/cxr.md)
- [`scheme eval`](api/scheme/eval.md)
- [`scheme file`](api/scheme/file.md)
- [`scheme inexact`](api/scheme/inexact.md)
- [`scheme lazy`](api/scheme/lazy.md)
- [`scheme load`](api/scheme/load.md)
- [`scheme process-context`](api/scheme/process-context.md)
- [`scheme read`](api/scheme/read.md)
- [`scheme time`](api/scheme/time.md)
- [`scheme write`](api/scheme/write.md)
# SRFI Library Support
Cyclone supports the following [Scheme Requests for Implementation (SRFI)](http://srfi.schemers.org/) libraries. Detailed information is available in the linked SRFI page as well as the provided Cyclone API:
- [`srfi 1`](api/srfi/1.md) - [List Library](http://srfi.schemers.org/srfi-1/srfi-1.html)
- [`srfi 2`](api/srfi/2.md) - [`and-let*`](http://srfi.schemers.org/srfi-2/srfi-2.html)
- [`srfi 8`](api/srfi/8.md) - [`receive`: Binding to multiple values](http://srfi.schemers.org/srfi-8/srfi-8.html) - Included as part of `scheme base`.
- [`srfi 18`](api/srfi/18.md) - [Multithreading support](http://srfi.schemers.org/srfi-18/srfi-18.html)
- [`srfi 27`](api/srfi/27.md) - [Sources of random bits](http://srfi.schemers.org/srfi-27/srfi-27.html)
- [`srfi 69`](api/srfi/69.md) - [Basic hash tables](http://srfi.schemers.org/srfi-69/srfi-69.html)
- [`srfi 111`](api/srfi/111.md) - [Boxes](http://srfi.schemers.org/srfi-111/srfi-111.html)
- [`srfi 117`](api/srfi/117.md) - [Mutable queues](http://srfi.schemers.org/srfi-117/srfi-117.html)
- [`srfi 132`](api/srfi/132.md) - [Sort Libraries](http://srfi.schemers.org/srfi-132/srfi-132.html)
- [`srfi 133`](api/srfi/133.md) - [Vector Library (R7RS-compatible)](http://srfi.schemers.org/srfi-133/srfi-133.html)
# Cyclone-specific
These libraries are used by the Cyclone compiler itself, and are subject to change:
- `scheme cyclone cgen`
- `scheme cyclone common`
- `scheme cyclone libraries`
- `scheme cyclone macros`
- `scheme cyclone transforms`
- `scheme cyclone util`
# Index
[`Cyc-add-exception-handler`](api/scheme/base.md#Cyc-add-exception-handler)
[`Cyc-obj=?`](api/scheme/base.md#Cyc-obj=?)
[`Cyc-remove-exception-handler`](api/scheme/base.md#Cyc-remove-exception-handler)
[`Cyc-version`](api/scheme/base.md#Cyc-version)
[`abs`](api/scheme/base.md#abs)
[`acos`](api/scheme/inexact.md#acos)
[`and`](api/scheme/base.md#and)
[`any`](api/scheme/base.md#any)
[`append`](api/scheme/base.md#append)
[`asin`](api/scheme/inexact.md#asin)
[`atan`](api/scheme/inexact.md#atan)
[`begin`](api/scheme/base.md#begin)
[`boolean=?`](api/scheme/base.md#boolean=?)
[`bytevector-copy!`](api/scheme/base.md#bytevector-copy!)
[`bytevector-copy`](api/scheme/base.md#bytevector-copy)
[`call-with-current-continuation`](api/scheme/base.md#call-with-current-continuation)
[`call-with-port`](api/scheme/base.md#call-with-port)
[`call-with-values`](api/scheme/base.md#call-with-values)
[`call/cc`](api/scheme/base.md#call/cc)
[`case-lambda`](api/scheme/case-lambda.md#case-lambda)
[`case`](api/scheme/base.md#case)
[`ceiling`](api/scheme/base.md#ceiling)
[`char<=?`](api/scheme/base.md#char<=?)
[`char<?`](api/scheme/base.md#char<?)
[`char=?`](api/scheme/base.md#char=?)
[`char>=?`](api/scheme/base.md#char>=?)
[`char>?`](api/scheme/base.md#char>?)
[`command-line`](api/scheme/process-context.md#command-line)
[`complex?`](api/scheme/base.md#complex?)
[`cond-expand`](api/scheme/base.md#cond-expand)
[`cond`](api/scheme/base.md#cond)
[`cons-source`](api/scheme/base.md#cons-source)
[`cos`](api/scheme/inexact.md#cos)
[`current-error-port`](api/scheme/base.md#current-error-port)
[`current-input-port`](api/scheme/base.md#current-input-port)
[`current-jiffy`](api/scheme/time.md#current-jiffy)
[`current-output-port`](api/scheme/base.md#current-output-port)
[`current-second`](api/scheme/time.md#current-second)
[`define-record-type`](api/scheme/base.md#define-record-type)
[`delay-force`](api/scheme/lazy.md#delay-force)
[`delay`](api/scheme/lazy.md#delay)
[`denominator`](api/scheme/base.md#denominator)
[`display`](api/scheme/write.md#display)
[`do`](api/scheme/base.md#do)
[`dynamic-wind`](api/scheme/base.md#dynamic-wind)
[`emergency-exit`](api/scheme/process-context.md#emergency-exit)
[`eof-object`](api/scheme/base.md#eof-object)
[`error`](api/scheme/base.md#error)
[`even?`](api/scheme/base.md#even?)
[`every`](api/scheme/base.md#every)
[`exact-integer?`](api/scheme/base.md#exact-integer?)
[`exact?`](api/scheme/base.md#exact?)
[`exact`](api/scheme/base.md#exact)
[`exp`](api/scheme/inexact.md#exp)
[`expt`](api/scheme/base.md#expt)
[`features`](api/scheme/base.md#features)
[`floor-quotient `](api/scheme/base.md#floor-quotient )
[`floor-remainder `](api/scheme/base.md#floor-remainder )
[`floor-remainder`](api/scheme/base.md#floor-remainder)
[`floor/ `](api/scheme/base.md#floor/ )
[`floor`](api/scheme/base.md#floor)
[`flush-output-port`](api/scheme/base.md#flush-output-port)
[`foldl`](api/scheme/base.md#foldl)
[`foldr`](api/scheme/base.md#foldr)
[`for-each`](api/scheme/base.md#for-each)
[`force`](api/scheme/lazy.md#force)
[`gcd`](api/scheme/base.md#gcd)
[`get-environment-variable`](api/scheme/process-context.md#get-environment-variable)
[`get-environment-variables`](api/scheme/process-context.md#get-environment-variables)
[`guard-aux`](api/scheme/base.md#guard-aux)
[`guard`](api/scheme/base.md#guard)
[`inexact?`](api/scheme/base.md#inexact?)
[`inexact`](api/scheme/base.md#inexact)
[`input-port-open?`](api/scheme/base.md#input-port-open?)
[`input-port?`](api/scheme/base.md#input-port?)
[`jiffies-per-second`](api/scheme/time.md#jiffies-per-second)
[`lcm`](api/scheme/base.md#lcm)
[`let*`](api/scheme/base.md#let*)
[`let`](api/scheme/base.md#let)
[`letrec*`](api/scheme/base.md#letrec*)
[`letrec`](api/scheme/base.md#letrec)
[`list-copy`](api/scheme/base.md#list-copy)
[`list-ref`](api/scheme/base.md#list-ref)
[`list-set!`](api/scheme/base.md#list-set!)
[`list-tail`](api/scheme/base.md#list-tail)
[`list?`](api/scheme/base.md#list?)
[`list`](api/scheme/base.md#list)
[`load`](api/scheme/load.md#load)
[`log`](api/scheme/inexact.md#log)
[`make-constructor`](api/scheme/base.md#make-constructor)
[`make-getter`](api/scheme/base.md#make-getter)
[`make-list`](api/scheme/base.md#make-list)
[`make-parameter`](api/scheme/base.md#make-parameter)
[`make-promise`](api/scheme/lazy.md#make-promise)
[`make-setter`](api/scheme/base.md#make-setter)
[`make-string`](api/scheme/base.md#make-string)
[`make-type-predicate`](api/scheme/base.md#make-type-predicate)
[`map`](api/scheme/base.md#map)
[`max`](api/scheme/base.md#max)
[`min`](api/scheme/base.md#min)
[`modulo`](api/scheme/base.md#modulo)
[`negative?`](api/scheme/base.md#negative?)
[`newline`](api/scheme/base.md#newline)
[`not`](api/scheme/base.md#not)
[`numerator`](api/scheme/base.md#numerator)
[`odd?`](api/scheme/base.md#odd?)
[`or`](api/scheme/base.md#or)
[`output-port-open?`](api/scheme/base.md#output-port-open?)
[`output-port?`](api/scheme/base.md#output-port?)
[`positive?`](api/scheme/base.md#positive?)
[`promise?`](api/scheme/lazy.md#promise?)
[`quasiquote`](api/scheme/base.md#quasiquote)
[`quotient`](api/scheme/base.md#quotient)
[`raise-continuable`](api/scheme/base.md#raise-continuable)
[`raise`](api/scheme/base.md#raise)
[`rational?`](api/scheme/base.md#rational?)
[`read-all`](api/scheme/read.md#read-all)
[`read-line`](api/scheme/base.md#read-line)
[`read-string`](api/scheme/base.md#read-string)
[`read`](api/scheme/read.md#read)
[`receive`](api/scheme/base.md#receive)
[`record?`](api/scheme/base.md#record?)
[`register-simple-type`](api/scheme/base.md#register-simple-type)
[`remainder`](api/scheme/base.md#remainder)
[`reverse`](api/scheme/base.md#reverse)
[`round`](api/scheme/base.md#round)
[`sin`](api/scheme/inexact.md#sin)
[`slot-set!`](api/scheme/base.md#slot-set!)
[`sqrt`](api/scheme/inexact.md#sqrt)
[`square`](api/scheme/base.md#square)
[`string->list`](api/scheme/base.md#string->list)
[`string->utf8`](api/scheme/base.md#string->utf8)
[`string->vector`](api/scheme/base.md#string->vector)
[`string-copy!`](api/scheme/base.md#string-copy!)
[`string-copy`](api/scheme/base.md#string-copy)
[`string-fill!`](api/scheme/base.md#string-fill!)
[`string-for-each`](api/scheme/base.md#string-for-each)
[`string-map`](api/scheme/base.md#string-map)
[`string<=?`](api/scheme/base.md#string<=?)
[`string<?`](api/scheme/base.md#string<?)
[`string=?`](api/scheme/base.md#string=?)
[`string>=?`](api/scheme/base.md#string>=?)
[`string>?`](api/scheme/base.md#string>?)
[`string`](api/scheme/base.md#string)
[`symbol=?`](api/scheme/base.md#symbol=?)
[`syntax-error`](api/scheme/base.md#syntax-error)
[`syntax-rules`](api/scheme/base.md#syntax-rules)
[`tan`](api/scheme/inexact.md#tan)
[`truncate-quotient `](api/scheme/base.md#truncate-quotient )
[`truncate-remainder `](api/scheme/base.md#truncate-remainder )
[`truncate/ `](api/scheme/base.md#truncate/ )
[`truncate`](api/scheme/base.md#truncate)
[`type-slot-offset`](api/scheme/base.md#type-slot-offset)
[`unless`](api/scheme/base.md#unless)
[`utf8->string`](api/scheme/base.md#utf8->string)
[`values`](api/scheme/base.md#values)
[`vector->list`](api/scheme/base.md#vector->list)
[`vector->string`](api/scheme/base.md#vector->string)
[`vector-append`](api/scheme/base.md#vector-append)
[`vector-copy!`](api/scheme/base.md#vector-copy!)
[`vector-copy`](api/scheme/base.md#vector-copy)
[`vector-fill!`](api/scheme/base.md#vector-fill!)
[`vector-for-each`](api/scheme/base.md#vector-for-each)
[`vector-map`](api/scheme/base.md#vector-map)
[`vector`](api/scheme/base.md#vector)
[`when`](api/scheme/base.md#when)
[`with-exception-handler`](api/scheme/base.md#with-exception-handler)
[`write-char`](api/scheme/base.md#write-char)
[`write-shared`](api/scheme/write.md#write-shared)
[`write-simple`](api/scheme/write.md#write-simple)
[`write-string`](api/scheme/base.md#write-string)
[`write`](api/scheme/write.md#write)
[`zero?`](api/scheme/base.md#zero?)