five problems with this draft SRFI William D Clinger (26 Sep 2009 01:20 UTC)
Re: five problems with this draft SRFI Abdulaziz Ghuloum (26 Sep 2009 05:58 UTC)
Re: five problems with this draft SRFI Derick Eddington (26 Sep 2009 15:42 UTC)
Re: five problems with this draft SRFI Derick Eddington (27 Sep 2009 02:43 UTC)
Re: five problems with this draft SRFI Shiro Kawai (27 Sep 2009 03:16 UTC)
Re: five problems with this draft SRFI Derick Eddington (29 Sep 2009 02:32 UTC)
Re: five problems with this draft SRFI William D Clinger (30 Sep 2009 01:49 UTC)
Re: five problems with this draft SRFI Derick Eddington (30 Sep 2009 03:22 UTC)
Re: five problems with this draft SRFI Derick Eddington (30 Sep 2009 03:51 UTC)
Re: five problems with this draft SRFI Derick Eddington (30 Sep 2009 06:33 UTC)
Re: five problems with this draft SRFI William D Clinger (30 Sep 2009 13:11 UTC)
Re: five problems with this draft SRFI Derick Eddington (01 Oct 2009 09:10 UTC)

Re: five problems with this draft SRFI Abdulaziz Ghuloum 26 Sep 2009 05:58 UTC

On Sep 26, 2009, at 4:20 AM, William D Clinger wrote:

> I haven't had time to read this draft SRFI carefully,
> but I want to report several problems that I perceived
> during my first quick reading:
>
> 1. Treatment of versioning.
> 2. Ignoring all contents after the first datum.
> 3. Failure to specify which characters are encoded.
> 4. Specification of ordering but not matching.
> 5. Implicit file names.
>
> 1. Treatment of versioning.

I agree that R6RS versioning should be dropped from this
SRFI (though I have not read the text that I just snipped).

> 2. Ignoring all contents after the first datum.
>
> Taken literally, that is a recipe for disaster.  For
> example, the R6RS permits implementations to extend
> the lexical syntax of Scheme with a datum of the form
> #!fold-case or #!larceny or similar, and many systems
> have added such extensions.  Requiring all contents
> that follow a #!fold-case datum to be discarded is
> silly.

Taken literally, yes, but #!larceny or whatever is not
something you'd put in a library intended for running
under multiple implementations.

> Requiring all contents to be discarded following the
> first library is silly as well.  As demonstrated by
> Larceny, allowing multiple libraries within a single
> file reduces clutter.  I am not going to argue that
> this SRFI should require implementations to support
> multiple libraries within a file, but *requiring*
> implementations to discard all but the first library
> within a file serves no purpose other than to ensure
> that Larceny will not support this SRFI.

I'm sure this is not the intent.

> This SRFI should state that files conforming to this
> SRFI must have only one library per file.  This SRFI
> should not require implementations to ignore all but
> the first library in a file.

There are systems that conform to this SRFI and there
are libraries that conform to this SRFI.  If someone
puts multiple libraries in a file, then that's outside
of this SRFI anyways (and the file should probably have
an implementation extension as well in that case).
Besides, implementation-specific files need not contain
R6RS libraries at all.  A PLT file for example might
contain a PLT module, but a plain vanilla library file
must be something that all implementations understand
and that's a single R6RS library.

So, I don't know what changes you're asking for here.

> 3. Failure to specify which characters are encoded.

This is already under discussion.

> 4. Specification of ordering but not matching.
>
> I don't even pretend to understand this issue, but
> what is the point of specifying a detailed ordering
> "as the precedence for choosing a match" if the actual
> matching is going to be implementation-dependent?
>
> One thing I *do* understand is that the R6RS
> pseudo-semantics for versions is part of the problem
> here.  This SRFI would do better to drop versions
> altogether, as was explicitly urged by six voters
> as one of the well-informed reasons they gave for
> voting against ratification of the R6RS in the form
> that was, unfortunately, approved.

I agree that versioning should be dropped and if there
are any unnecessary ordering specifications, we should
inspect them then.

> 5. Implicit file names.

This is already under discussion and I agree that they
should be dropped (but not for the reasons I just
snipped).