Thank you, Peter!

In my opinion, now there're two main barriers to apply your work:

1. Is this legal, that SRFI-261 names those unnamed SRFIs? Maybe
   editors could help this problem?
2. We need to discuss the criteria for naming SRFI item by item. I will
   continue to ask everyone on the email list to discuss this job in
   the next few weeks. After discussing one item, we can discuss the
   next one. I will push forward the progress according to my
   understanding of the urgency of each condition. Don't let anyone
   fantasize about passing by, LoL. Every point I ask everyone to
   discuss, unless there is a solid consensus, then let's keep going.

Discovering that this matter is becoming increasingly fun,

WANG Zheng

2025-06-15


在 6/14/25 05:15, Peter McGoron 写道:
I like the idea of importing SRFIs by name. It's easier to read (srfi lists-1) (or (srfi 1 lists) or whatever alternative named syntax is adopted) than (srfi 1).

I think that every SRFI (even withdrawn) should have an identifier. Withdrawn SRFIs are used by some implementations (CHICKEN uses SRFI-12 for instance).

The identifiers can also be used for more than just libraries. SRFIs with only reader syntax can use an identifier to activate the reader syntax with syntax similar to the proposed #!srfi-nnn. For example, #!srfi-30 could also be #!srfi-external-form-30. The identifiers can also be used in cond-expand or in (features).

I quickly went through the SRFI list and gave identifiers to SRFIs that did not have one listed. I left the draft SRFIs empty. I welcome better suggestions for names.

0    cond-expand
3    list-set
7    feature-cond
10    external-form
12    exception-handling
20    objects
22    scheme-scripts
24    local-define-syntax
30    multi-line-comments
32    sort
33    bitwise
36    io-conditions
40    streams
49    i-expr
50    mixing-scheme-and-c
52    extended-character-sets
53    computation-rules
55    require-extension
56    binary-io
58    arrays
62    s-expr-comments
65    define-immutable
68    comprehensive-io
70    numbers
72    hygienic-macros
73    exact-infinities
75    unicode-data
76    records
77    arithmetic
79    primitive-io
80    stream-io
81    port-io
82    stream-ports
83    library-syntax
84    universal-identifiers
85    equiv
88    keyword-objects
89    define*
90    hash-tables
91    ports
92    alambda
93    syntax-case
94    numbers
96    slib-prerequisites
97    srfi-libraries
100    define-lambda-object
101    immutable-pairs
102    procedures
103    library-files
104    library-files-utilities
105    curly-infix-expressions
106    sockets
107    xml-reader-syntax
108    named-quasi-literal-constructors
109    extended-string-quasi-literals
110    t-expressions
111    boxes
112    environment-enquiry
113    sets-and-bags
114    comparators
115    regex
116    immutable-pairs
118    strings
119    wisp
120    timers
121    generators
122    intervals-and-arrays
123    ref-and-set!
124    ephemerons
134    immutable-deques
135    immutable-texts
136    extensible-record-types
137    unique-types
138    compiling-scheme
139    syntax-parameters
140    immutable-strings
142    bitwise
144    fixnums
146    mapping
147    macro-transformers
148    eager-syntax-rules
149    syntax-rules
150    records
153    ordered-sets
154    dynamic-extents
155    promises
157    continuation-marks
159    combinator-formatting
160    number-vectors
161    ubox
162    comparators
163    array-literals
164    arrays
165    environment-monad
166    fmt
167    ordered-key-value-store
168    generic-tuple-store
169    underscores-in-numbers
170    posix
171    transducers
172    safer-subsets-of-r7rs
173    hooks
174    posix-timespecs
177    keyword-arguments
178    bitvectors
179    intervals-and-arrays
180    json
181    custom-ports
182    adbmal
183    fox
184    define-record-lambda
185    strings
186    transcoders
187    alambda
188    splicing
189    maybe-and-either
190    coroutine-generators
191    procedure-inspection
192    port-positioning
193    command-line
194    random
195    multiple-value-boxes
196    range-objects
197    pipelines
198    foreign-interface-status
199    errno
200    match
201    extensions
202    and-let*
203    picture
204    match
205    posix-terminal
206    auxillary-syntax-keywords
207    bytevectors
208    nan
209    enums
210    multiple-values
211    macros
212    aliases
213    identifier-properties
214    flexvectors
216    sicp-prerequisites
217    integer-sets
218    unicode-numerals
220    line-directives
221    generators-and-accumulators
222    compound-objects
224    integer-mappings
225    dictionaries
226    control-features
227    optional-arguments
229    tagged-procedures
230    atomics
231    intervals-and-arrays
232    currying
233    ini
234    topological-sort
235    combinators
237    records
240    records
243    unreadable-data
245    mixing-definitions-and-expressions
246    guardians
247    syntatic-monads
248    delimited-continuations
249    restarting-conditions
250
251    mixing-definitions-and-expressions
252    property-testing
253    data-type-checking
254
255    restarting-conditions
256    records
257
258    uninterned-symbols
260    generated-symbols
261
262
263

Reply via email to