Skip to content

Instantly share code, notes, and snippets.

@konfou
Created March 21, 2021 17:02
Show Gist options
  • Save konfou/268265f0f101dc8a62c0cc147ef70615 to your computer and use it in GitHub Desktop.
Save konfou/268265f0f101dc8a62c0cc147ef70615 to your computer and use it in GitHub Desktop.
number description authors status
0 Feature-based conditional expansion construct Marc Feeley final
1 List Library Olin Shivers final
2 AND-LET* Oleg Kiselyov final
3 List-Set Library Olin Shivers withdrawn
4 Homogeneous numeric vector datatypes Marc Feeley final
5 A compatible let form with signatures and rest arguments Andy Gaynor final
6 Basic String Ports William D Clinger final
7 Feature-based program configuration language Richard Kelsey final
8 receive John David Stone final
9 Defining Record Types Richard Kelsey final
10 #, external form Oleg Kiselyov final
11 Syntax for receiving multiple values Lars T Hansen final
12 Exception Handling William Clinger, R. Kent Dybvig, Matthew Flatt, and Marc Feeley withdrawn
13 String Libraries Olin Shivers final
14 Character-set Library Olin Shivers final
15 Syntax for dynamic scoping Lars T Hansen withdrawn
16 Syntax for procedures of variable arity Lars T Hansen final
17 Generalized set! Per Bothner final
18 Multithreading support Marc Feeley final
19 Time Data Types and Procedures Will Fitzgerald final
20 Simple object system Christian Queinnec withdrawn
21 Real-time multithreading support Marc Feeley final
22 Running Scheme Scripts on Unix Martin Gasbichler and Michael Sperber final
23 Error reporting mechanism Stephan Houben final
24 Define-syntax in local lexical scopes Antti Huima withdrawn
25 Multi-dimensional Array Primitives Jussi Piitulainen final
26 Notation for Specializing Parameters without Currying Sebastian Egner final
27 Sources of Random Bits Sebastian Egner final
28 Basic Format Strings Scott G. Miller final
29 Localization Scott G. Miller final
30 Nested Multi-line Comments Martin Gasbichler final
31 A special form `rec' for recursive evaluation Mirko Luedde final
32 Sort Libraries Olin Shivers withdrawn
33 Integer Bitwise-operation Library Olin Shivers withdrawn
34 Exception Handling for Programs Richard Kelsey and Michael Sperber final
35 Conditions Richard Kelsey and Michael Sperber final
36 I/O Conditions Michael Sperber final
37 args-fold Anthony Carrico final
38 External Representation for Data With Shared Structure Ray Dillinger final
39 Parameter objects Marc Feeley final
40 A Library of Streams Philip L. Bewig withdrawn
41 Streams Philip L. Bewig final
42 Eager Comprehensions Sebastian Egner final
43 Vector library Taylor Campbell final
44 Collections Scott G. Miller final
45 Primitives for Expressing Iterative Lazy Algorithms André van Tonder final
46 Basic Syntax-rules Extensions Taylor Campbell final
47 Array Aubrey Jaffer final
48 Intermediate Format Strings Ken Dickey final
49 Indentation-sensitive syntax Egil Möller final
50 Mixing Scheme and C Richard Kelsey and Michael Sperber withdrawn
51 Handling rest list Joo ChurlSoo final
52 Permitting and Supporting Extended Character Sets Thomas Lord withdrawn
53 Syntactic computations with computation-rules André van Tonder withdrawn
54 Formatting Joo ChurlSoo final
55 require-extension Felix L. Winkelmann and D.C. Frost final
56 Binary I/O Alex Shinn withdrawn
57 Records André van Tonder final
58 Array Notation Aubrey Jaffer final
59 Vicinity Aubrey Jaffer final
60 Integers as Bits Aubrey Jaffer final
61 A more general cond clause Taylor Campbell final
62 S-expression comments Taylor Campbell final
63 Homogeneous and Heterogeneous Arrays Aubrey Jaffer final
64 A Scheme API for test suites Per Bothner final
65 define-immutable Andrew Wilcox withdrawn
66 Octet Vectors Michael Sperber final
67 Compare Procedures Sebastian Egner and Jens Axel Søgaard final
68 Comprehensive I/O Michael Sperber withdrawn
69 Basic hash tables Panu Kalliokoski final
70 Numbers Aubrey Jaffer final
71 Extended LET-syntax for multiple values Sebastian Egner final
72 Hygienic macros André van Tonder final
73 Exact Infinities Chongkai Zhu withdrawn
74 Octet-Addressed Binary Blocks Michael Sperber final
75 R6RS Unicode data Matthew Flatt and Marc Feeley withdrawn
76 R6RS Records Will Clinger, R. Kent Dybvig, Michael Sperber, and Anton van Straaten withdrawn
77 Preliminary Proposal for R6RS Arithmetic William D Clinger and Michael Sperber withdrawn
78 Lightweight testing Sebastian Egner final
79 Primitive I/O Michael Sperber withdrawn
80 Stream I/O Michael Sperber withdrawn
81 Port I/O Michael Sperber withdrawn
82 Stream Ports Michael Sperber withdrawn
83 R6RS Library Syntax Matthew Flatt and Kent Dybvig withdrawn
84 Universal Identifiers Andrew Wilcox withdrawn
85 Recursive Equivalence Predicates William D Clinger withdrawn
86 MU and NU simulating VALUES & CALL-WITH-VALUES, and their related LET-syntax Joo ChurlSoo final
87 => in case clauses Chongkai Zhu final
88 Keyword objects Marc Feeley final
89 Optional positional and named parameters Marc Feeley final
90 Extensible hash table constructor Marc Feeley final
91 Extended ports Marc Feeley withdrawn
92 ALAMBDA and ALAMBDA* Joo ChurlSoo withdrawn
93 R6RS Syntax-Case Macros Kent Dybvig withdrawn
94 Type-Restricted Numerical Functions Aubrey Jaffer final
95 Sorting and Merging Aubrey Jaffer final
96 SLIB Prerequisites Aubrey Jaffer final
97 SRFI Libraries David Van Horn final
98 An interface to access environment variables Taro Minowa (Higepon) final
99 ERR5RS Records William D Clinger final
100 define-lambda-object Joo ChurlSoo final
101 Purely Functional Random-Access Pairs and Lists David Van Horn final
102 Procedure Arity Inspection David Van Horn withdrawn
103 Library Files Derick Eddington withdrawn
104 Library Files Utilities Derick Eddington withdrawn
105 Curly-infix-expressions David A. Wheeler and Alan Manuel K. Gloria final
106 Basic socket interface Takashi Kato final
107 XML reader syntax Per Bothner final
108 Named quasi-literal constructors Per Bothner final
109 Extended string quasi-literals Per Bothner final
110 Sweet-expressions (t-expressions) David A. Wheeler and Alan Manuel K. Gloria final
111 Boxes John Cowan final
112 Environment Inquiry John Cowan final
113 Sets and bags John Cowan final
114 Comparators John Cowan withdrawn
115 Scheme Regular Expressions Alex Shinn final
116 Immutable List Library John Cowan final
117 Queues based on lists John Cowan final
118 Simple adjustable-size strings Per Bothner final
119 wisp Arne Babenhauserheide final
120 Timer APIs Takashi Kato final
121 Generators Shiro Kawai, John Cowan, and Thomas Gilray withdrawn
122 Nonempty Intervals and Generalized Arrays Bradley J. Lucier final
123 Generic accessor and modifier operators Taylan Ulrich Bayırlı/Kammer final
124 Ephemerons John Cowan final
125 Intermediate hash tables John Cowan and Will Clinger final
126 R6RS-based hashtables Taylan Ulrich Bayırlı/Kammer final
127 Lazy Sequences John Cowan final
128 Comparators (reduced) John Cowan final
129 Titlecase procedures John Cowan final
130 Cursor-based string library John Cowan final
131 ERR5RS Record Syntax (reduced) John Cowan and Will Clinger final
132 Sort Libraries John Cowan final
133 Vector Library (R7RS-compatible) John Cowan final
134 Immutable Deques Kevin Wortman and John Cowan final
135 Immutable Texts William D Clinger final
136 Extensible record types Marc Nieper-Wißkirchen final
137 Minimal Unique Types John Cowan and Marc Nieper-Wißkirchen final
138 Compiling Scheme programs to executables Marc Nieper-Wißkirchen final
139 Syntax parameters Marc Nieper-Wißkirchen final
140 Immutable Strings Per Bothner final
141 Integer division Taylor Campbell and John Cowan final
142 Bitwise Operations John Cowan withdrawn
143 Fixnums John Cowan final
144 Flonums John Cowan and Will Clinger final
145 Assumptions Marc Nieper-Wißkirchen final
146 Mappings Arthur A. Gleckler and Marc Nieper-Wißkirchen final
147 Custom macro transformers Marc Nieper-Wißkirchen final
148 Eager syntax-rules Marc Nieper-Wißkirchen final
149 Basic Syntax-rules Template Extensions Marc Nieper-Wißkirchen final
150 Hygienic ERR5RS Record Syntax (reduced) Marc Nieper-Wißkirchen final
151 Bitwise Operations John Cowan final
152 String Library (reduced) John Cowan final
153 Ordered Sets John Cowan withdrawn
154 First-class dynamic extents Marc Nieper-Wißkirchen final
155 Promises Marc Nieper-Wißkirchen final
156 Syntactic combiners for binary predicates Panicz Maciej Godek final
157 Continuation marks Marc Nieper-Wißkirchen final
158 Generators and Accumulators Shiro Kawai, John Cowan, and Thomas Gilray final
159 Combinator Formatting Alex Shinn withdrawn
160 Homogeneous numeric vector libraries John Cowan and Shiro Kawai (contributed a major patch) final
161 Unifiable Boxes Marc Nieper-Wißkirchen final
162 Comparators sublibrary John Cowan final
163 Enhanced array literals Per Bothner final
164 Enhanced multi-dimensional Arrays Per Bothner final
165 The Environment Monad Marc Nieper-Wißkirchen final
166 Monadic Formatting Alex Shinn final
167 Ordered Key Value Store Amirouche Boubekki final
168 Generic Tuple Store Database Amirouche Boubekki final
169 Underscores in numbers Lassi Kortela final
170 POSIX API Olin Shivers (original author), John Cowan (editor and shepherd), and Harold Ancell (implementer and editor) final
171 Transducers Linus Björnstam final
172 Two Safer Subsets of R7RS John Cowan final
173 Hooks Amirouche Boubekki final
174 POSIX Timespecs John Cowan final
175 ASCII character library Lassi Kortela final
176 Version flag Lassi Kortela final
177 Portable keyword arguments Lassi Kortela withdrawn
178 Bitvector library John Cowan (text) and Wolfgang Corcoran-Mathe (implementation) final
179 Nonempty Intervals and Generalized Arrays (Updated) Bradley J. Lucier final
180 JSON Amirouche Boubekki final
181 Custom ports (including transcoded ports) John Cowan final
182 ADBMAL, ALET, and ALET* Joo ChurlSoo withdrawn
183 Another format procedure, Fox Joo ChurlSoo withdrawn
184 define-record-lambda Joo ChurlSoo withdrawn
185 Linear adjustable-length strings John Cowan final
186 Transcoders and transcoded ports John Cowan withdrawn
187 ALAMBDA and ADEFINE Joo ChurlSoo withdrawn
188 Splicing binding constructs for syntactic keywords Marc Nieper-Wißkirchen final
189 Maybe and Either John Cowan (text) and Wolfgang Corcoran-Mathe (sample implementation) final
190 Coroutine Generators Marc Nieper-Wißkirchen final
191 Procedure Arity Inspection John Cowan withdrawn
192 Port Positioning John Cowan and Shiro Kawai (implementation; requires a hook) final
193 Command line Lassi Kortela final
194 Random data generators Shiro Kawai (design), Arvydas Silanskas (implementation), John Cowan (editor and shepherd), and Linas Vepštas (implementation) final
195 Multiple-value boxes Marc Nieper-Wißkirchen final
196 Range Objects John Cowan (text) and Wolfgang Corcoran-Mathe (sample implementation) final
197 Pipeline Operators Adam Nelson final
198 Foreign Interface Status John Cowan (editor and shepherd), Harold Ancell (implementer and editor), and Lassi Kortela (architect) withdrawn
199 POSIX errno manipulation Harold Ancell withdrawn
200 Pattern Matching Panicz Maciej Godek draft
201 Syntactic Extensions to the Core Scheme Bindings Panicz Maciej Godek final
202 Pattern-matching Variant of the and-let* Form that Supports Multiple Values Panicz Maciej Godek final
203 A Simple Picture Language in the Style of SICP Vladimir Nikishkin final
204 Wright-Cartwright-Shinn Pattern Matcher Felix Thibault draft
205 POSIX Terminal Fundamentals John Cowan (author) and Harold Ancell (author and editor) draft
206 Auxiliary Syntax Keywords Marc Nieper-Wißkirchen final
207 String-notated bytevectors Daphne Preston-Kendal (external notation), John Cowan (procedure design), and Wolfgang Corcoran-Mathe (implementation) final
208 NaN procedures Emmanuel Medernach (design), John Cowan (editor), and Wolfgang Corcoran-Mathe (implementation) final
209 Enums and Enum Sets John Cowan (text) and Wolfgang Corcoran-Mathe (implementation) final
210 Procedures and Syntax for Multiple Values Marc Nieper-Wißkirchen final
211 Scheme Macro Libraries Marc Nieper-Wißkirchen draft
212 Aliases Marc Nieper-Wißkirchen final
213 Identifier Properties Marc Nieper-Wißkirchen draft
214 Flexvectors Adam Nelson final
215 Central Log Exchange Göran Weinholt final
216 SICP Prerequisites (Portable) Vladimir Nikishkin final
217 Integer Sets John Cowan (text) and Wolfgang Corcoran-Mathe (implementation) draft
218 Unicode Numerals John Cowan (text) and Arvydas Silanskas (implementation) withdrawn
219 Define higher-order lambda Lassi Kortela draft
220 Line directives Lassi Kortela draft
221 Generator/accumulator sub-library John Cowan (text) and Arvydas Silanskas (implementation) draft
222 Compound Objects John Cowan (text) and Arvydas Silanskas (implementation) draft
223 Generalized binary search procedures Daphne Preston-Kendal draft
#!/bin/sh
wget -c https://srfi.schemers.org/srfi.tgz
tar xvfz srfi.tgz >/dev/null
f="srfi-table.md"
echo "| number | description | authors | status |" > $f
echo "| --- | --- | --- | --- |" >> $f
last=`ls -1 -d */ | sed -e 's/srfi-//' -e 's/.$//' | sort -n | tail -1`
for no in `seq 0 $last`; do
info="srfi-$no/README.org"
desc=`awk -F': ' 'NR == 1 {print $2}' $info`
auth=`awk -F'by' 'NR == 3 {print $2}' $info`
stat=`awk -F/ '/SRFI.*status/{print $2}' $info`
echo "| $no | $desc | $auth | $stat |" >> $f
rm -r srfi-$no
done
rm srfi.tgz
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment