[R6RS] Re: R6RS = Common Scheme?
Sat Jan 24 10:39:50 EST 2004
Michael Sperber wrote:
> Come to think of it, the term "Common Scheme" worries me. It seems to
> be meant to sound like Common Lisp which is essentially a *union* of
> features, but you seem to mean an *intersection*. (Which I
> support---especially since I've had to use Common Lisp
> professionally.) On the other hand, the first bullet of examples you
> give (lexical syntax) aren't even close to common among major Scheme
> implementations, even as represented by the editors.
Well there's two ways to view the term "common". It could mean the
intersection of the current features of the major implementations. In
this strict interpretation there are very few things that we would add
to the language (and things which I consider of minor importance). I
mean "common" at a more conceptual level and with some flexibility
(i.e. renaming procedures, order of arguments, and API). For example,
the multiline comments #| ... |# are shared by many implementations
with the same interpretation, so even though they are not in the
strict intersection of the major implementations we can consider such
a feature and see if the major implementations that don't currently
support it are willing to adopt it. A feature that is in few
implementations can also be considered but it will be a harder sell.
In other words, "common" is somewhere in between intersection and
union, but closer to intersection (this is not a formal definition!).
Note that after the implementations change, then these features are in
the intersection! In a sense, what I am saying is that with some
relatively small amount of discussion we can make the major
implementations of Scheme agree on the syntax and semantics of
operations they currently have with possibly slightly different syntax
and semantics (lexical syntax extensions, filesystem operations, etc)
or that are sufficiently simple and uncontroversial that they can
easily be added to implementations where these features don't exist.
More information about the R6RS