A catalog of the defined symbols, identifiers and other pieces of data used by Scheme standards and implementations.
Administration happens on the schemeregistry
mailing list (archives, subscribe). Feel free to suggest additions and corrections there. Source is in a git repository.
Registry ID: scheme-standard
ID | Name | Year |
---|---|---|
r0rs | Scheme: An Interpreter for Extended Lambda Calculus (AI Memo No. 349) | 1975 |
r1rs | The Revised Report on Scheme (AI Memo No. 452) | 1978 |
r2rs | The Revised Revised Report on Scheme (AI Memo No. 848) | 1985 |
r3rs | Revised3 Report on the Algorithmic Language Scheme | 1986 |
ieee-1178-1990 | IEEE Standard for the Scheme Programming Language (1178-1990) | 1990 |
r4rs | Revised4 Report on the Algorithmic Language Scheme | 1991 |
dsssl | Document Style Semantics and Specification Language (ISO/IEC 10179:1996) | 1996 |
r5rs | Revised5 Report on the Algorithmic Language Scheme | 1998 |
r6rs | Revised6 Report on the Algorithmic Language Scheme | 2007 |
r7rs | Revised7 Report on the Algorithmic Language Scheme (small language) | 2013 |
r7rs-large | Revised7 Report on the Algorithmic Language Scheme (large language) |
Registry ID: scheme-id
Scheme IDs for use in features
, cond-expand
, and many other places.
ID | Name | Contact |
---|---|---|
airship | Airship Scheme | Michael Babich |
bigloo | Bigloo | Manuel Serrano |
chezscheme | Chez Scheme | Kent Dybvig |
chibi | Chibi-Scheme | Alex Shinn |
chicken | CHICKEN | Felix Winkelmann |
cyclone | Cyclone | Justin Ethier |
gambit | Gambit Scheme | Marc Feeley |
gauche | Gauche | Shiro Kawai |
gerbil | Gerbil Scheme | Dimitris Vyzovitis |
guile | GNU Guile | Andy Wingo |
ikarus | Ikarus Scheme | Abdulaziz Ghuloum |
ironscheme | IronScheme | Llewellyn Pritchard |
jazz | JazzScheme | Guillaume Cartier |
kawa | Kawa | Per Bothner |
larceny | Larceny | William Clinger |
loko | Loko Scheme | Göran Weinholt |
mit | MIT Scheme | Chris Hanson |
mzscheme | MzScheme | Matthew Flatt |
picrin | Picrin | Yuichi Nishiwaki |
racket | Racket | Matthew Flatt |
s7 | s7 | Bill Schottstaedt |
s9fes | Scheme 9 from Empty Space | Nils Holm |
sagittarius | Sagittarius Scheme | Takashi Kato |
sigscheme | SigScheme | Kazuki Ohta |
stklos | STklos | Erick Gallesio |
tinyscheme | TinyScheme | Dimitrios Souflis |
unsyntax | Unsyntax | Marc Nieper-Wißkirchen |
vicare | Vicare | Marco Maggi |
ypsilon | Ypsilon | Yoshikatsu Fujita |
Registry ID: operating-system
ID | Description |
---|---|
bsd | Operating system in BSD Unix family |
cygwin | Cygwin Unix emulator on Windows |
darwin | Operating system based on Darwin kernel (Apple macOS X, iOS) |
dragonfly | DragonFly BSD operating system |
freebsd | FreeBSD operating system |
gnu | Operating system with GNU userland |
gnu-linux | GNU/Linux operating system distribution |
linux | Operating system based on Linux kernel |
macosx | Apple MacOS X operating system (see also: darwin) |
netbsd | NetBSD operating system |
openbsd | OpenBSD operating system |
posix | POSIX-compatible operating system |
solaris | Operating system in Solaris family |
unix | Unix-like operating system |
windows | Operating system in Windows family |
Registry ID: machine
ID | Description |
---|---|
i386 | 32-bit Intel/AMD x86 processor |
ppc | PowerPC processor |
sparc | Sun SPARC processor |
x86-64 | 64-bit AMD/Intel x86 processor |
Registry ID: features
ID | Description |
---|---|
64bit | Running on a 64-bit CPU (note: symbol starts with number) |
airship | Airship Scheme |
big-endian | The CPU byte order is big-endian |
bigloo | Bigloo |
bsd | Operating system in BSD Unix family |
chezscheme | Chez Scheme |
chibi | Chibi-Scheme |
chicken | CHICKEN |
clang | LLVM clang compiler [Chicken] |
clr | Running on a Common Language Runtime (.NET CLR) |
complex | Complex numbers are provided |
crypto | Crypto interface [Sagittarius] |
csi | Chicken Scheme interpreter |
cyclone | Cyclone |
cygwin | Cygwin Unix emulator on Windows |
darwin | Operating system based on Darwin kernel (Apple macOS X, iOS) |
dload | Dynamic loading of C libraries [Chicken] |
dragonfly | DragonFly BSD operating system |
dynamic-loading | Dynamic loading of C libraries [Chibi] |
exact-closed | The algebraic operations +, -, *, and expt (where the second argument is a non-negative integer) produce exact values given exact inputs |
exact-complex | Exact complex numbers are provided |
ffi | [Sagittarius] |
ffi-vargs | [Sagittarius] |
freebsd | FreeBSD operating system |
full-numeric-tower | All RnRS number types are implemented [Chicken] |
full-unicode | All Unicode characters present in Unicode version 6.0 are supported as Scheme characters |
gambit | Gambit Scheme |
gauche | Gauche |
gerbil | Gerbil Scheme |
gnu | Operating system with GNU userland |
gnu-linux | GNU/Linux operating system distribution |
guile | GNU Guile |
i386 | 32-bit Intel/AMD x86 processor |
ieee-float | Inexact numbers are IEEE 754 binary floating point values |
ikarus | Ikarus Scheme |
ilp32 | C language int, long and pointer types are all 32 bits wide |
ilp64 | C language int, long, and pointer types are all 64 its wide |
ironscheme | IronScheme |
jazz | JazzScheme |
jvm | Running on a Java Virtual Machine (JVM) |
kawa | Kawa |
larceny | Larceny |
linux | Operating system based on Linux kernel |
little-endian | The CPU byte order is little-endian |
llvm | Running on the LLVM compiler infrastructure |
loko | Loko Scheme |
lp64 | C language int type is 32 bits, long and pointer 64 bits wide |
macosx | Apple MacOS X operating system (see also: darwin) |
manyargs | [Chicken] |
mit | MIT Scheme |
mit/gnu | MIT/GNU Scheme |
modules | [Chibi] |
mzscheme | MzScheme |
netbsd | NetBSD operating system |
odbc | ODBC interface [Sagittarius] |
openbsd | OpenBSD operating system |
picrin | Picrin |
posix | POSIX-compatible operating system |
ppc | PowerPC processor |
ptables | [Chicken] |
r7rs | All R7RS Scheme implementations have this feature |
racket | Racket |
ratios | / with exact arguments produces an exact result when the divisor is nonzero |
regexp-backrefs | [SRFI 115] |
regexp-look-around | [SRFI 115] |
regexp-non-greedy | [SRFI 115] |
regexp-unicode | [SRFI 115] |
s7 | s7 |
s9fes | Scheme 9 from Empty Space |
sagittarius | Sagittarius Scheme |
sigscheme | SigScheme |
socket | Sockets interface [Sagittarius] |
solaris | Operating system in Solaris family |
sparc | Sun SPARC processor |
srfi-* | Scheme Request for Implementation number N implemented |
stklos | STklos |
swank | Common Lisp SWANK remote REPL protocol supported |
syntax-case | syntax-case macros are available |
termios | Termios interface [Sagittarius] |
threads | Multi-threading is supported (either green threads or OS threads) |
tinyscheme | TinyScheme |
unix | Unix-like operating system |
unsyntax | Unsyntax |
uvector | [Chibi] |
vicare | Vicare |
windows | Operating system in Windows family |
x86-64 | 64-bit AMD/Intel x86 processor |
ypsilon | Ypsilon |
zlib | Zlib interface [Sagittarius] |
Registry ID: cond-expand
ID | Description |
---|---|
(and expr ...) | True iif every expr is true. [SRFI 0] |
(compilation-target target ...) | True iif at least one target is supported. [Gambit] |
(library name) | True iif library name is importable. [R7RS] |
(not expr) | True iif expr is false. [SRFI 0] |
(or expr ...) | True iif at least one expr is true. [SRFI 0] |
Registry ID: library-name
ID | Description |
---|---|
airship | Airship Scheme |
bigloo | Bigloo |
chezscheme | Chez Scheme |
chibi | Chibi-Scheme |
chicken | CHICKEN |
cyclone | Cyclone |
gambit | Gambit Scheme |
gauche | Gauche |
gerbil | Gerbil Scheme |
guile | GNU Guile |
ikarus | Ikarus Scheme |
ironscheme | IronScheme |
jazz | JazzScheme |
kawa | Kawa |
larceny | Larceny |
loko | Loko Scheme |
mit | MIT Scheme |
mzscheme | MzScheme |
picrin | Picrin |
racket | Racket |
rnrs | Standard Scheme (R6RS and up) |
s7 | s7 |
s9fes | Scheme 9 from Empty Space |
sagittarius | Sagittarius Scheme |
scheme | Standard Scheme (R7RS and up) |
sigscheme | SigScheme |
srfi | Scheme Requests for Implementation |
stklos | STklos |
tinyscheme | TinyScheme |
unsyntax | Unsyntax |
vicare | Vicare |
ypsilon | Ypsilon |
Registry ID: library-name-scheme
ID | Description |
---|---|
@vector | Homogeneous vectors [SRFI 160, R7RS Large: Tangerine Edition] |
base | [R7RS-small] |
bitwise | Bitwise operations [SRFI 151, R7RS Large: Tangerine Edition] |
box | Boxes [SRFI 111, R7RS Large: Red Edition] |
bytevector | Byte vectors [R7RS Large: Tangerine Edition] |
case-lambda | [R7RS-small] |
char | [R7RS-small] |
charset | Charset library [SRFI 14, R7RS Large: Red Edition] |
comparator | Comparators [SRFI 128, R7RS Large: Red Edition] |
complex | [R7RS-small] |
cxr | [R7RS-small] |
division | Integer division [SRFI 141, R7RS Large: Tangerine Edition] |
ephemeron | Ephemerons [SRFI 124, R7RS Large: Red Edition] |
eval | [R7RS-small] |
flonum | Flonums [SRFI 144, R7RS Large: Tangerine Edition] |
generator | Generators [SRFI 158, R7RS Large: Tangerine Edition] |
generator | Generators [SRFI 121, R7RS Large: Red Edition] |
hash-table | Hash tables [SRFI 125, R7RS Large: Red Edition] |
ideque | Immutable deques [SRFI 134, R7RS Large: Red Edition] |
ilist | Immutable lists [SRFI 116, R7RS Large: Red Edition] |
inexact | [R7RS-small] |
list | List library [SRFI 1, R7RS Large: Red Edition] |
list-queue | Queued-based lists [SRFI 117, R7RS Large: Red Edition] |
load | [R7RS-small] |
lseq | Lazy sequences [SRFI 127, R7RS Large: Red Edition] |
mapping | Mappings [SRFI 146, R7RS Large: Tangerine Edition] |
process-context | [R7RS-small] |
read | [R7RS-small] |
regex | Regular expressions [SRFI 115, R7RS Large: Tangerine Edition] |
repl | [R7RS-small] |
rlist | Functional, random-access pairs and lists [SRFI 101, R7RS Large: Red Edition] |
set | Sets and bags [SRFI 113, R7RS Large: Red Edition] |
show | Combinator Formatting [SRFI 159, R7RS Large: Tangerine Edition] |
sort | Sort libraries [SRFI 132, R7RS Large: Red Edition] |
stream | Streams library [SRFI 41, R7RS Large: Red Edition] |
text | Immutable strings [SRFI 135, R7RS Large: Red Edition] |
time | [R7RS-small] |
vector | Vector library [SRFI 133, R7RS Large: Red Edition] |
write | [R7RS-small] |
Registry ID: character-name
ID | Escape | Description |
---|---|---|
alarm | \a | U+0007 [R6RS, R7RS] |
backspace | \b | U+0008 [R6RS, R7RS] |
bel |
| U+0007 [Chez Scheme] |
delete |
| U+007F [R6RS, R7RS] |
esc |
| U+001B [R6RS] |
escape |
| U+001B [R7RS] |
linefeed | \n | U+000A [R6RS] |
ls |
| U+2028 [Chez Scheme] |
nel |
| U+0085 [Chez Scheme] |
newline | \n | U+000A [R6RS, R7RS] |
nul |
| U+0000 [R6RS] |
null |
| U+0000 [R7RS] |
page |
| U+000C [R6RS] |
return | \r | U+000D [R6RS, R7RS] |
rubout |
| U+007F [Chez Scheme] |
space |
| U+0020 [R6RS, R7RS] |
tab | \t | U+0009 [R6RS, R7RS] |
vt |
| U+000B [Chez Scheme] |
vtab |
| U+000B [R6RS] |
Registry ID: hash-syntax
ID | Description |
---|---|
#! | Identifier follows [R6RS+]; Unix script [SRFI 22]; #! ... !# comment [Guile] |
#"..." | Interpolated string [Gauche] |
#${...} | Binary blob [Chicken] |
#' | Syntax datum [R6RS, syntax-case] |
#(...) | Vector [R7RS] |
#*"..." | Incomplete string [Gauche] |
#+ | Read-time conditional [Chicken] |
#, | unsyntax [R6RS, syntax-case]; Reader constructor [SRFI 10] |
#,@ | unsyntax-splicing [R6RS, syntax-case] |
#/.../ | Regular expression [Gauche] |
#: | Keyword object [Chicken, Guile, s7]; Keyword marker [Kawa, Racket]; Uninterned symbol [Gauche] |
#; | S-expression comment [R6RS, R7RS, SRFI 62] |
#<...> | XML literal [SRFI 107]; Unreadable object [Gambit, Gauche]; import reader macro from this library [Sagittarius] |
#<< | Multi-line string literal [Gambit] |
#<n># | Datum reference [R7RS] |
#<n>= | Datum label [R7RS] |
#? | Debug macro [Gauche] |
#[...] | Character set [Gauche] |
#\ | Literal character [R2RS+] |
#` | quasisyntax [R6RS, syntax-case]; legacy interpolated string [Gauche] |
#|...|# | Block comment [R6RS, R7RS, SRFI 30] |
#a | Array [SRFI 58, SRFI 163] |
#b | Binary integer [R2RS+] |
#c<n>(...) | n-bit complex vector [SRFI 160: n = 64, 128] |
#ci | Change to case insensitive identifiers [Chicken] |
#cs | Change to case sensitive identifiers [Chicken] |
#<n>d(...) | n-dimensional array [s7] |
#d | Decimal number [R2RS+] |
#e | Exact number [R2RS+] |
#f | Boolean false [R3RS+] |
#f<n>(...) | n-bit float vector [SRFI 4, 160: n = 32, 64] |
#false | Boolean false [R7RS] |
#<n>i(...) | n-dimensional signed integer array [s7] |
#i | Inexact number [R2RS+] |
#i<n>d(...) | n-dimensional signed integer array [s7] |
#lang | Declare which programming language is used [Racket] |
#o | Octal integer [R2RS+] |
#<n>r | Number in radix n [Chez Scheme] |
#<n>r(...) | n-dimensional real (i.e. float) array [s7] |
#r<n>d(...) | n-dimensional real (i.e. float) array [s7] |
#s<n>(...) | n-bit signed integer vector [SRFI 4, 160: n = 8, 16, 32, 64] |
#t | Boolean true [R3RS+] |
#true | Boolean true [R7RS] |
#<n>u(...) | n-dimensional byte array [s7] |
#u<n>(...) | n-bit unsigned integer vector [SRFI 4, 160: n = 8, 16, 32, 64] |
#u<n>d(...) | n-dimensional byte array [s7] |
#u8(...) | Bytevector [R7RS] |
#u8"..." | String-notated bytevector [SRFI 207] |
#vu8(...) | Bytevector [R6RS] |
#x | Hexadecimal integer [R2RS+] |
Registry ID: hash-bang-syntax
ID | Role | Description |
---|---|---|
bwp | object | broken-weak-pair object [Chez Scheme] |
chezscheme | directive | change to Chez Scheme read syntax |
compatible | directive | R6RS+R7RS+keywords compatible syntax [Sagittarius] |
deprecated | directive | display warning message of deprecated library [Sagittarius] |
eof | object | end-of-file object [Chez Scheme, Chicken, Gambit, Kawa] |
err5rs | directive | change to R7RS/R6RS syntax with extensions [Larceny] |
false | object | the boolean value false [R2RS, archaic] |
fold-case | directive | change to case insensitive identifiers [R7RS] |
key | keyword | start keyword arguments in lambda list [DSSSL, SRFI 89] |
larceny | directive | implies #!no-fold-case and #!err5rs [Larceny] |
no-fold-case | directive | change to case sensitive identifiers [R7RS] |
no-overwrite | directive | deny overwriting exported variables [Sagittarius] |
nocache | directive | disable cache on the current loading file [Sagittarius] |
null | object | the empty list [R2RS, archaic]; Java null [Kawa] |
optional | keyword | start optional arguments in lambda list [SRFI 89, MIT Scheme] |
r5rs | directive | change to R7RS syntax with #!fold-case [Larceny] |
r6rs | directive | change to R6RS read syntax [R6RS] |
r7rs | directive | change to R7RS syntax with #!no-fold-case [Gauche, Larceny, Sagittarius] |
read-macro | directive | #!read-macro=name is the same as #<name> [Sagittarius] |
reader | directive | #!reader=name replaces the reader with that library [Sagittarius] |
rest | keyword | start rest argument in lambda list [SRFI 89, MIT Scheme] |
true | object | the boolean value true [R2RS, archaic] |
void | object | void object [Gambit, Kawa] |
Registry ID: filename-extension
Extension | Stands for | Description |
---|---|---|
.scm | Scheme | Source code for any implementation or standard |
.sps | Scheme program source | R6RS program |
.sls | Scheme library source | R6RS (library ...) form |
.sld | Scheme library definition | R7RS (define-library ...) form |
.rkt | Racket | Racket source code with #lang at the top |
.scr | Scribe | Text document written using Scheme Scribe |
.scrbl | Scribble | Text document written using Scribble |
.ss | Scheme source | Equivalent to .scm |
.sc | Scheme | Equivalent to .scm [rare] |
.sch | Scheme | Equivalent to .scm [rare] |
.sps7 | Scheme program source | R7RS program [rare] |
.six | Scheme infix | Scheme + infix lexical syntax [Gambit] |
.spi | Scheme package interface | ScmPkg package definition file [Bigloo, STklos] |
.stk | STk | Scheme code written in the STk/STklos dialect |
.ostk | Object STk | Compiled STklos Scheme code |
.brl | Beautiful Report Language | Text document in BRL [Kawa] |
.krl | Kawa Report Language | Text document in KRL [Kawa] |
Registry ID: version-flag-property
ID | Description | Type |
---|---|---|
build.configure | Command line arguments to configure script | string ... |
build.date | Date (and time) of build | iso-date-string |
build.git.branch | Git repository state at build time - branch | string |
build.git.commit | Git repository state at build time - commit hash | string |
build.git.modified | Git repository state at build time - dirty files | string ... |
build.git.tag | Git repository state at build time - tag | string |
build.platform | OS/machine/etc. for which build was made | string |
c.compile | C programming language compiler command | string ... |
c.link | C programming language linker command | string ... |
c.type-bits | C programming language data type sizes | (symbol integer) ... |
c.version | C programming language compiler version | string |
command | Canonical shell command name for this program | string |
encodings | Character encodings supported by the implementation, default first | symbol ... |
image.date | Date (and time) the Scheme image was saved | iso-date-string |
image.file | File the Scheme image is loaded from | string |
install-dir | Installation prefix directory (e.g. /usr/local) | string |
jvm.* | Java system properties | string |
languages | Programming languages supported by the implementation | symbol ... |
os.env.* | Runtime environment variables | string |
os.stdio | Stdin, stdout, and stderr file types | symbol symbol symbol |
os.uname | Runtime Unix uname values | string string string |
release | Last release version number | string |
release.date | Last release date | iso-date-string |
release.name | Last release codename | string |
scheme.features | List of cond-expand features present | symbol ... |
scheme.id | The scheme-id of this implementation | symbol |
scheme.path | Directories to search for Scheme libraries | string ... |
scheme.srfi | Supported SRFIs (list may not be exhaustive) | integer ... |
website | URL of the implementation's website | string |