A.1 Base Library

The (scheme base) library exports many of the procedures and syntax bindings that are traditionally associated with Scheme. The division between the base library and the other standard libraries is based on use, not on construction. In particular, some facilities that are typically implemented as primitives by a compiler or the run-time system rather than in terms of other standard procedures or syntax are not part of the base library, but are defined in separate libraries. By the same token, some exports of the base library are implementable in terms of other exports. They are redundant in the strict sense of the word, but they capture common patterns of usage, and are therefore provided as convenient abbreviations.

*+
-...
/<
<==
=>>
>=_
absand
appendapply
assocassq
assvbegin
binary-port?boolean=?
boolean?bytevector
bytevector-appendbytevector-copy
bytevector-copy!bytevector-length
bytevector-u8-refbytevector-u8-set!
bytevector?caar
cadrcall-with-current-continuation
call-with-portcall-with-values
call/cccar
casecdar
cddrcdr
ceilingchar->integer
char-ready?char<=?
char<?char=?
char>=?char>?
char?close-input-port
close-output-portclose-port
complex?cond
cond-expandcons
current-error-portcurrent-input-port
current-output-portdefine
define-record-typedefine-syntax
define-valuesdenominator
dodynamic-wind
elseeof-object
eof-object?eq?
equal?eqv?
errorerror-object-irritants
error-object-messageerror-object?
even?exact
exact-integer-sqrtexact-integer?
exact?expt
featuresfile-error?
floorfloor-quotient
floor-remainderfloor/
flush-output-portfor-each
gcdget-output-bytevector
get-output-stringguard
ifinclude
include-ciinexact
inexact?input-port-open?
input-port?integer->char
integer?lambda
lcmlength
letlet*
let*-valueslet-syntax
let-valuesletrec
letrec*letrec-syntax
listlist->string
list->vectorlist-copy
list-reflist-set!
list-taillist?
make-bytevectormake-list
make-parametermake-string
make-vectormap
maxmember
memqmemv
minmodulo
negative?newline
notnull?
number->stringnumber?
numeratorodd?
open-input-bytevectoropen-input-string
open-output-bytevectoropen-output-string
oroutput-port-open?
output-port?pair?
parameterizepeek-char
peek-u8port?
positive?procedure?
quasiquotequote
quotientraise
raise-continuablerational?
rationalizeread-bytevector
read-bytevector!read-char
read-error?read-line
read-stringread-u8
real?remainder
reverseround
set!set-car!
set-cdr!square
stringstring->list
string->numberstring->symbol
string->utf8string->vector
string-appendstring-copy
string-copy!string-fill!
string-for-eachstring-length
string-mapstring-ref
string-set!string<=?
string<?string=?
string>=?string>?
string?substring
symbol->stringsymbol=?
symbol?syntax-error
syntax-rulestextual-port?
truncatetruncate-quotient
truncate-remaindertruncate/
u8-ready?unless
unquoteunquote-splicing
utf8->stringvalues
vectorvector->list
vector->stringvector-append
vector-copyvector-copy!
vector-fill!vector-for-each
vector-lengthvector-map
vector-refvector-set!
vector?when
with-exception-handlerwrite-bytevector
write-charwrite-string
write-u8zero?