Thanks for commenting, Michael and John.
My main concern is that I am often using "niche" Schemes, in addition to
the "big players": for example a Scheme-over-Javascript for web
applications, a Scheme-over-Ocaml to script scientific applications, and
some others.
With R5RS, it was easy for a "niche Scheme" to achieve compliance. On a
compliant system, I could add the SRFI reference implementations and get a
*great* environment everytime. I could trivially port external packages to
the niche Schemes. My own code would run everywhere. I would hardly ever
need to even use (cond-expand).
With a big standard, niche Schemes might not cross the bridge. For
example, syntax-rules is already hard to implement -- syntax case looks a
lot harder. Then, once programmers start using the advanced features of
R6RS, the community will fragment. It will become hard to port packages to
niche Schemes.
Also, some future Schemes will never be born, as potential implementors
will be put off. Scheme used to be the "easy choice" with a 50-page spec.
Not any longer.
About the distinction between the core and the standard library -- can a
Scheme be R6RS-compliant without implementing the library? And will the
library come with a reference implementation, like the SRFIs? For example,
SRFI-69 has been folded in the library -- except there's no link to an
implementation anymore. Same with SRFI-1. This seems to shift the burden
from the community (which could handle it) to the implementor
(who might be overwhelmed).
I also think SRFI's are preferrable *in principle* over a big library.
Many focused groups tend to produce better results faster, with more
frequent updates, than one big group. Descentralziation is good, right?
With portable reference implementations, what could be the problem?
Best,
Dan Muresan
http://alumnus.caltech.edu/~muresan
Received on Wed Sep 20 2006 - 17:49:51 UTC