SUPPORTED-SRFIS 3.45 KB
Newer Older
eg's avatar
eg committed
1 2 3 4 5 6 7 8 9 10

			STKLOS SUPPORTED SRFIS


The "Scheme Requests for Implementation" (SRFI) process is a new
approach to helping Scheme users to write portable and yet useful
code. It is a forum for people interested in coordinating libraries
and other additions to the Scheme language between implementations.

STklos tries to supports as much as possible the "Final" SRFIs. For a
11
definition of what is a final SRFI, you should have a look at the
eg's avatar
eg committed
12 13 14 15 16 17
SRFI home page at http://srfi.schemers.org/

Hereafter is the list of final SRFIs, for the current release of
STklos, and the state of their implementation in this release.

State can be one of the following values
18 19
   Y: completely implemented
   N: not implemented (and will probably not be implemented)
eg's avatar
eg committed
20
   -: not implemented yet, but on the TODO list
21

eg's avatar
eg committed
22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38


  State	SRFI    Title
  ----------------------------------------------------------------------
    Y	0       Feature-based conditional expansion construct
    Y	1	List Library
    Y   2	AND-LET*: an AND with local bindings, a guarded LET* special form
    Y	4	Homogeneous numeric vector datatypes
    N	5	A compatible let form with signatures and rest arguments

    Y	6	Basic String Ports
    Y	7	Feature-based program configuration language
    Y	8	receive: Binding to multiple values
    Y	9	Defining Record Types
    Y	10	Sharp-Comma External Form

    Y	11	Syntax for receiving multiple values
39
    Y	13	String Library
eg's avatar
eg committed
40 41 42 43
    Y	14	Character-Set Library
    Y	16	Syntax for procedures of variable arity
    Y	17	Generalized set!

44
    Y	18	Multithreading support
eg's avatar
eg committed
45 46 47 48 49 50 51 52 53 54 55 56
    -	19	Time Data Types and Procedures
    -	21	Real-time multithreading support
    Y	22	Running Scheme Scripts on Unix
    Y	23	Error reporting mechanism

    -	25	Multi-dimensional Array Primitives
    Y	26	Notation for Specializing Parameters without Currying
    Y	27	Sources of Random Bits
    Y	28	Basic Format Strings
    -	29	Localization

    Y	30	Nested Multi-line Comments
57
    Y	31	A special form for recursive evaluation
eg's avatar
eg committed
58 59 60 61 62 63 64 65 66
    Y	34	Exception Handling for Programs
    Y	35	Conditions
    Y	36	I/O Conditions

    N	37	args-fold: a program argument processor
    Y   38	External Representation for Data With Shared Structure
    Y	39	Parameter objects
    -   40	A Library of Streams
    ?	42	Eager Comprehension
67

eg's avatar
eg committed
68 69
    -	43	Vector Library
    -   44	Collections
70
    Y   45	Primitives for expressing iterative lazy algorithms
eg's avatar
eg committed
71 72 73 74 75 76 77 78 79 80
    ?	47	Array
    Y   48	Intermediate Format Strings

    N   49	Indentation-sensitive syntax
    ?	51	Handling rest list
    ?	54	Formatting
    Y   55	Require-Extension
    -   57	Records

    ?   58	Array Notation
81
    Y   59	Vicinity
eg's avatar
eg committed
82 83 84 85 86 87 88 89 90 91 92 93
    Y   60	Integers as Bits
    -   61	A more general cond clause
    Y   62	S-expression comments

    -   63	Homogeneous and Heterogeneous Arrays
    Y 	66	Octet Vectors
    ?   67      Compare Procedures
    Y   69	Basic hash tables
    Y   70      Numbers

    ?   71	LET-syntax for multiple values
    -   72	Simple hygienic macros
Erick's avatar
Erick committed
94
    Y	74	Octet-Addressed Binary Blocks
95
    ?	78	Lightweight testing
96
    N   86	MU and NU simulating VALUES & CALL-WITH-VALUES, ...
eg's avatar
eg committed
97

98 99 100 101 102 103
    ?   87      => in case clauses
    Y   88      Keyword Objects
    Y   89	Optional and named parameters
    ?   90	Extensible hash table constructor
    ?   94	Type-Restricted Numerical Functions

104
    -   95	Sorting and Merging
Erick's avatar
Erick committed
105
    Y   96	SLIB Prerequisites
106
    -   97	SRFI Libraries
Erick's avatar
Erick committed
107
    Y	98	An interface to access environment variables
108
    ?   99	ERR5RS Records
109

110
    Y  100	define-lambda-object
Erick's avatar
Erick committed
111 112

Implemented SRFIs: 42/71 (final SRFIs)