[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

A few starting questions

[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