[Please pardon if this was posted to the list twice. I had *thought* I'd
subscribed to the list earlier in the week, but when I first tried to send
this, I was informed I was not a subscriber; apparently, I had subscribed
to the announcements list only. I now should be properly subscribed.]
I was wondering about various issues relating to the SRFIs and this list.
To start with, I was wondering if there was a general consensus as to what
sort of things would and would not be suitable for defining in an SRFI. How
specialized a library definition have to be before it would be seen as too
specific to make a suitable SRFI?
To what extent is elegance and appropriate style and idioms important? Do
SRFIs have a political or proselyting role?
For example, suppose I were to propose (as I may well do, if it is
suitable) an SRFI for a simple collection of iterators and conditional
forms along the following lines:
(when cond expr1 expr2 ...) ; a simple conditional form with no else
(unless cond expr1 expr2 ...) ; a conditional like when, but operates on
false
(while cond expr1 expr2 ...) ; simple while iterator
(until cond expr1 expr2 ...) ; while-not iterator
(for (x from start to finish) expr1 expr2 ...) ; for iterator
(visit vec range x from i to i-prime cond expr1 expr2 ...) ; iterator to
visit all members of a vector in range [i...i-prime)
and so forth. Part of the obvious justification for such a library would be
that it would be more familiar to programmers who were used to procedural
languages. Would such a purely 'political' motive be considered a valid
argument in favor of an SRFI, either alone or as part of a broader
argument? Would the 'un-Scheme-like' qualities of such a library be a
negative factor?
(While I'm at it, could anyone recommend any additional general-purpose
conditionals, iterators, predicates, logical operators or functionals?
Would such a collection constitute a single SRFI or several?)
How far-reaching should SRFIs be? For example, would it be seen as valid to
offer a common 'wrapper' interface for FFI forms (as the Draft SRFI 50 more
or less does)? An object system (as the withdrawn SRFI 20 did)? A standard
set of OpenGL bindings? At which point does it cease to be a 'standard'
library?
What relationship, if any, do the SRFIs have with actual libraries such as
SLIB? With Scheme software archives such as CSAN or SUNet?
Has the standards process for R6RS Scheme had any impact on the SRFI
process, and if so, how?
I would be interested in hearing what people say about these issues.
J. Osako