[R6RS] Re: Why there are two syntactic layers
Thu Jun 23 03:18:09 EDT 2005
> Let me backtrack on the reasoning as discussed in Boston:
> For the syntactic records, we've been looking at 3 kinds of proposals:
> - "implicit": simple facilities that pick the names for the record
> procedures implicitly, such as Will's proposal from Snowbird or
> PLT's DEFINE-STRUCT
> - "explicit": simple facilities that let the programmer pick the names
> of the record procedures, sucha s SRFI 9 or SRFI 57
> - "fancy": facilities that combine the two, such as Marc's or Kent's
> Now, the "simple" facilities are fine for the core because they are in
> line with the R5RS preamble. The "fancy" facilities are not because
> they are complicated and contain redundancies.
> Still, at least you and Marc and Kent want a "fancy" facility, and
> Kent and I have been trying to provide it. It can't go in the core,
> but it can go in a library, where redundancy is not such a problem,
> and people can replace it by something they like better (possibly by
> building on top of it, or the simple facility), if they feel like it.
> (And they will feel like it.) This is why the "fancy" layer in the
> draft has "library" status.
> If it's has library status, it needs to be built on top of something
> in the core, which could be either "implicit" or "explicit." The
> "implicit" facility is a poor choice for this, because you need to
> re-create its naming in order to build "fancy" on top of it;
> "explicit" does the job much better.
> Now (and here we leave the Boston discussion and turn to Kent and I in
> Bloomington), given two layers, you can have a choice of designing
> them independently, which gives you greater freedom in designing both
> layers, or designing them in tandem such that you can easily "upgrade"
> your record-type definition from from the simple to the fancy layer.
> We decided on "easy upgrade path." That choice is pragmatic, and Kent
> and I stand by it, but obviously debatable.
I understand this but what I don't understand is why you don't like the
Marc's proposal. As far as I understand it, it supports both a simplicity
(by using implicit defaults) and fanciness. Am I wrong?
More information about the R6RS