[r6rs-discuss] r6rs is perfect
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
system?
* 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
implementation
-- supporting commercial programmers who need reassurance that
there is more than one implementation and implementor [ever attended
CUFP?]
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).
-- Matthias
Received on Sat Jun 09 2007 - 12:34:47 UTC
This archive was generated by hypermail 2.3.0
: Wed Oct 23 2024 - 09:15:01 UTC