source: project/wiki/supported-standards @ 36898

Last change on this file since 36898 was 36898, checked in by Mario Domenech Goulart, 18 months ago

supported-standards: add TOC

File size: 9.6 KB
Line 
1[[tags:standards srfi rnrs]]
2
3[[toc:]]
4
5== Supported standards
6
7This page attempts to list all standards CHICKEN supports; reports,
8SRFIs etc.  If any CHICKEN-specific documentation about extensions to
9or deviations from this standard is available, the text links to it.
10
11=== CHICKEN core
12
13==== CHICKEN 5
14CHICKEN 5  supports the following extensions:
15
16===== Scheme reports/documents
17
18* R5RS --- [[/manual/Deviations from the standard|deviations]], [[/manual/Extensions to the standard|extensions]]
19* [[/manual/Extensions to the standard#extended-dsssl-style-lambda-lists|Extended DSSSL style lambda lists]]
20
21===== SRFIs
22
23* [[/manual/Non-standard macros and special forms#cond-expand|SRFI-0]] Feature-based conditional expansion construct
24* [[/manual/Non-standard macros and special forms#and-let|SRFI-2]] AND-LET*: an AND with local bindings, a guarded LET* special form
25* [[/manual/Unit srfi-4|SRFI-4]] Homogeneous numeric vector datatypes
26* [[/manual/Unit library#string-ports|SRFI-6]] Basic String Ports (also see [[/manual/Unit ports|Unit ports]] for a generalisation)
27* [[/manual/Non-standard macros and special forms#receive|SRFI-8]] receive: Binding to multiple values
28* [[/manual/Non-standard macros and special forms#record-structures|SRFI-9]] Defining Record Types
29* [[/manual/Unit library#reader-extensions|SRFI-10]] Sharp-Comma External Form
30* [[/manual/Non-standard macros and special forms#let-values|SRFI-11]] Syntax for receiving multiple values
31* [[/manual/Exceptions|SRFI-12]] Exception Handling
32* [[/manual/Non-standard macros and special forms#fluid-let|SRFI-15]] Syntax for dynamic scoping
33* [[/manual/Non-standard macros and special forms#case-lambda|SRFI-16]] Syntax for procedures of variable arity
34* [[/manual/Unit library#setters|SRFI-17]] Generalized set! (also see [[/manual/Extensions to the standard|heading 4.1.6 in "Extensions to the standard"]])
35* [[/manual/Unit library#error|SRFI-23]] Error reporting mechanism
36* [[/manual/Non-standard macros and special forms#cut|SRFI-26]] Notation for Specializing Parameters without Currying
37* [[/manual/Unit extras#format|SRFI-28]] Basic Format Strings
38* [[/manual/Non-standard read syntax#multiline-block-comment|SRFI-30]] Nested Multi-line Comments
39* [[/manual/Non-standard macros and special forms#rec|SRFI-31]] A special form for recursive evaluation
40* [[/manual/Parameters|SRFI-39]] Parameter objects (also see [[/manual/Non-standard macros and special forms#parameterize|the parameterize macro]])
41* [[/manual/Macros|SRFI-46]] Basic Syntax-rules Extensions (chicken 4.6.5 and newer)
42* [[/manual/Non-standard macros and special forms#require-extension|SRFI-55]] require-extension
43* [[/manual/Extensions to the standard|SRFI-61]] A more general cond clause (see heading 4.2.1)
44* [[/manual/Non-standard read syntax#expression-comment|SRFI-62]] S-expression comments
45* [[/manual/Unit library#keywords|SRFI-88]] Keyword Objects
46* SRFI-98 --- [[/manual/Unit library#get-environment-variable|get-environment-variable]], [[/manual/Unit posix#environment-access|get-environment-variables]]
47
48
49==== CHICKEN 3 and 4
50
51The following list applies to both CHICKEN 3 and 4:
52
53===== Scheme reports/documents
54
55* R5RS --- [[/manual/Deviations from the standard|deviations]], [[/manual/Extensions to the standard|extensions]]
56* [[/manual/Extensions to the standard#extended-dsssl-style-lambda-lists|Extended DSSSL style lambda lists]]
57
58===== SRFIs
59
60* [[/manual/Non-standard macros and special forms#cond-expand|SRFI-0]] Feature-based conditional expansion construct
61* [[/manual/Unit srfi-1|SRFI-1]] List Library
62* [[/manual/Non-standard macros and special forms#and-let|SRFI-2]] AND-LET*: an AND with local bindings, a guarded LET* special form
63* [[/manual/Unit srfi-4|SRFI-4]] Homogeneous numeric vector datatypes
64* [[/manual/Unit library#string-ports|SRFI-6]] Basic String Ports (also see [[/manual/Unit ports|Unit ports]] for a generalisation)
65* [[/manual/Non-standard macros and special forms#receive|SRFI-8]] receive: Binding to multiple values
66* [[/manual/Non-standard macros and special forms#record-structures|SRFI-9]] Defining Record Types
67* [[/manual/Unit library#reader-extensions|SRFI-10]] Sharp-Comma External Form
68* [[/manual/Non-standard macros and special forms#let-values|SRFI-11]] Syntax for receiving multiple values
69* [[/manual/Exceptions|SRFI-12]] Exception Handling
70* [[/manual/Unit srfi-13|SRFI-13]] String Library
71* [[/manual/Unit srfi-14|SRFI-14]] Character-Set Library
72* [[/manual/Non-standard macros and special forms#fluid-let|SRFI-15]] Syntax for dynamic scoping
73* [[/manual/Non-standard macros and special forms#case-lambda|SRFI-16]] Syntax for procedures of variable arity
74* [[/manual/Unit library#setters|SRFI-17]] Generalized set! (also see [[/manual/Extensions to the standard|heading 4.1.6 in "Extensions to the standard"]])
75* [[/manual/Unit srfi-18|SRFI-18]] Multithreading support
76* [[/manual/Unit library#error|SRFI-23]] Error reporting mechanism
77* [[/manual/Non-standard macros and special forms#cut|SRFI-26]] Notation for Specializing Parameters without Currying
78* [[/manual/Unit extras#format|SRFI-28]] Basic Format Strings
79* [[/manual/Non-standard read syntax#multiline-block-comment|SRFI-30]] Nested Multi-line Comments
80* [[/manual/Non-standard macros and special forms#rec|SRFI-31]] A special form for recursive evaluation
81* [[/manual/Parameters|SRFI-39]] Parameter objects (also see [[/manual/Non-standard macros and special forms#parameterize|the parameterize macro]])
82* [[/manual/Macros|SRFI-46]] Basic Syntax-rules Extensions (chicken 4.6.5 and newer)
83* [[/manual/Non-standard macros and special forms#require-extension|SRFI-55]] require-extension
84* [[/manual/Extensions to the standard|SRFI-61]] A more general cond clause (see heading 4.2.1)
85* [[/manual/Non-standard read syntax#expression-comment|SRFI-62]] S-expression comments
86* [[/manual/Unit srfi-69|SRFI-69]] Basic hash tables
87* [[/manual/Unit library#keywords|SRFI-88]] Keyword Objects
88* [[/manual/Unit srfi-69|SRFI-90]] Extensible hash table constructor
89* SRFI-98 --- [[/manual/Unit library#get-environment-variable|get-environment-variable]], [[/manual/Unit posix#environment-access|get-environment-variables]]
90
91=== Eggs
92
93If you create or port an egg, please add it below:
94
95==== CHICKEN 5
96
97* [[/manual/Unit srfi-1|SRFI-1]] List Library
98* [[/manual/Unit srfi-13|SRFI-13]] String Library
99* [[/manual/Unit srfi-14|SRFI-14]] Character-Set Library
100* [[/manual/Unit srfi-18|SRFI-18]] Multithreading support
101* [[/eggref/5/srfi-25|SRFI-25]] Multi-dimensional Array Primitives
102* [[/eggref/5/srfi-34|SRFI-34]] Exception Handling for Programs
103* [[/eggref/5/srfi-37|SRFI-37]] args-fold: a program argument processor
104* [[/eggref/5/srfi-42|SRFI-42]] Eager Comprehensions
105* [[/eggref/5/srfi-69|SRFI-69]] Basic hash tables
106* [[/eggref/5/srfi-71|SRFI-71]] Extended LET-syntax for multiple values
107* [[/eggref/5/srfi-69|SRFI-90]] Extensible hash table constructor
108* [[/eggref/5/srfi-99|SRFI-99]]  ERR5RS Records
109* [[http://srfi.schemers.org/srfi-116/|SRFI-116]] Immutable List Library
110* [[http://srfi.schemers.org/srfi-117/|SRFI-117]] Mutable Queues
111* [[http://srfi.schemers.org/srfi-128/|SRFI-128]] Comparators (reduced)
112* [[/eggref/5/srfi-133|SRFI-133]] Vector Library (R7RS-compatible)
113
114
115==== CHICKEN 4
116
117* [[/eggref/4/srfi-19|SRFI-19]] Time Data Types and Procedures
118* [[/eggref/4/srfi-25|SRFI-25]] Multi-dimensional Array Primitives
119* [[/eggref/4/srfi-27|SRFI-27]] Sources of Random Bits
120* [[/eggref/4/srfi-29|SRFI-29]] Localization
121* [[/eggref/4/srfi-34|SRFI-34]] Exception Handling for Programs
122* [[/eggref/4/srfi-37|SRFI-37]] args-fold: a program argument processor
123* [[/eggref/4/srfi-38|SRFI-38]] External Representation for Data With Shared Structure
124* [[/eggref/4/srfi-40|SRFI-40]] A Library of Streams
125* [[/eggref/4/srfi-41|SRFI-41]] Streams
126* [[/eggref/4/srfi-42|SRFI-42]] Eager Comprehensions
127* [[/eggref/4/vector-lib|SRFI-43]] Vector Library
128* [[/eggref/4/srfi-45|SRFI-45]] Primitives for expressing iterative lazy algorithms
129* [[/eggref/4/srfi-60|SRFI-60]] Integers as Bits
130* [[/eggref/4/srfi-63|SRFI-63]] Homogeneous and Heterogeneous Arrays
131* [[/eggref/4/srfi-71|SRFI-71]] Extended LET-syntax for multiple values
132* [[/eggref/4/srfi-78|SRFI-78]] Lightweight Testing
133* [[/eggref/4/srfi-95|SRFI-95]] Sorting and Merging
134* [[/eggref/4/srfi-99|SRFI-99]]  ERR5RS Records
135* [[/eggref/4/srfi-101|SRFI-101]] Purely Functional Random-Access Pairs and Lists
136* [[/eggref/4/srfi-102|SRFI-102]] Procedure Arity Inspection
137* [[/eggref/4/box|SRFI-111]] Boxes
138* [[http://srfi.schemers.org/srfi-113/|SRFI-113]] Sets and bags
139* [[http://srfi.schemers.org/srfi-116/|SRFI-116]] Immutable List Library
140* [[http://srfi.schemers.org/srfi-117/|SRFI-117]] Mutable Queues
141* [[/eggref/4/srfi-121|SRFI-121]] Generators
142* [[http://srfi.schemers.org/srfi-123/|SRFI-123]] Generic accessor and modifier operators
143* [[/eggref/4/srfi-127|SRFI-127]] Lazy Sequences
144* [[http://srfi.schemers.org/srfi-128/|SRFI-128]] Comparators (reduced)
145* [[/eggref/4/srfi-133|SRFI-133]] Vector Library (R7RS-compatible)
146
147==== CHICKEN 3
148
149* [[/eggref/3/srfi-19|SRFI-19]]
150* [[/eggref/3/srfi-25|SRFI-25]]
151* [[http://www.call-with-current-continuation.org/eggs/3/srfi-27.html|SRFI-27]] (or an [[/eggref/3/gsl-srfi-27|alternative implementation]])
152* [[/eggref/3/srfi-29|SRFI-29]]
153* [[/eggref/3/srfi-34|SRFI-34]]
154* [[/eggref/3/srfi-37|SRFI-37]]
155* [[/eggref/3/srfi-38|SRFI-38]]
156* [[/eggref/3/srfi-40|SRFI-40]]
157* [[/eggref/3/srfi-41|SRFI-41]]
158* [[/eggref/3/srfi-42|SRFI-42]]
159* [[http://www.call-with-current-continuation.org/eggs/3/srfi-45.html|SRFI-45]]
160* [[/eggref/3/srfi-47|SRFI-47]]
161* [[/eggref/3/srfi-60|SRFI-60]]
162* [[http://www.call-with-current-continuation.org/eggs/3/srfi-66.html|SRFI-66]]
163* [[/eggref/3/srfi-67|SRFI-67]]
164* [[/eggref/3/srfi-85|SRFI-85]]
165* [[/eggref/3/srfi-89|SRFI-89]]
166* [[/eggref/3/srfi-95|SRFI-95]]
Note: See TracBrowser for help on using the repository browser.