[R6RS] Records draft

Michael Sperber sperber
Wed Jun 22 08:38:13 EDT 2005

Marc Feeley <feeley at iro.umontreal.ca> writes:

> The syntax is important because it is what the programmers will use all
> the time.  If the syntax is awkward or cumbersome, then they will tend
> to use vectors (see below). [...]

No, by now it is clear that this will not happen, whatever our
efforts.  Simple case in point: I won't use your syntax, and you won't
use mine.  Each of us has their reasons, so it's unlikely we'll find a
single syntax that will please both of us.  So the way to go is to
focus on meeting the requirements, rather than get caught up in the
details of the syntax.  (That doesn't mean I'm not amenable to changes
in the syntax if they meet the various constraints Kent and I tried to
meet, but I'm not willing to spend a lot of time on it outside of the
SRFI discussion.)

> By the way I dislike the two syntactic layers of record definition
> forms.  Can you give a rationale for them?

We discussed that in Boston.  The simple syntactic layer is for
providing the infrastructure for defining record types, while still
keeping with the R5RS preamble:

R5RS> Programming languages should be designed not by piling feature
R5RS> on top of feature, but by removing the weaknesses and
R5RS> restrictions that make additional features appear
R5RS> necessary. Scheme demonstrates that a very small number of rules
R5RS> for forming expressions, with no restrictions on how they are
R5RS> composed, suffice to forma practical and efficient programming
R5RS> language that is flexible enough to support most of the major
R5RS> programming paradigms in use today.

The convenience layer or your proposal don't meet that requirement.
However, the simple layer only has one single means of expressing each
aspect of a record-type definition and therefore meets it.

Cheers =8-} Mike
Friede, V?lkerverst?ndigung und ?berhaupt blabla

More information about the R6RS mailing list