SRFI Support Modules
SRFI is an acronym for Scheme Request For Implementation. The SRFI documents define a lot of syntactic and procedure extensions to standard Scheme as defined in R5RS.
Guile has support for a number of SRFIs. This chapter gives an overview over the available SRFIs and some usage hints. For complete documentation, design rationales and further examples, we advise you to get the relevant SRFI documents from the SRFI home page http://srfi.schemers.org/.
- About SRFI Usage
- SRFI-0 - cond-expand
- SRFI-1 - List library
- SRFI-2 - and-let*
- SRFI-4 - Homogeneous numeric vector datatypes
- SRFI-6 - Basic String Ports
- SRFI-8 - receive
- SRFI-9 - define-record-type
- SRFI-10 - Hash-Comma Reader Extension
- SRFI-11 - let-values
- SRFI-13 - String Library
- SRFI-14 - Character-set Library
- SRFI-16 - case-lambda
- SRFI-17 - Generalized set!
- SRFI-18 - Multithreading support
- SRFI-19 - Time/Date Library
- SRFI-23 - Error Reporting
- SRFI-26 - specializing parameters
- SRFI-27 - Sources of Random Bits
- SRFI-28 - Basic Format Strings
- SRFI-30 - Nested Multi-line Comments
- SRFI-31 - A special form ‘rec’ for recursive evaluation
- SRFI-34 - Exception handling for programs
- SRFI-35 - Conditions
- SRFI-37 - args-fold
- SRFI-38 - External Representation for Data With Shared Structure
- SRFI-39 - Parameters
- SRFI-41 - Streams
- SRFI-42 - Eager Comprehensions
- SRFI-43 - Vector Library
- SRFI-45 - Primitives for Expressing Iterative Lazy Algorithms
- SRFI-46 Basic syntax-rules Extensions
- SRFI-55 - Requiring Features
- SRFI-60 - Integers as Bits
- SRFI-61 - A more general
condclause - SRFI-62 - S-expression comments.
- SRFI-64: A Scheme API for Test Suites
- SRFI-67 - Compare procedures
- SRFI-69 - Basic hash tables
- SRFI-71 - Extended let-syntax for multiple values
- SRFI-87 => in case clauses
- SRFI-88 Keyword Objects
- SRFI-98 Accessing environment variables.
- SRFI-105 Curly-infix expressions.
- SRFI-111 Boxes.
- SRFI-119 Wisp: simpler indentation-sensitive Scheme.
- Transducers
- SRFI-197: Pipeline Operators
- SRFI-207 String-notated bytevectors
- SRFI-244 - Multiple-value Definitions