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

Re: [Scheme-reports] Formal Response #456: Adoption of R6RS

Michael Sperber scripsit:

> It still seems quite tendentious.  How can an "essentially unmaintained"
> implementation be expected to implement a new standard?

It can't, of course.  That's why I excluded them from the claim that
most implementations have not aimed at R6RS.

> Also, taking this list as a reference:
> http://lists.r6rs.org/pipermail/r6rs-discuss/2007-October/003351.html
> ... these R5RS implementations did commit to implementing R6RS:

I can't understand why, five years down the road, you'd look at which
implementers *said* they would move to R6RS as opposed to which ones
actually did.

Let's look at the 45 Schemes in my test suite, which we can divide into
four groups.  All lists are ordered from most recently released to least
recently released.

These implementations attempt to provide R6RS facilities (I say "attempt"
because obviously we can't demand that they be bug-free): Chez, Racket,
IronScheme*, Ikarus/Vicare*, Mosh*, KSi, Larceny, Ypsilon*.  Asterisks
mark implementations whose first releases postdated R6RS.

These have had a release since September 2007, when R6RS was published,
but do not attempt to provide R6RS facilities: Chicken, Scheme 9%, Bigloo,
Kawa, Gauche, Gambit, Dfsch%, Schemik, BDC, Rep%, STklos, Owl Lisp%*,
Chibi*, Scheme 7, Dream, Elk, FemtoLisp%*, NexJ*, TinyScheme, Spark*,
MIT, SigScheme, SCM, Scheme48.  Most attempt R5RS compliance to some
deviations; the ones marked with % do not.

Guile has had a release and provides substantial R6RS facilities but
does not aim at R6RS conformance.

Finally, these have not had a release since September 2007: RScheme,
SISC, VX, scsh, Inlab, Llava%, XLisp%, Sizzle, SXM, Oaklisp%, Shoe, UMB.

So that makes 5 existing R5RS implementations that moved toward R6RS,
and 14 implementations that did not.  Of the 9 implementations started
since R6RS was published, 4 have aimed to implement it and 5 have not.
8 are non-R5RS; 11 have not been updated at all.  I think those facts
substantiate my claims.

(Corrections to the above are welcome.)

> - There's Chicken, which still only supports "almost all of the R5RS
>   Scheme".

For the record, here are the intentionally unsupported features of R5RS
in Chicken:

1) case-sensitivity

2) `numerator` and `denominator` don't work on inexact numbers

3) `rationalize` is not provided

4) read-write invariance of numbers is not provided.

Newbies always ask:                             John Cowan
  "Elements or attributes?                      http://www.ccil.org/~cowan
Which will serve me best?"                      cowan@x
  Those who know roar like lions;
  Wise hackers smile like tigers.                   --a tanka, or extended haiku

Scheme-reports mailing list