[r6rs-discuss] [Formal] Record layers are not orthogonal.
David Van Horn
dvanhorn at cs.brandeis.edu
Thu Nov 16 00:50:42 EST 2006
John Cowan wrote:
> David Van Horn scripsit:
>> But what is the difference between learning about one package that is
>> specified as a SRFI and one specified as part of R6RS?
> Support for SRFIs, even SRFIs with portable implementations, is optional.
> A convenient interface to records should be provided as part of the Scheme
> language, not as an optional addition.
I don't understand the problem with these syntactic layers being
optional. If they are compelling, implementations will support them.
If not, why should they be included in the language standard?
> I cite again the non-primitive syntax constructions. We have "case" not
> because it couldn't be in a SRFI, but because we consider it good that
> everyone who uses "case" at all, uses a consistent version that can be
Case is a low-cost addition (in terms of real-estate required to
describe it) with historical precedent. And the portable reference
implementation is not a particularly high quality implementation. So a
SRFI with a portable implementation would not be very useful. On the
other hand, the two record syntactic layers take up 3-4 pages for a
sugar mechanism, which is not so sweet. They have no historical
precedent or usage and there is some disagreement as to what these
layers should look like. A portable reference implementation is likely
to be comparable in quality to any implementation specific
implementation, and therefore useful. R6RS can be published with the
new procedural record interface, some experience using it will
accumulate, and we can try to come to a consensus on what a good
syntactic shorthand would be.
At least some editors and others who've commented on the draft have
expressed some concern over the length of the document (which will is
still only partially complete considering the formal semantics are
omitted). To me, this just seems like a good place to cut.
More information about the r6rs-discuss