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

Re: [Scheme-reports] Some comments after reading the r7rs public draft

Duncan Steele scripsit:

> Cloud considerations are perhaps not the most pressing reasons to avoid
> dialects in Scheme, but if the intention with R7RS-large is to build an
> "engineering" Scheme (I'm not certain what the exact R7RS brief is,
> but I certainly hope to use Scheme in future work), then I think it
> needs to attain the consistency that python, ruby, php get from having
> a reference implementation.

It's simply too late in the history of Scheme for that.  Scheme has a
tradition of loose specs and highly variable implementations.  An attempt
to christen an implementation as the "reference" and say that every
other implementation must be compatible with its idiosyncratic way of
doing things will not be accepted by the Scheme community.  Even though
R6RS is much more tightly specified than R7RS, there are still many
incompatibilities between implementations, and nobody is arguing that
they must or even should be removed.

The only reason definition-by-implementation works with Ruby and Python
is that for a long time there was only one implementation (Perl 5 is
still like this), so other implementations were and still are playing
catch-up.  No Scheme implementation, not even the first, has ever held
that privileged position.

(I have sometimes referred to Chibi as a reference implementation, but
only in the sense that it shows that R7RS-small *can* be implemented;
there is absolutely no requirement for any other implementation to be
bug-for-bug-compatible with it.)

John Cowan  cowan@x  http://ccil.org/~cowan
If I have not seen as far as others, it is because giants were standing
on my shoulders.
        --Hal Abelson

Scheme-reports mailing list