Scheme Registry
Scheme Registry
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
). Feel free to suggest additions and corrections there. Source is in a
git repository
Scheme standards
Registry ID:
scheme-standards
Source file:
scheme-standards.pose
ID
Name
Year
Series
r0rs
Scheme: An Interpreter for Extended Lambda Calculus
1975
AI Memo No. 349
r1rs
The Revised Report on Scheme
1978
AI Memo No. 452
r2rs
The Revised Revised Report on Scheme
1985
AI Memo No. 848
r3rs
Revised
Report on the Algorithmic Language Scheme
1986
ieee-1178-1990
IEEE Standard for the Scheme Programming Language
1990
IEEE 1178-1990
r4rs
Revised
Report on the Algorithmic Language Scheme
1991
dsssl
Document Style Semantics and Specification Language
1996
ISO/IEC 10179:1996
r5rs
Revised
Report on the Algorithmic Language Scheme
1998
r6rs
Revised
Report on the Algorithmic Language Scheme
2007
r7rs
Revised
Report on the Algorithmic Language Scheme (small language)
2013
r7rs-large
Revised
Report on the Algorithmic Language Scheme (large language)
Scheme implementations
Registry ID:
scheme-id
Source file:
scheme-id.pose
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
meevax
Meevax
Tatsuya Yamasaki
mit
MIT Scheme
Chris Hanson
mosh
Mosh
Taro Minowa (Higepon)
mzscheme
MzScheme
Matthew Flatt
picrin
Picrin
Yuichi Nishiwaki
racket
Racket
Matthew Flatt
s7
s7
Bill Schottstaedt
s9fes
Scheme 9 from Empty Space
Nils M Holm
sagittarius
Sagittarius Scheme
Takashi Kato
sigscheme
SigScheme
Kazuki Ohta
skint
Skint
Sergei Egorov
steel
Steel
Matthew Paras
stklos
STklos
Erick Gallesio
tinyscheme
TinyScheme
Dimitrios Souflis
tr7
TR7
José Bollo
unsyntax
Unsyntax
Marc Nieper-Wißkirchen
vicare
Vicare
Marco Maggi
ypsilon
Ypsilon
Yoshikatsu Fujita
Operating systems
Registry ID:
operating-systems
Source file:
operating-systems.pose
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
Machines
Registry ID:
machines
Source file:
machines.pose
ID
Description
i386
32-bit Intel/AMD x86 processor
ppc
PowerPC processor
sparc
Sun SPARC processor
x86-64
64-bit AMD/Intel x86 processor
Feature identifiers
Registry ID:
features
Source file:
features.pose
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]
meevax
Meevax
mit
MIT Scheme
mit/gnu
MIT/GNU Scheme
modules
[Chibi]
mosh
Mosh
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
skint
Skint
socket
Sockets interface [Sagittarius]
solaris
Operating system in Solaris family
sparc
Sun SPARC processor
srfi-*
Scheme Request for Implementation number N implemented
steel
Steel
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
tr7
TR7
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]
Tests cond-expand can do
Registry ID:
cond-expand
Source file:
cond-expand.pose
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]
Library name prefixes
Registry ID:
library-names
Source file:
library-names.pose
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
meevax
Meevax
mit
MIT Scheme
mosh
Mosh
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
skint
Skint
srfi
Scheme Requests for Implementation
steel
Steel
stklos
STklos
tinyscheme
TinyScheme
tr7
TR7
unsyntax
Unsyntax
vicare
Vicare
ypsilon
Ypsilon
Library names under (scheme ...)
Registry ID:
library-names-scheme
Source file:
library-names-scheme.pose
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]
#\ character names
Registry ID:
character-names
Source file:
character-names.pose
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]
# lexical syntax
Registry ID:
hash-syntax
Source file:
hash-syntax.pose
A quote ' next to a standard's or implementation's name means the syntax does not yield a self-evaluating object there, and must be quoted to form a valid expression.
ID
Description
#
Object by serial number [Chicken, Gambit]
#!
Identifier follows [R6RS+]; Unix script [SRFI 22]; #! ... !# comment [Guile]
#"..."
Interpolated string [Gauche]
#{...}
Gensym [Chez Scheme]
#${...}
Binary blob [Chicken]
#&
Box ['Chez, 'Gambit, Racket]
#'
syntax [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, Kawa, LIPS]
#:
Keyword object [Chicken, Guile, s7]; Keyword marker [Kawa, Racket]; Uninterned symbol [Gauche]
#;
S-expression comment [R6RS, R7RS, SRFI 62]
#<...>
Unreadable object [Chez Scheme, Chibi-Scheme, Chicken, Gambit, Gauche, Kawa, Mosh, Sagittarius]; XML literal [SRFI 107]; import reader macro from this library [Sagittarius]
#<<
Multi-line string literal [Chicken, Gambit]
##
Datum reference [R7RS]
#=
Datum label [R7RS]
#?
Debug macro [Gauche]
#[...]
Character set [Gauche], Record [Chez Scheme]
#\
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-bit complex vector [SRFI 160: n = 64, 128]
#ci
Change to case insensitive identifiers [Chicken]
#cs
Change to case sensitive identifiers [Chicken]
#d(...)
n-dimensional array [s7]
#d
Decimal number [R2RS+]
#e
Exact number [R2RS+]
#f
Boolean false [R3RS+]
#f(...)
n-bit float vector [SRFI 4, 160: n = 32, 64]
#false
Boolean false [R7RS]
#i(...)
n-dimensional signed integer array [s7]
#i
Inexact number [R2RS+]
#id(...)
n-dimensional signed integer array [s7]
#lang
Declare which programming language is used [Racket]
#o
Octal integer [R2RS+]
#r
Number in radix n [Chez Scheme]
#r(...)
n-dimensional real (i.e. float) array [s7]
#rd(...)
n-dimensional real (i.e. float) array [s7]
#s(...)
n-bit signed integer vector [SRFI 4, 160: n = 8, 16, 32, 64]
#t
Boolean true [R3RS+]
#true
Boolean true [R7RS]
#u(...)
n-dimensional byte array [s7]
#u(...)
n-bit unsigned integer vector [SRFI 4, 160: n = 8, 16, 32, 64]
#ud(...)
n-dimensional byte array [s7]
#u8(...)
Bytevector [R7RS]
#u8"..."
String-notated bytevector [SRFI 207]
#vfx(...)
Fixnum vector aka fxvector [Chez Scheme]
#vu8(...)
Bytevector [R6RS]
#x
Hexadecimal integer [R2RS+]
#! lexical syntax
Registry ID:
hash-bang-syntax
Source file:
hash-bang-syntax.pose
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 # [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]
Filename extensions
Registry ID:
filename-extensions
Source file:
filename-extensions.pose
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
.stklos
STklos
Scheme code written in the 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]
.bin
Binary
SCode compiled source file [MIT Scheme]
.binld
Binary library definition
SCode compiled R7RS library [MIT Scheme]
.com
Compiled
Native code compiled source file [MIT Scheme]
.comld
Compiled library definition
Native code compiled R7RS library [MIT Scheme]
.ext
Extension
Auxiliary for native code compiled source file [MIT Scheme]
.bci
Binary compiler info
Auxiliary for native code compiled source file [MIT Scheme]
.bcild
Binary compiler info, library definition
Auxiliary for native code compiled R7RS library [MIT Scheme]
Version properties
Registry ID:
version-properties
Source file:
version-properties.pose
SRFI 176
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.library.compile
Command to compile C shared library to be loaded by the implementation
string ...
c.library.extension
File name extension (with dot, e.g. ".so" or ".dylib") for shared libraries to be loaded by the implementation
string
c.library.link
Command to link C shared library to be loaded by the implementation
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 ...
scheme.srfi.count
How many SRFIs are known to be supported
integer
threads
Which backends can be used for multithreading on this system? Known values: pthreads, win32
symbol ...
website
URL of the implementation's website
string
Log message fields
Registry ID:
log-message-fields
Source file:
log-message-fields.pose
SRFI 215
Symbol
Mandatory
Meaning
Reference
SEVERITY
yes
severity as an exact integer in [0,7]
RFC 5424, 6.2.1
MESSAGE
yes
free-form message as a string
FACILITY
no
facility as an exact integer
RFC 5424, 6.2.1
APP-NAME
no
APP-NAME as a string
RFC 5424, 6.2.5
PROCID
no
PROCID as a string
RFC 5424, 6.2.6
MSGID
no
MSGID as a string
RFC 5424, 6.2.7
MESSAGE_ID
no
128-bit message identifier
systemd.journal-fields(7)
TOPIC
no
topic (or equivalent) of the logger
Racket
Codesets
Registry ID:
codesets
Source file:
codesets.pose
SRFI 238
ID
Description
Examples
errno
C/Unix errno numbers on current machine
EPERM ENOENT ESRCH
signal
C/Unix signal numbers on current machine
SIGHUP SIGINT SIGQUIT