Wiki
Download
Manual
Eggs
API
Tests
Bugs
show
edit
history
You can edit this page using
wiki syntax
for markup.
Article contents:
[[tags:standards srfi rnrs]] [[toc:]] == Supported standards This page attempts to list all standards CHICKEN supports; reports, SRFIs etc. If any CHICKEN-specific documentation about extensions to or deviations from this standard is available, the text links to it. To see this information in cross-referenced table format, see: [[http://wiki.call-cc.org/srfi-support|Chicken SRFI Support]]. === CHICKEN core ==== CHICKEN 5 CHICKEN 5 supports the following extensions: ===== Scheme reports/documents * R5RS --- [[/manual/Deviations from the standard|deviations]], [[/manual/Extensions to the standard|extensions]] * R7RS with the [[http://wiki.call-cc.org/eggref/5/r7rs|r7rs egg]] * [[/manual/Extensions to the standard#extended-dsssl-style-lambda-lists|Extended DSSSL style lambda lists]] ===== SRFIs * [[/manual/Extensions to the standard#cond-expand|SRFI-0]] Feature-based conditional expansion construct * [[/manual/Module (chicken base)#and-let|SRFI-2]] AND-LET*: an AND with local bindings, a guarded LET* special form * [[/manual/Module srfi-4|SRFI-4]] Homogeneous numeric vector datatypes * [[/manual/Module (chicken base)#string-ports|SRFI-6]] Basic String Ports (also see [[/manual/Unit ports|Unit ports]] for a generalisation) * [[/manual/Module (chicken base)#receive|SRFI-8]] receive: Binding to multiple values * [[/manual/Module (chicken base)#define-record-type|SRFI-9]] Defining Record Types * [[/manual/Extensions to the standard#external-representation|SRFI-10]] Sharp-Comma External Form * [[/manual/Module (chicken base)#let-values|SRFI-11]] Syntax for receiving multiple values * [[/manual/Module (chicken condition)#srfi-12-specification|SRFI-12]] Exception Handling * [[/manual/Module (chicken base)#fluid-let|SRFI-15]] Syntax for dynamic scoping * [[/manual/Module (chicken base)#case-lambda|SRFI-16]] Syntax for procedures of variable arity * [[/manual/Module (chicken base)#srfi-17-setters|SRFI-17]] Generalized set! (also see [[/manual/Extensions to the standard|heading 4.1.6 in "Extensions to the standard"]]) * [[/manual/Module (chicken base)#error|SRFI-23]] Error reporting mechanism * [[/manual/Module (chicken base)#cut|SRFI-26]] Notation for Specializing Parameters without Currying * [[/manual/Module (chicken format)#format|SRFI-28]] Basic Format Strings * [[/manual/Extensions to the standard#multiline-block-comment|SRFI-30]] Nested Multi-line Comments * [[/manual/Module (chicken base)#rec|SRFI-31]] A special form for recursive evaluation * [[/manual/Module (chicken base)#parameters|SRFI-39]] Parameter objects (also see [[/manual/Non-standard macros and special forms#parameterize|the parameterize macro]]) * [[/manual/Module scheme#syntax-definitions|SRFI-46]] Basic Syntax-rules Extensions (chicken 4.6.5 and newer) * [[/manual/Module (chicken base)#require-extension|SRFI-55]] require-extension * [[/manual/Module scheme#conditionals|SRFI-61]] A more general cond clause (see heading 2.2.1) * [[/manual/Extensions to the standard#expression-comment|SRFI-62]] S-expression comments * [[/manual/Module scheme#derived-expression-types|SRFI-87]] => in case clauses * [[/manual/Module (chicken keyword)|SRFI-88]] Keyword Objects * SRFI-98 --- [[/manual/Module (chicken process-context)#get-environment-variable|get-environment-variable]], [[/manual/Module (chicken process-context)#get-environment-variables|get-environment-variables]] * [[http://api.call-cc.org/5/doc/scheme#sec:Definitions|SRFI-219]] Define higher-order lambda ==== CHICKEN 3 and 4 The following list applies to both CHICKEN 3 and 4: ===== Scheme reports/documents * R5RS --- [[/manual/Deviations from the standard|deviations]], [[/manual/Extensions to the standard|extensions]] * [[/manual/Extensions to the standard#extended-dsssl-style-lambda-lists|Extended DSSSL style lambda lists]] ===== SRFIs * [[/man/3/Non-standard macros and special forms#cond-expand|SRFI-0]] Feature-based conditional expansion construct * [[/man/4/Unit srfi-1|SRFI-1]] List Library * [[/manual/Non-standard macros and special forms#and-let|SRFI-2]] AND-LET*: an AND with local bindings, a guarded LET* special form * [[/manual/Unit srfi-4|SRFI-4]] Homogeneous numeric vector datatypes * [[/manual/Unit library#string-ports|SRFI-6]] Basic String Ports (also see [[/manual/Unit ports|Unit ports]] for a generalisation) * [[/manual/Non-standard macros and special forms#receive|SRFI-8]] receive: Binding to multiple values * [[/man/3/Non-standard macros and special forms#record-structures|SRFI-9]] Defining Record Types * [[/manual/Unit library#reader-extensions|SRFI-10]] Sharp-Comma External Form * [[/manual/Non-standard macros and special forms#let-values|SRFI-11]] Syntax for receiving multiple values * [[/manual/Exceptions|SRFI-12]] Exception Handling * [[/manual/Unit srfi-13|SRFI-13]] String Library * [[/manual/Unit srfi-14|SRFI-14]] Character-Set Library * [[/manual/Non-standard macros and special forms#fluid-let|SRFI-15]] Syntax for dynamic scoping * [[/manual/Non-standard macros and special forms#case-lambda|SRFI-16]] Syntax for procedures of variable arity * [[/manual/Unit library#setters|SRFI-17]] Generalized set! (also see [[/manual/Extensions to the standard|heading 4.1.6 in "Extensions to the standard"]]) * [[/manual/Unit srfi-18|SRFI-18]] Multithreading support * [[/manual/Unit library#error|SRFI-23]] Error reporting mechanism * [[/manual/Non-standard macros and special forms#cut|SRFI-26]] Notation for Specializing Parameters without Currying * [[/manual/Unit extras#format|SRFI-28]] Basic Format Strings * [[/manual/Non-standard read syntax#multiline-block-comment|SRFI-30]] Nested Multi-line Comments * [[/manual/Non-standard macros and special forms#rec|SRFI-31]] A special form for recursive evaluation * [[/manual/Parameters|SRFI-39]] Parameter objects (also see [[/manual/Non-standard macros and special forms#parameterize|the parameterize macro]]) * [[/manual/Macros|SRFI-46]] Basic Syntax-rules Extensions (chicken 4.6.5 and newer) * [[/manual/Non-standard macros and special forms#require-extension|SRFI-55]] require-extension * [[/manual/Extensions to the standard|SRFI-61]] A more general cond clause (see heading 4.2.1) * [[/manual/Non-standard read syntax#expression-comment|SRFI-62]] S-expression comments * [[/manual/Unit srfi-69|SRFI-69]] Basic hash tables * [[/manual/Unit library#keywords|SRFI-88]] Keyword Objects * [[/manual/Unit srfi-69|SRFI-90]] Extensible hash table constructor * SRFI-98 --- [[/manual/Unit library#get-environment-variable|get-environment-variable]], [[/manual/Unit posix#environment-access|get-environment-variables]] === Eggs If you create or port an egg, please add it below: ==== CHICKEN 5 ===== Scheme reports/documents * [[/eggref/5/r7rs|R7RS]] R7RS (small) support ===== SRFIs * [[/eggref/5/srfi-1|SRFI-1]] List Library * [[/eggref/5/srfi-5|SRFI-5]] A compatible let form with signatures and rest arguments * [[/eggref/5/srfi-13|SRFI-13]] String Library * [[/eggref/5/srfi-14|SRFI-14]] Character-Set Library * [[/eggref/5/srfi-18|SRFI-18]] Multithreading support * [[/eggref/5/srfi-19|SRFI-19]] Time Data Types and Procedures * [[/eggref/5/srfi-25|SRFI-25]] Multi-dimensional Array Primitives * [[/eggref/5/srfi-27|SRFI-27]] Sources of Random Bits * [[/eggref/5/srfi-29|SRFI-29]] Localization * [[/eggref/5/srfi-34|SRFI-34]] Exception Handling for Programs * [[/eggref/5/srfi-35|SRFI-35]] Conditions * [[/eggref/5/srfi-37|SRFI-37]] args-fold: a program argument processor * [[/eggref/5/srfi-38|SRFI-38]] External Representation for Data With Shared Structure * [[/eggref/5/srfi-41|SRFI-41]] Streams * [[/eggref/5/srfi-42|SRFI-42]] Eager Comprehensions * [[/eggref/5/srfi-45|SRFI-45]] Primitives for Expressing Iterative Lazy Algorithms * [[/eggref/5/srfi-47|SRFI-47]] Array * [[/eggref/5/srfi-48|SRFI-48]] Intermediate Format Strings * [[/eggref/5/srfi-51|SRFI-51]] Handling rest list * [[/eggref/5/srfi-60|SRFI-60]] Integers as Bits * [[/eggref/5/srfi-63|SRFI-63]] Homogeneous and Heterogeneous Arrays * [[/eggref/5/srfi-66|SRFI-66]] Octet Vectors * [[/eggref/5/srfi-64|SRFI-64]] A Scheme API for test suites * [[/eggref/5/srfi-67|SRFI-67]] Compare Procedures * [[/eggref/5/srfi-69|SRFI-69]] Basic hash tables * [[/eggref/5/srfi-71|SRFI-71]] Extended LET-syntax for multiple values * [[/eggref/5/srfi-74|SRFI-74]] Octet-Addressed Binary Blocks * [[/eggref/5/srfi-78|SRFI-78]] Lightweight testing * [[/eggref/5/srfi-69|SRFI-90]] Extensible hash table constructor * [[/eggref/5/srfi-94|SRFI-94]] Type-Restricted Numerical Functions * [[/eggref/5/srfi-95|SRFI-95]] Sorting and Merging * [[/eggref/5/srfi-99|SRFI-99]] ERR5RS Records * [[/eggref/5/srfi-105|SRFI-105]] Curly-infix-expressions * [[/eggref/5/srfi-111|SRFI-111]] Boxes * [[/eggref/5/srfi-113|SRFI-113]] Sets and bags * [[/eggref/5/srfi-115|SRFI-115]] Scheme Regular Expressions * [[/eggref/5/srfi-116|SRFI-116]] Immutable List Library * [[/eggref/5/srfi-117|SRFI-117]] Mutable Queues * [[/eggref/5/srfi-121|SRFI-121]] Generators * [[/eggref/5/srfi-123|SRFI-123]] Generic accessor and modifier operators * [[/eggref/5/srfi-127|SRFI-127]] Lazy Sequences * [[/eggref/5/srfi-128|SRFI-128]] Comparators (reduced) * [[/eggref/5/srfi-130|SRFI-130]] Cursor-based string library * [[/eggref/5/srfi-132|SRFI-132]] Sort Libraries * [[/eggref/5/srfi-133|SRFI-133]] Vector Library (R7RS-compatible) * [[/eggref/5/srfi-134|SRFI-134]] Immutable deques * [[/eggref/5/srfi-137|SRFI-137]] Minimal Unique Types * [[/eggref/5/srfi-141|SRFI-141]] Integer division * [[/eggref/5/srfi-143|SRFI-143]] Fixnums * [[/eggref/5/srfi-145|SRFI-145]] Assumptions * [[/eggref/5/srfi-146|SRFI-146]] Mappings * [[/eggref/5/srfi-151|SRFI-151]] Bitwise operations * [[/eggref/5/srfi-152|SRFI-152]] String Library (reduced) * [[/eggref/5/srfi-158|SRFI-158]] Generators and Accumulators * [[/eggref/5/srfi-160|SRFI-160]] Homogeneous numeric vector libraries * [[/eggref/5/srfi-171|SRFI-171]] Transducers * [[/eggref/5/srfi-173|SRFI-173]] Hooks * [[/eggref/5/srfi-178|SRFI-178]] Bitvector library * [[/eggref/5/srfi-179|SRFI-179]] Nonempty Intervals and Generalized Arrays * [[/eggref/5/srfi-189|SRFI-189]] Maybe and Either * [[/eggref/5/srfi-193|SRFI-193]] Command line * [[/eggref/5/srfi-194|SRFI-194]] Random data generators * [[/eggref/5/srfi-196|SRFI-196]] Range Objects * [[/eggref/5/srfi-197|SRFI-197]] Pipeline Operators * [[https://srfi.schemers.org/srfi-203/srfi-203.html|SRFI-203]] A Simple Picture Language in the Style of SICP * [[/eggref/5/srfi-207|SRFI-207]] String-notated bytevectors * [[/eggref/5/srfi-209|SRFI-209]] Enums and enum sets * [[https://srfi.schemers.org/srfi-214/srfi-214.html|SRFI-214]] Flexvectors * [[https://srfi.schemers.org/srfi-216/srfi-216.html|SRFI-216]] SICP Prerequisites * [[/eggref/5/srfi-217|SRFI-217]] Integer Sets * [[/eggref/5/integer-map|SRFI-224]] Integer Mappings * [[/eggref/5/srfi-227|SRFI-227]] Optional Arguments ==== CHICKEN 4 ===== Scheme reports/documents * [[/eggref/5/r7rs|R7RS]] R7RS (small) support ===== SRFIs * [[/eggref/4/srfi-19|SRFI-19]] Time Data Types and Procedures * [[/eggref/4/srfi-25|SRFI-25]] Multi-dimensional Array Primitives * [[/eggref/4/srfi-27|SRFI-27]] Sources of Random Bits * [[/eggref/4/srfi-29|SRFI-29]] Localization * [[/eggref/4/srfi-34|SRFI-34]] Exception Handling for Programs * [[/eggref/4/srfi-37|SRFI-37]] args-fold: a program argument processor * [[/eggref/4/srfi-38|SRFI-38]] External Representation for Data With Shared Structure * [[/eggref/4/srfi-40|SRFI-40]] A Library of Streams * [[/eggref/4/srfi-41|SRFI-41]] Streams * [[/eggref/4/srfi-42|SRFI-42]] Eager Comprehensions * [[/eggref/4/vector-lib|SRFI-43]] Vector Library * [[/eggref/4/srfi-45|SRFI-45]] Primitives for expressing iterative lazy algorithms * [[/eggref/4/srfi-60|SRFI-60]] Integers as Bits * [[/eggref/4/srfi-63|SRFI-63]] Homogeneous and Heterogeneous Arrays * [[/eggref/4/srfi-71|SRFI-71]] Extended LET-syntax for multiple values * [[/eggref/4/srfi-78|SRFI-78]] Lightweight Testing * [[/eggref/4/srfi-95|SRFI-95]] Sorting and Merging * [[/eggref/4/srfi-99|SRFI-99]] ERR5RS Records * [[/eggref/4/srfi-101|SRFI-101]] Purely Functional Random-Access Pairs and Lists * [[/eggref/4/srfi-102|SRFI-102]] Procedure Arity Inspection * [[/eggref/4/box|SRFI-111]] Boxes * [[http://srfi.schemers.org/srfi-113/|SRFI-113]] Sets and bags * [[http://srfi.schemers.org/srfi-116/|SRFI-116]] Immutable List Library * [[http://srfi.schemers.org/srfi-117/|SRFI-117]] Mutable Queues * [[/eggref/4/srfi-121|SRFI-121]] Generators * [[http://srfi.schemers.org/srfi-123/|SRFI-123]] Generic accessor and modifier operators * [[/eggref/4/srfi-127|SRFI-127]] Lazy Sequences * [[http://srfi.schemers.org/srfi-128/|SRFI-128]] Comparators (reduced) * [[/eggref/4/srfi-133|SRFI-133]] Vector Library (R7RS-compatible) ==== CHICKEN 3 ===== SRFIs * [[/eggref/3/srfi-19|SRFI-19]] * [[/eggref/3/srfi-25|SRFI-25]] * [[http://www.call-with-current-continuation.org/eggs/3/srfi-27.html|SRFI-27]] (or an [[/eggref/3/gsl-srfi-27|alternative implementation]]) * [[/eggref/3/srfi-29|SRFI-29]] * [[/eggref/3/srfi-34|SRFI-34]] * [[/eggref/3/srfi-37|SRFI-37]] * [[/eggref/3/srfi-38|SRFI-38]] * [[/eggref/3/srfi-40|SRFI-40]] * [[/eggref/3/srfi-41|SRFI-41]] * [[/eggref/3/srfi-42|SRFI-42]] * [[http://www.call-with-current-continuation.org/eggs/3/srfi-45.html|SRFI-45]] * [[/eggref/3/srfi-47|SRFI-47]] * [[/eggref/3/srfi-60|SRFI-60]] * [[http://www.call-with-current-continuation.org/eggs/3/srfi-66.html|SRFI-66]] * [[/eggref/3/srfi-67|SRFI-67]] * [[/eggref/3/srfi-85|SRFI-85]] * [[/eggref/3/srfi-89|SRFI-89]] * [[/eggref/3/srfi-95|SRFI-95]]
Description of your changes:
I would like to authenticate
Authentication
Username:
Password:
Spam control
What do you get when you multiply 7 by 3?