source: project/wiki/SRFI-conformance @ 36409

Last change on this file since 36409 was 31126, checked in by Mario Domenech Goulart, 5 years ago

Properly capitalize CHICKEN on the wiki directory (only first level).

I used the following shell script to change things:

while IFS= read -d $'\0' -r file ; do

sed -i 's/Chicken/CHICKEN/g' "$file"

done < <(find wiki -maxdepth 1 -type f -print0 )

Some files have been manually reverted after that, since some
substitutions don't apply:

  • friedly-chicken (repl banner)
  • survey2011 (Chicken in URI paths)
  • chickenista-guide (Chickenista)

I hope the link canonicalization thing will be on my side.

File size: 7.3 KB
Line 
1== CHICKEN SRFI compliance
2
3What follows is a listing of the current SRFIs, along with the status
4of the SRFI in CHICKEN. Notes appear after the table.
5
6The following statuses are defined.
7
8; builtin : the SRFI is provided in the basic CHICKEN system.
9; library : the SRFI  is provided with the basic CHICKEN system, but a {{(use ...)}} must be performed in order to access it.
10; ''{{egg-name}}'' : the SRFI is provided in a separate egg, which can be downloaded via {{chicken-install}}.
11; 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.)
12
13'''Final SRFIs'''
14
15<table>
16<tr><th>SRFI</th><th>Description</th><th>Status</th><th>Notes</th></tr>
17<tr><td>0</td><td>Feature-based conditional expansion</td><td>builtin</td><td></td></tr>
18<tr><td>1</td><td>List library</td><td>library</td><td></td></tr>
19<tr><td>2</td><td>{{AND-LET*}}</td><td>builtin</td><td></td></tr>
20<tr><td>4</td><td>Homogeneous numeric vector datatypes</td><td>library, {{srfi-4-utils}}</td><td></td></tr>
21<tr><td>5</td><td>{{let}} form with signatures and rest arguments</td><td>NA</td><td></td></tr>
22<tr><td>6</td><td>Basic string ports</td><td>builtin</td><td></td></tr>
23<tr><td>7</td><td>Feature-based program configuration language</td><td>NA</td><td></td></tr>
24<tr><td>8</td><td>{{receive}}: binding to multiple values</td><td>builtin</td><td></td></tr>
25<tr><td>9</td><td>Defining record types</td><td>builtin</td><td></td></tr>
26<tr><td>10</td><td>Sharp-comma external form</td><td>builtin</td><td></td></tr>
27<tr><td>11</td><td>Syntax for receiving multiple values</td><td>builtin</td><td>2</td></tr>
28<tr><td>13</td><td>String library</td><td>library</td><td></td></tr>
29<tr><td>14</td><td>Character-set library</td><td>library</td><td></td></tr>
30<tr><td>16</td><td>Syntax for procedures of variable arity</td><td>builtin</td><td></td></tr>
31<tr><td>17</td><td>Generalized set!</td><td>builtin</td><td></td></tr>
32<tr><td>18</td><td>Multithreading support</td><td>library</td><td></td></tr>
33<tr><td>19</td><td>Time data types and procedures</td><td>{{date-literals}}, {{srfi-19}}</td><td></td></tr>
34<tr><td>21</td><td>Real-time multithreading support</td><td>NA</td><td></td></tr>
35<tr><td>22</td><td>Running Scheme scripts on unix</td><td>NA</td><td>3</td></tr>
36<tr><td>23</td><td>Error reporting mechanism</td><td>builtin</td><td></td></tr>
37<tr><td>25</td><td>Multi-dimensional array primitives</td><td>{{srfi-25}}, {{array-lib}}</td><td></td></tr>
38<tr><td>26</td><td>Specializing parameters without currying</td><td>builtin</td><td>2</td></tr>
39<tr><td>27</td><td>Sources of random bits</td><td>{{srfi-27}}, {{gsl-srfi-27}}</td><td></td></tr>
40<tr><td>28</td><td>Basic format strings</td><td>builtin</td><td>2</td></tr>
41<tr><td>29</td><td>Localization</td><td>{{srfi-29}}</td><td></td></tr>
42<tr><td>30</td><td>Nested multi-line comments</td><td>builtin</td><td></td></tr>
43<tr><td>31</td><td>Special form for recursive evaluation</td><td>builtin</td><td>2</td></tr>
44<tr><td>34</td><td>Exception handling for programs</td><td>{{srfi-34}}</td><td>4</td></tr>
45<tr><td>35</td><td>Conditions</td><td>NA</td><td></td></tr>
46<tr><td>36</td><td>I/O Conditions</td><td>NA</td><td></td></tr>
47<tr><td>37</td><td>{{args-fold}}: a program argument processor</td><td>{{srfi-37}}</td><td></td></tr>
48<tr><td>38</td><td>External representation for data</td><td>{{srfi-38}}</td><td></td></tr>
49<tr><td>39</td><td>Parameter objects</td><td>builtin</td><td></td></tr>
50<tr><td>40</td><td>A library of streams (deprecated)</td><td>{{srfi-40}}</td><td></td></tr>
51<tr><td>41</td><td>Streams</td><td>{{srfi-41}}</td><td></td></tr>
52<tr><td>42</td><td>Eager comprehensions</td><td>{{srfi-42}}, {{srfi-4-comprehensions}}</td><td></td></tr>
53<tr><td>43</td><td>Vector library</td><td>{{vector-lib}},  {{dyn-vector}}</td><td></td></tr>
54<tr><td>44</td><td>Collections</td><td>NA</td><td></td></tr>
55<tr><td>45</td><td>Expressing iterative lazy algorithms</td><td>{{srfi-45}}</td><td></td></tr>
56<tr><td>46</td><td>Basic {{syntax-rules}} Extensions</td><td>NA</td><td></td></tr>
57<tr><td>47</td><td>Array</td><td>{{srfi-47}}, {{array-lib}}</td><td></td></tr>
58<tr><td>48</td><td>Intermediate Format Strings</td><td>{{format}}, {{format-modular}}</td><td>5</td></tr>
59<tr><td>49</td><td>Indentation-sensitive syntax</td><td>NA</td><td></td></tr>
60<tr><td>51</td><td>Handling rest list</td><td>NA</td><td></td></tr>
61<tr><td>54</td><td>Formatting</td><td>NA</td><td></td></tr>
62<tr><td>55</td><td>{{require-extension}}</td><td>builtin</td><td></td></tr>
63<tr><td>57</td><td>Records</td><td>NA</td><td></td></tr>
64<tr><td>58</td><td>Array notation</td><td>{{array-lib}}</td><td>6</td></tr>
65<tr><td>59</td><td>Vicinity</td><td>NA</td><td></td></tr>
66<tr><td>60</td><td>Integers as bits</td><td>{{srfi-60}}</td><td></td></tr>
67<tr><td>61</td><td>A more general {{cond}} clause</td><td>{{extended-cond}}</td><td></td></tr>
68<tr><td>62</td><td>S-expression comments</td><td>builtin</td><td>2</td></tr>
69<tr><td>63</td><td>Homogeneous and heterogeneous arrays</td><td>{{array-lib}}</td><td></td></tr>
70<tr><td>64</td><td>A Scheme API for test suites</td><td>NA</td><td></td></tr>
71<tr><td>66</td><td>Octet vectors</td><td>{{srfi-66}}</td><td></td></tr>
72<tr><td>67</td><td>Compare procedures</td><td>NA</td><td></td></tr>
73<tr><td>69</td><td>Basic hash tables</td><td>builtin</td><td></td></tr>
74<tr><td>70</td><td>Numbers</td><td>NA</td><td></td></tr>
75<tr><td>71</td><td>{{let}} syntax for multiple values</td><td>NA</td><td></td></tr>
76<tr><td>72</td><td>Simple hygienic macros</td><td>{{simple-macros}}</td><td></td></tr>
77<tr><td>74</td><td>Octet-addressed binary blocks</td><td>NA</td><td></td></tr>
78<tr><td>78</td><td>Lightweight testing</td><td>{{check}}</td><td></td></tr>
79<tr><td>86</td><td>{{MU}} and {{NU}}</td><td>NA</td><td></td></tr>
80<tr><td>87</td><td>{{=>}} in case clauses</td><td>{{extended-cond}}</td><td></td></tr>
81<tr><td>88</td><td>Keyword objects</td><td>builtin</td><td>7</td></tr>
82<tr><td>89</td><td>Optional and named parameters</td><td>{{srfi-89}}</td><td></td></tr>
83<tr><td>90</td><td>Extensible hash table constructor</td><td>builtin</td><td>8</td></tr>
84<tr><td>94</td><td>Type-restricted numerical functions</td><td>NA</td><td></td></tr>
85<tr><td>95</td><td>Sorting and merging</td><td>{{srfi-95}}</td><td></td></tr>
86</table>
87
88'''Notes'''
89
901. ''Note deleted''.
91
922.  Only documented under {{eval-when}}.
93
943. CHICKEN supports a shebang line, but executable names don't comply
95with SRFI-22.
96
974. CHICKEN also implements the now-withdrawn SRFI-12 for error
98handling.
99
1005. SRFI 48 is supported except for {{~W}} (write circular) by both the {{format}} and {{format-modular}} eggs.
101
1026. SRFI 58 is supported by the {{array-lib}} egg except for the {{#<dimensions>...}} form (to be released).
103
1047. SRFI 88 is builtin except that keywords are symbols.
105
1068. SRFI 90 is builtin except that {{weak-keys}} and {{weak-values}} are ignored. The SRFI states that these are purely advisory parameters, and that implementations may ignore them.
107
108'''Withdrawn SRFIs'''
109
110<table>
111<tr><th>SRFI</th><th>Description</th><th>Status</th><th>Notes</th></tr>
112<tr><td>12</td><td>Exception handling</td><td>builtin</td><td>1</td></tr>
113<tr><td>85</td><td>Recursive equivalence predicates</td><td>{{srfi-85}}</td><td></td></tr>
114</table>
115
116'''Notes'''
117
1181. CHICKEN  implements the now-withdrawn SRFI-12 for error
119handling. Users can choose to install the {{srfi-34}} egg instead.
120
Note: See TracBrowser for help on using the repository browser.