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, subscribe). Feel free to suggest additions and corrections there. Source is in a git repository.

Scheme standards

Registry ID: scheme-standard

IDName
dssslDocument Style Semantics and Specification Language (ISO/IEC 10179:1996)
ieee-1178-1990IEEE Standard for the Scheme Programming Language (1178-1990)
r0rsScheme: An Interpreter for Extended Lambda Calculus (AI Memo No. 349)
r1rsThe Revised Report on Scheme (AI Memo No. 452)
r2rsThe Revised Revised Report on Scheme (AI Memo No. 848)
r3rsRevised^3 Report on the Algorithmic Language Scheme
r4rsRevised^4 Report on the Algorithmic Language Scheme
r5rsRevised^5 Report on the Algorithmic Language Scheme
r6rsRevised^6 Report on the Algorithmic Language Scheme
r7rsRevised^7 Report on the Algorithmic Language Scheme (small language)
r7rs-largeRevised^7 Report on the Algorithmic Language Scheme (large language)

Scheme implementations

Registry ID: scheme-id

Scheme IDs for use in features, cond-expand, and many other places.

IDNameContact
airshipAirship SchemeMichael Babich
biglooBiglooManuel Serrano
chezschemeChez SchemeKent Dybvig
chibiChibi-SchemeAlex Shinn
chickenCHICKENFelix Winkelmann
cycloneCycloneJustin Ethier
gambitGambit SchemeMarc Feeley
gaucheGaucheShiro Kawai
gerbilGerbil SchemeDimitris Vyzovitis
guileGNU GuileAndy Wingo
ikarusIkarus SchemeAbdulaziz Ghuloum
ironschemeIronSchemeLlewellyn Pritchard
jazzJazzSchemeGuillaume Cartier
kawaKawaPer Bothner
larcenyLarcenyWilliam Clinger
lokoLoko SchemeGöran Weinholt
mitMIT SchemeChris Hanson
mzschemeMzSchemeMatthew Flatt
picrinPicrinYuichi Nishiwaki
racketRacketMatthew Flatt
s7s7Bill Schottstaedt
s9fesScheme 9 from Empty SpaceNils Holm
sagittariusSagittarius SchemeTakashi Kato
sigschemeSigSchemeKazuki Ohta
stklosSTklosErick Gallesio
unsyntaxUnsyntaxMarc Nieper-Wißkirchen
ypsilonYpsilonYoshikatsu Fujita

Operating systems

Registry ID: operating-system

IDDescription
bsdOperating system in BSD Unix family
cygwinCygwin Unix emulator on Windows
darwinOperating system based on Darwin kernel (Apple macOS X, iOS)
dragonflyDragonFly BSD operating system
freebsdFreeBSD operating system
gnuOperating system with GNU userland
gnu-linuxGNU/Linux operating system distribution
linuxOperating system based on Linux kernel
macosxApple MacOS X operating system (see also: darwin)
netbsdNetBSD operating system
openbsdOpenBSD operating system
posixPOSIX-compatible operating system
solarisOperating system in Solaris family
unixUnix-like operating system
windowsOperating system in Windows family

Machines

Registry ID: machine

IDDescription
i38632-bit Intel/AMD x86 processor
ppcPowerPC processor
sparcSun SPARC processor
x86-6464-bit AMD/Intel x86 processor

Feature identifiers

Registry ID: features

