The Scheme Request for Implementation (SRFI) process grew out of the Scheme Workshop held in Baltimore, MD, on September 26, 1998, where the attendees considered a number of proposals for standardized feature sets for inclusion in Scheme implementations. Many of the proposals received overwhelming support in a series of straw votes. Along with this there was concern that the next Revised Report would not be produced for several years and this would prevent the timely implementation of standardized approaches to several important problems and needs in the Scheme community. Only the implemented SRFIs are (briefly) presented here. For further information on each SRFI, please look at the official SRFI site. SRFI-0 defines the STklos Furthermore, the feature identifier stklos is defined for application which need to know on which Scheme implementation they are running on. SRFI-1 defines an extensive library for list manipulation. The implementation used in STklos is based on the reference implementation from Olin Shivers. To use, SRFI-1 you need to insert the following expression
in your code or uses the SRFI-2 defines an and form with local binding which acts as a guarded let*. To use, SRFI-2 you need to insert the following expression
in your code or uses the SRFI-4 defines a set of data types for vectors whose element are of the same numeric type (homogeneous vectors). To use SRFI-4, you need to insert the following expression
in your code or uses the SRFI-6 is fully supported and is completely
described in this document (procedures
SRFI-7 is fully supported. To use SRFI-7, you need to insert the following expression
in your code or uses the SRFI-8 is fully supported and is completely
described in this document (special form SRFI-9 is fully supported (the implementation uses STklos classes to implement SRFI-9 records). To use SRFI-9, you need to insert the following expression
in your code or uses the SRFI-10 is fully supported. This SRFI extends the
STklos reader with the " SRFI-11 is fully supported. To use SRFI-11, you need to insert the following expression
in your code or uses the SRFI-13 is fully supported. To use SRFI-13, you need to insert the following expression
in your code or uses the SRFI-14 is fully supported. To use SRFI-14, you need to insert the following expression
in your code or uses the SRFI-16 is fully supported and is completely
described in this document (procedure SRFI-17 is fully supported and is completely
described in this document (procedures
in your code (or the use of the SRFI-18 is fully supported and is completely described in this document SRFI-22 describes basic prerequisites for running Scheme programs as Unix scripts in a uniform way. Specifically, it describes:
SRFI-22 (Running Scheme Scripts on Unix) recommends to invoke the Scheme script interpreter from the script via a /usr/bin/env trampoline, like this: where <executable> can recover several specified names.
STklos uses only the name stklos-script for
<executable> .Here is an example of the classical
SRFI-23 is fully supported. See the
documentation of the (ref :mark "error") primitive form more
information (in fact STklos SRFI-26 is fully supported. To use SRFI-31, you need to insert the following expression
in your code or uses the SRFI-27 is fully supported. See random-integer and random-real. SRFI-30 is fully supported by STklos reader. SRFI-31 is fully supported. To use SRFI-31, you need to insert the following expression
in your code or uses the SRFI-34 is fully supported and is completely
described in this document (see SRFI-35 is fully supported. To use SRFI-35, you need to insert the following expression
in your code or uses the SRFI-36 is fully supported. To use SRFI-36, you need to insert the following expression
in your code or uses the SRFI-37 is fully supported. To use SRFI-37, you need to insert the following expression
in your code or uses the SRFI-38 is fully supported by STklos reader. SRFI-39 is fully supported and is completely described in this document (procedures make-parameter and parameterize). SRFI-45 is fully supported. To use SRFI-45, you need to insert the following expression
in your code or uses the SRFI-48 is fully supported and is completely
described in this document (procedure SRFI-51 is fully supported. To use SRFI-51, you need to insert the following expression
in your code or uses the SRFI-54 is fully supported. To use SRFI-54, you need to insert the following expression
in your code or uses the SRFI-55 is fully supported and is completely described in this document (procedure require-extension). Furthermore, STklos also accepts the symbols defined in
figure 3 in a
SRFI-59 is fully supported. To use SRFI-59, you need to insert the following expression
in your code or uses the SRFI-60 is fully supported. To use SRFI-60, you need to insert the following expression
in your code or uses the SRFI-64 is fully supported, but no line numbers are shown for errors. To use SRFI-64, you need to insert the following expression
in your code or uses the SRFI-66 is fully supported. To use SRFI-66, you need to insert the following expression
in your code or uses the SRFI-69 is fully supported. Note that the
default comparison function in STklos is
in your code or uses the SRFI-70 is fully supported. SRFI-74 is fully supported. To use SRFI-74, you need to insert the following expression
in your code or uses the SRFI-87, ehich became part of the R7RS standard, is fully supported. SRFI-88 is fully supported. The only difference between the keywords defined in the SRFI document and the STklos keywords is on the zero-length keyword: in STklos, the keyword : is equivalent to the keyword ||:, whereas the srfi considers that : is not a keyword but a symbol. SRFI-89 is fully supported. To use SRFI-89, you need to insert the following expression
in your code or uses the SRFI-96 is fully supported. To use SRFI-96, you need to insert the following expression
in your code or uses the SRFI-96 is fully supported and is completely
described in this document (procedures
Note that both primitives are now defined in R7RS. SRFI-100 is fully supported. To use SRFI-100, you need to insert the following expression
in your code or uses the SRFI-111 is fully supported. To use SRFI-111, you need to insert the following expression
in your code or uses the SRFI-112 is fully supported. SRFI-117 is fully supported. To use SRFI-117, you need to insert the following expression
in your code or uses the SRFI-118 is fully supported. SRFI-129 is fully supported. To use SRFI-129, you need to insert the following expression
in your code or uses the SRFI-141 is fully supported. To use SRFI-141, you need to insert the following expression
in your code or uses the SRFI-151 is fully supported. To use SRFI-151, you need to insert the following expression
in your code or uses the SRFI-156 is fully supported. To use SRFI-156, you need to insert the following expression
in your code or uses the SRFI-158 is fully supported. To use SRFI-158, you need to insert the following expression
in your code or uses the SRFI-161 is fully supported. To use SRFI-161, you need to insert the following expression
in your code or uses the SRFI-169 is fully supported. See accept-srfi-169-numbers to eventually forbid the usage of underscores in numbers. SRFI-171 is fully supported. To use SRFI-171, you need to insert the following expression
in your code or uses the SRFI-173 is fully supported. To use SRFI-173, you need to insert the following expression
in your code or uses the SRFI-174 is fully supported. To use SRFI-174, you need to insert the following expression
in your code or uses the SRFI-175 is fully supported. To use SRFI-175, you need to insert the following expression
in your code or uses the SRFI-176 is fully supported. To use SRFI-176, pass (tt "-V") as option when calling STklos, or use the (tt version-alist) procedure. SRFI-180 is fully supported. To use SRFI-180, you need to insert the following expression
in your code or uses the SRFI-185 is fully supported. To use SRFI-185, you need to insert the following expression
in your code or uses the SRFI-189 is fully supported. To use SRFI-189, you need to insert the following expression
in your code or uses the SRFI-190 is fully supported. To use SRFI-190, you need to insert the following expression
in your code or uses the |