R7RS
This page is an attempt to organize the libraries of R7RS (small and Large) into a single, sensible hierarchy.
An R7RS small HyperSpec would be terribly handy. Unfortunately, the spec itself was written in a custom dialect of TeX.
(scheme base)
: Core language (small)- Procedures and syntax
(scheme case-lambda)
: Procedures of variable arity (small, from SRFI 16)(scheme eval)
: First class environments (small)(scheme repl)
: Environment for interaction with a Scheme interpreter (small)
(scheme lazy)
: Primitives for lazy evaluation (small)(scheme generator)
: Procedures for iteration and accumulation (Tangerine, from SRFI 158; compatibly replaces SRFI 121 from Red)(scheme comparator)
: Comparators (Red, from SRFI 128)
- Data structures
(scheme cxr)
: Compositions ofcar
andcdr
up to four deep (small;(scheme base)
includes two-deep compositions).(scheme list)
: List processing utilities (Red, from SRFI 1)(scheme vector)
: Vector processing utilities (Red, from SRFI 133)(scheme sort)
: Sorting and merging lists and vectors (Red, from SRFI 132)(scheme set)
: Sets and bags (i.e. counters) (Red, from SRFI 113)(scheme hash-table)
: Hash tables (Red, from SRFI 125)(scheme mapping)
: Mappings (Tangerine, from SRFI 146)(scheme mapping hash)
: Hash-based mappings (Tangerine, from SRFI 146)
(scheme ilist)
: Immutable pairs and lists (Red, from SRFI 116)(scheme rlist)
: ‘Random-access’ lists with logarithmic access time (Red, from SRFI 101)(scheme ideque)
: Persistent double-ended queues (Red, from SRFI 134)(scheme lseq)
: Lazy sequences (Red, from SRFI 127)(scheme stream)
: Streams (i.e. lazy lists) (Red, from SRFI 41)(scheme list-queue)
: Lists with O(1) addition at both ends (i.e. tconcs) (Red, from SRFI 117)(scheme box)
: Boxes (i.e. single-slot records) (Red, from SRFI 111)(scheme ephemeron)
: Boxes with weak references (Red, from SRFI 124)
- Numerical operations
(scheme complex)
: Complex number library (small)(scheme inexact)
: Procedures for inexact numbers (small)(scheme division)
: Integer quotients and remainders (Tangerine, from SRFI 141)(scheme bitwise)
: Bitwise integer operations (Tangerine, from SRFI 151)- Optimized procedures for internal numeric types:
- String processing
(scheme char)
: Character and string case folding and character class detection (small)(scheme charset)
: Character sets (Red, from SRFI 14)(scheme text)
: Immutable strings with O(1) codepoint indexing (Red, from SRFI 135)(scheme regex)
: Regular expressions (Tangerine, from SRFI 115)(scheme show)
: Formatting Scheme datums to strings (Tangerine, from SRFI 159)
- Input/output and operating system utilities
(scheme file)
: Opening, reading, and writing operating system files (small)(scheme load)
: Loading Scheme expressions from files. (small)(scheme process-context)
: Reading (but not modifying) the operating system context (small)(scheme time)
: Access to the operating system clock (small)(scheme write)
: Writing Scheme objects to ports (small)