IDDescription
64bitRunning on a 64-bit CPU (note: symbol starts with number)
airshipAirship Scheme
big-endianThe CPU byte order is big-endian
biglooBigloo
bsdOperating system in BSD Unix family
chezschemeChez Scheme
chibiChibi-Scheme
chickenCHICKEN
clangLLVM clang compiler [Chicken]
clrRunning on a Common Language Runtime (.NET CLR)
complexComplex numbers are provided
cryptoCrypto interface [Sagittarius]
csiChicken Scheme interpreter
cycloneCyclone
cygwinCygwin Unix emulator on Windows
darwinOperating system based on Darwin kernel (Apple macOS X, iOS)
dloadDynamic loading of C libraries [Chicken]
dragonflyDragonFly BSD operating system
dynamic-loadingDynamic loading of C libraries [Chibi]
exact-closedThe algebraic operations +, -, *, and expt (where the second argument is a non-negative integer) produce exact values given exact inputs
exact-complexExact complex numbers are provided
ffi[Sagittarius]
ffi-vargs[Sagittarius]
freebsdFreeBSD operating system
full-numeric-towerAll RnRS number types are implemented [Chicken]
full-unicodeAll Unicode characters present in Unicode version 6.0 are supported as Scheme characters
gambitGambit Scheme
gaucheGauche
gerbilGerbil Scheme
gnuOperating system with GNU userland
gnu-linuxGNU/Linux operating system distribution
guileGNU Guile
i38632-bit Intel/AMD x86 processor
ieee-floatInexact numbers are IEEE 754 binary floating point values
ikarusIkarus Scheme
ilp32C language int, long and pointer types are all 32 bits wide
ilp64C language int, long, and pointer types are all 64 its wide
ironschemeIronScheme
jazzJazzScheme
jvmRunning on a Java Virtual Machine (JVM)
kawaKawa
larcenyLarceny
linuxOperating system based on Linux kernel
little-endianThe CPU byte order is little-endian
llvmRunning on the LLVM compiler infrastructure
lokoLoko Scheme
lp64C language int type is 32 bits, long and pointer 64 bits wide
macosxApple MacOS X operating system (see also: darwin)
manyargs[Chicken]
mitMIT Scheme
mit/gnuMIT/GNU Scheme
modules[Chibi]
mzschemeMzScheme
netbsdNetBSD operating system
odbcODBC interface [Sagittarius]
openbsdOpenBSD operating system
picrinPicrin
posixPOSIX-compatible operating system
ppcPowerPC processor
ptables[Chicken]
r7rsAll R7RS Scheme implementations have this feature
racketRacket
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]
s7s7
s9fesScheme 9 from Empty Space
sagittariusSagittarius Scheme
sigschemeSigScheme
socketSockets interface [Sagittarius]
solarisOperating system in Solaris family
sparcSun SPARC processor
srfi-*Scheme Request for Implementation number N implemented
stklosSTklos
swankCommon Lisp SWANK remote REPL protocol supported
syntax-casesyntax-case macros are available
termiosTermios interface [Sagittarius]
threadsMulti-threading is supported (either green threads or OS threads)
unixUnix-like operating system
unsyntaxUnsyntax
uvector[Chibi]
windowsOperating system in Windows family
x86-6464-bit AMD/Intel x86 processor
ypsilonYpsilon
zlibZlib interface [Sagittarius]

Library name prefixes

Registry ID: library-name

IDDescription
airshipAirship Scheme
biglooBigloo
chezschemeChez Scheme
chibiChibi-Scheme
chickenCHICKEN
cycloneCyclone
gambitGambit Scheme
gaucheGauche
gerbilGerbil Scheme
guileGNU Guile
ikarusIkarus Scheme
ironschemeIronScheme
jazzJazzScheme
kawaKawa
larcenyLarceny
lokoLoko Scheme
mitMIT Scheme
mzschemeMzScheme
picrinPicrin
racketRacket
rnrsStandard Scheme (R6RS and up)
s7s7
s9fesScheme 9 from Empty Space
sagittariusSagittarius Scheme
schemeStandard Scheme (R7RS and up)
sigschemeSigScheme
srfiScheme Requests for Implementation
stklosSTklos
unsyntaxUnsyntax
ypsilonYpsilon

Library names under (scheme ...)

Registry ID: library-name-scheme

IDDescription
@vectorHomogeneous vectors [SRFI 160, R7RS Large: Tangerine Edition]
base[R7RS-small]
bitwiseBitwise operations [SRFI 151, R7RS Large: Tangerine Edition]
boxBoxes [SRFI 111, R7RS Large: Red Edition]
bytevectorByte vectors [R7RS Large: Tangerine Edition]
case-lambda[R7RS-small]
char[R7RS-small]
charsetCharset library [SRFI 14, R7RS Large: Red Edition]
comparatorComparators [SRFI 128, R7RS Large: Red Edition]
complex[R7RS-small]
cxr[R7RS-small]
divisionInteger division [SRFI 141, R7RS Large: Tangerine Edition]
ephemeronEphemerons [SRFI 124, R7RS Large: Red Edition]
eval[R7RS-small]
flonumFlonums [SRFI 144, R7RS Large: Tangerine Edition]
generatorGenerators [SRFI 158, R7RS Large: Tangerine Edition]
generatorGenerators [SRFI 121, R7RS Large: Red Edition]
hash-tableHash tables [SRFI 125, R7RS Large: Red Edition]
idequeImmutable deques [SRFI 134, R7RS Large: Red Edition]
ilistImmutable lists [SRFI 116, R7RS Large: Red Edition]
inexact[R7RS-small]
listList library [SRFI 1, R7RS Large: Red Edition]
list-queueQueued-based lists [SRFI 117, R7RS Large: Red Edition]
load[R7RS-small]
lseqLazy sequences [SRFI 127, R7RS Large: Red Edition]
mappingMappings [SRFI 146, R7RS Large: Tangerine Edition]
process-context[R7RS-small]
read[R7RS-small]
regexRegular expressions [SRFI 115, R7RS Large: Tangerine Edition]
repl[R7RS-small]
rlistFunctional, random-access pairs and lists [SRFI 101, R7RS Large: Red Edition]
setSets and bags [SRFI 113, R7RS Large: Red Edition]
showCombinator Formatting [SRFI 159, R7RS Large: Tangerine Edition]
sortSort libraries [SRFI 132, R7RS Large: Red Edition]
streamStreams library [SRFI 41, R7RS Large: Red Edition]
textImmutable strings [SRFI 135, R7RS Large: Red Edition]
time[R7RS-small]
vectorVector library [SRFI 133, R7RS Large: Red Edition]
write[R7RS-small]

