[r6rs-discuss] criteria for including or excluding a library

From: William D Clinger <will>
Date: Fri Nov 3 09:17:46 2006

I am posting this as an individual member of the Scheme
community. I am not speaking for the R6RS editors.

Mike Sperber quoting me:
> > Could be a SRFI?
> >
> > If the library could be implemented portably, with
> > reasonable efficiency, using only the rest of R6RS,
> > then it could be described by a SRFI and provided by
> > a portable reference implementation instead of being
> > included within the R6RS.
>
> I suggest that the heading here is misleading. (As Sam TH already
> pointed out.)

I walked across the hall and thanked Sam for his correction.
Although the guts of syntax-case can be implemented portably,
its connections to libraries and to the evaluator cannot.

> The SRFI process in no way mandates portable reference
> implementations, and a number of SRFIs don't.

True. I was stating my own personal criteria for including
or excluding a library from the R6RS. In my own personal
opinion, the fact that a library could be described by a
SRFI whose reference implementation is not portable should
not count as an argument against including the library
within the R6RS.

I do not accuse you of sharing my opinion.

> > (r6rs i/o primitive), section 15.2 of the draft R6RS:
> >
> > Could be a SRFI? yes
>
> That should be: yes, but requires compiler support
> for efficiency
>
> It could be implemented in terms of ports, but that would be putting
> the intention of the I/O design on its head, and would incur
> significant loss of efficiency.

I do not see how a compiler could provide meaningful
special support for that library. I do not understand
the intention of an I/O design that includes section 15.2.
So far as I can see, the largest loss of efficiency that
would result from implementing (r6rs i/o primitive) in
terms of records and ports would be a factor of 2,
incurred only when reading bytes from a file reader.

Whether a factor of 2 is significant for that library is
a subjective judgment. I usually favor simplicity over
efficiency, and I think a portable implementation in terms
of records and ports would be fast enough for all known
applications of (r6rs i/o primitive).

Will
Received on Fri Nov 03 2006 - 09:17:37 UTC

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