[r6rs-discuss] r6rs is perfect
matthias at ccs.neu.edu
Sat Jun 9 12:34:47 EDT 2007
When I read the "side by side" and "head to head" descriptions, I am
wondering which one is which and which one is better.
* Is it really good that Scheme (the spec) doesn't support a module
* Is it really good that almost all major implementations support
their own version of a module system?
* Is it really good that programmers can't even leave the module
structure intact when porting code?
Imagine your own similar questions and add them here. We have lived
in a side-by-side universe for a long time, and there are quite a few
programmers who have suffered from this not-really-the-same-language
problem. Besides the module system, there are other not-quite-the-
same-but-related features that implementations have and programmers
wish to use.
The R6RS process has pushed several major implementors/
implementations to agree on a design for modules and other
constructs. Their report declares that they are ready to put a large
amount of work in to get from r5rs to r6rs. I believe that this step
would help the community in several arenas, listed in increasing
order of relevance:
-- the academic publishing business
-- the fund raising business (NSF and friends)
-- adapting each others innovations
-- supporting programmers who learn on one and switch to another
-- supporting commercial programmers who need reassurance that
there is more than one implementation and implementor [ever attended
Is the document perfect? Is every construct exactly the 'right
thing'? Of course not! Guy and Gerry revised their first Scheme
report because they didn't get it 'right'. R3RS and R4RS and R5RS
revised flaws in R(n-1)RS because the authors/editors didn't get it
'right'. It is extremely difficult and usually impossible to get the
design of a complex beast (such as a programming language) 'right'
the first time. It's all about the feedback loop and revising your
design as you go. Indeed, 'right' doesn't exist; what exists is 'most
pragmatic and internally beautiful' nothing else. (See my other post.)
Our choice is quite simple: move forward as a community with some
amount of convergence (r6rs) or split into dozens of mutually
incompatible sub-communities (status quo, including srfi).
More information about the r6rs-discuss