[r6rs-discuss] [Formal] Requirement to detect circular lists

From: Sam Tobin-Hochstadt <samth>
Date: Mon Oct 2 09:33:44 2006

On Mon, 2006-10-02 at 14:34 +0300, Dan Muresan wrote:

> 2. I'm a user of some niche Schemes. They work just fine with R5RS. If
> they won't support R6RS, while the major implementations do, I lose,
> because I won't be able to port common libraries to the niche
> implementations.

Right now, given R5RS, there are 3 kinds of Scheme libraries:

1. Those that exist only for one implementation (the vast majority).
2. Those that are portable among several specified major implementations
(the Twobit compiler is an example of this, as is anything ported by
ScmXLate)
3. Those that are portable to any standards-compliant scheme.

Right now, your niche implementation can only use the third kind.

The additional specification in R6RS means that lots of libraries that
are currently not portable will become portable to any R6RS scheme
(moving libraries from categories 1 and 2 to category 3). Also,
portable libraries will be able to use the many useful features of R6RS.

The cost, for you, is that some libraries that were previously in
category 3 will use the new features of R6RS, which the implementation
you use will not support.

Given the limited number of currently-portable libraries, I think it's
clear that the Scheme community overall benefits from R6RS. Further,
even if a library changes to take advantage of R6RS, the old, R5RS
version will presumably still work on whatever systems it worked on
previously. So all you (and other R5RS users) lose is the improvements
made to current R5RS compatible libraries.

> 3. Wasn't Common Lisp the one where you got everything-and-the-kitchen
> sink? That argument about hash tables, records etc. used to come from the
> Lisp camp.

The bogeyman of CL keeps being raised in reference to the size of the
spec. However, CL seems to have a wide variety of successful
implementations.

sam th
Received on Mon Oct 02 2006 - 09:33:37 UTC

This archive was generated by hypermail 2.3.0 : Wed Oct 23 2024 - 09:15:00 UTC