#\ character names

Registry ID: character-name

IDEscapeDescription
alarm\aU+0007 [R6RS, R7RS]
backspace\bU+0008 [R6RS, R7RS]
deleteU+007F [R6RS, R7RS]
escU+001B [R6RS]
escapeU+001B [R7RS]
linefeed\nU+000A [R6RS]
newline\nU+000A [R6RS, R7RS]
nulU+0000 [R6RS]
nullU+0000 [R7RS]
pageU+000C [R6RS]
return\rU+000D [R6RS, R7RS]
spaceU+0020 [R6RS, R7RS]
tab\tU+0009 [R6RS, R7RS]
vtabU+000B [R6RS]

# lexical syntax

Registry ID: hash-syntax

IDDescription
#!Identifier follows [R6RS+]; Unix script [SRFI 22]; #! ... !# comment [Guile]
#"..."Interpolated string [Gauche]
#'Syntax datum [R6RS, syntax-case]
#(...)Vector [R7RS]
#*"..."Incomplete string [Gauche]
#,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]
#<n>dn-dimensional vector [s7]
#<n>rNumber in radix n [Chez Scheme]
#?Debug macro [Gauche]
#[...]Character set [Gauche]
#\Literal character [R2RS+]
#`quasisyntax [R6RS, syntax-case]; legacy interpolated string [Gauche]
#aArray [SRFI 58, SRFI 163]
#bBinary integer [R2RS+]
#ciChange to case insensitive identifiers [Chicken]
#csChange to case sensitive identifiers [Chicken]
#dDecimal number [R2RS+]
#eExact number [R2RS+]
#fBoolean false [R3RS+]
#falseBoolean false [R7RS]
#iInexact number [R2RS+]; n-dimensional integer vector [s7]
#langDeclare which programming language is used [Racket]
#oOctal integer [R2RS+]
#rn-dimensional real (i.e. float) vector [s7]
#tBoolean true [R3RS+]
#trueBoolean true [R7RS]
#u(...)n-dimensional bytevector [s7]
#u8(...)Bytevector [R7RS]
#vu8(...)Bytevector [R6RS]
#xHexadecimal integer [R2RS+]
#|...|#Block comment [R6RS, R7RS, SRFI 30]

#! lexical syntax

Registry ID: hash-bang-syntax

IDRoleDescription
bwpobjectbroken-weak-pair object [Chez Scheme]
chezschemedirectivechange to Chez Scheme read syntax
compatibledirectiveR6RS+R7RS+keywords compatible syntax [Sagittarius]
deprecateddirectivedisplay warning message of deprecated library [Sagittarius]
eofobjectend-of-file object [Chez Scheme, Chicken, Gambit, Kawa]
err5rsdirectivechange to R7RS/R6RS syntax with extensions [Larceny]
falseobjectthe boolean value false [R2RS, archaic]
fold-casedirectivechange to case insensitive identifiers [R7RS]
keykeywordstart keyword arguments in lambda list [DSSSL]
larcenydirectiveimplies #!no-fold-case and #!err5rs [Larceny]
no-fold-casedirectivechange to case sensitive identifiers [R7RS]
no-overwritedirectivedeny overwriting exported variables [Sagittarius]
nocachedirectivedisable cache on the current loading file [Sagittarius]
nullobjectthe empty list [R2RS, archaic]; Java null [Kawa]
optionalkeywordstart optional arguments in lambda list [DSSSL]
r5rsdirectivechange to R7RS syntax with #!fold-case [Larceny]
r6rsdirectivechange to R6RS read syntax [R6RS]
r7rsdirectivechange to R7RS syntax with #!no-fold-case [Gauche, Larceny, Sagittarius]
read-macrodirective#!read-macro=name is the same as #<name> [Sagittarius]
readerdirective#!reader=name replaces the reader with that library [Sagittarius]
restkeywordstart rest argument in lambda list [DSSSL]
trueobjectthe boolean value true [R2RS, archaic]
voidobjectvoid object [Gambit, Kawa]

