Kawa implements the following semi-standard SRFIs (Scheme Request for Implementation):
SRFI 0: Feature-based conditional expansion construct, using
cond-expand
- see the section called “Syntax and conditional compilation”.SRFI 1: List Library, if
(require 'list-lib)
.SRFI 2: AND-LET*: an AND with local bindings, a guarded LET* special form.
SRFI 4: Homogeneous numeric vector datatypes - see the section called “Uniform vectors”.
SRFI 6: Basic String Ports - see the section called “Ports”.
SRFI 8:
receive
: Binding to multiple values - see the section called “Multiple values”.SRFI 9: Defining Record Types, using
define-record-type
- see the section called “Record types”.SRFI 11: Syntax for receiving multiple values, using
let-values
andlet*-value
- see the section called “Multiple values”.SRFI 13: String Library. Needs some polishing.
SRFI 14: Character-set Library - see the section called “Character sets”.
SRFI 16: Syntax for procedures of variable arity, using
case-lambda
.SRFI 17: Generalized
set!
- see the section called “Locations”.SRFI 23: Error reporting mechanism, using
error
- see the section called “Exception handling”.SRFI 25: Multi-dimensional Array Primitives - see the section called “Multi-dimensional Arrays”.
SRFI 26: Notation for Specializing Parameters without Currying - see the section called “Procedures”.
SRFI 28: Basic Format Strings - see the section called “Formatted Output (Common-Lisp-style)”.
SRFI 30: Nested Multi-line Comments.
SRFI 37:
args-fold
- a program argument processor, if(require 'args-fold)
.SRFI 38: External Representation for Data With Shared Structure. The
read-with-shared-structure
is missing, but subsumed byread
.SRFI 41: Streams - see the section called “Streams - lazy lists”.
SRFI 45: Primitives for Expressing Iterative Lazy Algorithms - see the section called “Lazy evaluation”.
SRFI 60: Integers as Bits.
SRFI 62: S-expression comments.
SRFI 64: A Scheme API for test suites.
SRFI 69: Basic hash tables - see the section called “Hash tables”.
SRFI 87:
=>
incase
clauses.SRFI 88: Keyword objects - see the section called “Keywords”.
SRFI 95: Sorting and Merging.
SRFI 97: Names for SRFI Libraries.
SRFI 98: An interface to access environment variables
SRFI 107: XML reader syntax - see the section called “XML literals”.
SRFI 108: Named quasi-literal constructors - see the section called “Named quasi-literals”.