You are looking at historical revision 9338 of this page. It may differ significantly from its current revision.
Chicken SRFI compliance
What follows is a listing of the current SRFIs, along with the status of the SRFI in Chicken. Notes appear after the table.
The following statuses are defined.
- builtin
- the SRFI is provided in the basic Chicken system.
- library
- the SRFI is provided with the basic Chicken system, but a (use ...) must be performed in order to access it.
- egg-name
- the SRFI is provided in a separate egg, which can be downloaded via chicken-setup.
- NA
- the SRFI is not presently available for Chicken. (This doesn't necessarily mean that the SRFI can't be implemented, only that it hasn't been so far.)
Final SRFIs
| SRFI | Description | Status | Notes |
|---|---|---|---|
| 0 | Feature-based conditional expansion | builtin | |
| 1 | List library | library | |
| 2 | AND-LET* | builtin | |
| 4 | Homogeneous numeric vector datatypes | library, srfi-4-utils | |
| 5 | let form with signatures and rest arguments | NA | |
| 6 | Basic string ports | builtin | |
| 7 | Feature-based program configuration language | builtin | 1 |
| 8 | receive: binding to multiple values | builtin | |
| 9 | Defining record types | builtin | |
| 10 | Sharp-comma external form | builtin | |
| 11 | Syntax for receiving multiple values | builtin | 2 |
| 13 | String library | library | |
| 14 | Character-set library | library | |
| 16 | Syntax for procedures of variable arity | builtin | |
| 17 | Generalized set! | builtin | |
| 18 | Multithreading support | library | |
| 19 | Time data types and procedures | date-literals, srfi-19 | |
| 21 | Real-time multithreading support | NA | |
| 22 | Running Scheme scripts on unix | NA | 3 |
| 23 | Error reporting mechanism | builtin | |
| 25 | Multi-dimensional array primitives | srfi-25, array-lib | |
| 26 | Specializing parameters without currying | builtin | 2 |
| 27 | Sources of random bits | srfi-27, gsl-srfi-27 | |
| 28 | Basic format strings | builtin | 2 |
| 29 | Localization | srfi-29 | |
| 30 | Nested multi-line comments | builtin | |
| 31 | Special form for recursive evaluation | builtin | 2 |
| 34 | Exception handling for programs | srfi-34 | 4 |
| 35 | Conditions | NA | |
| 36 | I/O Conditions | NA | |
| 37 | args-fold: a program argument processor | srfi-37 | |
| 38 | External representation for data | srfi-38 | |
| 39 | Parameter objects | builtin | |
| 40 | A library of streams (deprecated) | srfi-40 | |
| 41 | Streams | srfi-41 | |
| 42 | Eager comprehensions | srfi-42, srfi-4-comprehensions | |
| 43 | Vector library | vector-lib, dyn-vector | |
| 44 | Collections | NA | |
| 45 | Expressing iterative lazy algorithms | srfi-45 | |
| 46 | Basic syntax-rules Extensions | NA | |
| 47 | Array | srfi-47, array-lib | |
| 48 | Intermediate Format Strings | NA | |
| 49 | Indentation-sensitive syntax | NA | |
| 51 | Handling rest list | NA | |
| 54 | Formatting | NA | |
| 55 | require-extension | builtin | |
| 57 | Records | srfi-57 | |
| 58 | Array notation | NA | |
| 59 | Vicinity | NA | |
| 60 | Integers as bits | srfi-60 | |
| 61 | A more general cond clause | extended-cond | |
| 62 | S-expression comments | builtin | 2 |
| 63 | Homogeneous and heterogeneous arrays | array-lib | |
| 64 | A Scheme API for test suites | NA | |
| 66 | Octet vectors | srfi-66 | |
| 67 | Compare procedures | NA | |
| 69 | Basic hash tables | builtin | |
| 70 | Numbers | NA | |
| 71 | let syntax for multiple values | NA | |
| 72 | Simple hygienic macros | simple-macros | |
| 74 | Octet-addressed binary blocks | NA | |
| 78 | Lightweight testing | check | |
| 86 | MU and NU | NA | |
| 87 | => in case clauses | extended-cond | |
| 88 | Keyword objects | NA | |
| 89 | Optional and named parameters | srfi-89 | |
| 90 | Extensible hash table constructor | NA | |
| 94 | Type-restricted numerical functions | NA | |
| 95 | Sorting and merging | srfi-95 |
Notes
1. SRFI-7 compliance is claimed, but nowhere documented in the manual.
2. Only documented under eval-when.
3. Chicken supports a shebang line, but executable names don't comply with SRFI-22.
4. Chicken also implements the now-withdrawn SRFI-12 for error handling.
Withdrawn SRFIs
| SRFI | Description | Status | Notes |
|---|---|---|---|
| 12 | Exception handling | builtin | 1 |
| 85 | Recursive equivalence predicates | srfi-85 |
Notes
1. Chicken implements the now-withdrawn SRFI-12 for error handling. Users can choose to install the srfi-34 egg instead.