Filename extensions

Registry ID: filename-extension

ExtensionStands forDescription
.scmSchemeSource code for any implementation or standard
.spsScheme program sourceR6RS program
.slsScheme library sourceR6RS (library ...) form
.sldScheme library definitionR7RS (define-library ...) form
.rktRacketRacket source code with #lang at the top
.scrScribeText document written using Scheme Scribe
.scrblScribbleText document written using Scribble
.ssScheme sourceEquivalent to .scm
.scSchemeEquivalent to .scm [rare]
.schSchemeEquivalent to .scm [rare]
.sps7Scheme program sourceR7RS program [rare]
.sixScheme infixScheme + infix lexical syntax [Gambit]
.spiScheme package interfaceScmPkg package definition file [Bigloo, STklos]
.stkSTkScheme code written in the STk/STklos dialect
.ostkObject STkCompiled STklos Scheme code
.brlBeautiful Report LanguageText document in BRL [Kawa]
.krlKawa Report LanguageText document in KRL [Kawa]

Foreign status sets

Registry ID: foreign-status-set

IDDescriptionSample nameSample code
errnoC/POSIX/Unix errno valuesEINTR4
ftpFile Transfer Protocol reply codes553
gethostbyBSD Unix gethostbyname(), gethostbyaddr(), and h_errno valuesHOST_NOT_FOUND1
httpHypertext Transfer Protocol status codes404
libarchiveThe libarchive archiving and compression libraryARCHIVE_FAILED-25
libcurlThe libcurl networking libraryCURLE_GOT_NOTHING52
libsodiumThe libsodium cryptography library
mysqlMySQL and MariaDB database errorsCR_CONN_HOST_ERROR2003
netdbPOSIX/Unix netdb.h EAI error valuesEAI_AGAIN2
openglThe OpenGL 3D graphics APIGL_INVALID_ENUM#x0500
postgresqlPostgreSQL errorsprotocol_violation08P01
sqliteSQLite database result codesSQLITE_LOCKED6
windowsMicrosoft Windows API (aka win32)ERROR_WOW_ASSERTION670
winsockMicrosoft Windows Sockets APIWSAENOTCONN10057
zlibThe zlib compression libraryZ_STREAM_ERROR-2

Foreign status properties

Registry ID: foreign-status-property

IDDescriptionType
setWhich set of status codessymbol
codeNumeric or pseudo-numeric status codeexact integer or symbol
symbolMnemonic status identifiersymbol
messageBrief human-readable status messagestring
message-localesLanguages in which message is availablelist of BCP 47 strings
message-detailDetailed human-readable status messagestring
message-hintHuman-readable troubleshooting tipsstring
filenameFile that this status concernsstring
line-numberLine number in textpositive exact integer
column-numberColumn number on this line of textpositive exact integer
sqlstate5-character ANSI/ODBC SQLSTATE codestring
class-codeNumeric or pseudo-numeric code of the status classexact integer or symbol
class-titleHuman-readable name of the status classstring
facilitysyslog-style facilitysymbol
severitysyslog-style how severe the situation issymbol

Version flag properties

Registry ID: version-flag-property

IDDescriptionType
build.configureCommand line arguments to configure scriptstring ...
build.dateDate (and time) of buildiso-date-string
build.git.branchGit repository state at build time - branchstring
build.git.commitGit repository state at build time - commit hashstring
build.git.modifiedGit repository state at build time - dirty filesstring ...
build.git.tagGit repository state at build time - tagstring
build.platformOS/machine/etc. for which build was madestring
c.compileC programming language compiler commandstring ...
c.linkC programming language linker commandstring ...
c.type-bitsC programming language data type sizes(symbol integer) ...
c.versionC programming language compiler versionstring
commandCanonical shell command name for this programstring
encodingsCharacter encodings supported by the implementation, default firstsymbol ...
image.dateDate (and time) the Scheme image was savediso-date-string
image.fileFile the Scheme image is loaded fromstring
install-dirInstallation prefix directory (e.g. /usr/local)string
jvm.*Java system propertiesstring
languagesProgramming languages supported by the implementationsymbol ...
os.env.*Runtime environment variablesstring
os.stdioStdin, stdout, and stderr file typessymbol symbol symbol
os.unameRuntime Unix uname valuesstring string string
releaseLast release version numberstring
release.dateLast release dateiso-date-string
release.nameLast release codenamestring
scheme.featuresList of cond-expand features presentsymbol ...
scheme.idThe scheme-id of this implementationsymbol
scheme.pathDirectories to search for Scheme librariesstring ...
scheme.srfiSupported SRFIs (list may not be exhaustive)integer ...
websiteURL of the implementation's websitestring