[R6RS] R6RS records: non-generative record type descriptor identity

Michael Sperber sperber
Sun Aug 28 10:14:45 EDT 2005

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

> The specification of make-record-type-descriptor contains this
> passage:
>     When make-record-type-descriptor is called repeatedly with
>     the same uid argument (in the sense of eq?), all other arguments
>     to make-record-type-descriptor must also be the same (in the sense
>     of equal?), and the same record-type descriptor (in the sense of
>     eq?) is returned every time.
> To clarify the meaning of this passage, the meaning of equal? on type
> descriptors (the parent argument) must be defined explicitly in the
> specification.

Good point.  An alternative is just to differentiate the language in
the definition of MAKE-RECORD-TYPE-DESCRIPTOR, which I'll try to do.

> Moreover I don't see why the same type descriptor (in the sense of
> eq?) must be returned every time since there are no mutation
> operations on type descriptors. 

While I think that there might be mutation operations in extensions
(for example, for dealing with fine-grained opacity), I don't feel
strongly about this.  We do need to say what the relationship between
the two type descriptors is, however.  Can you suggest language to do

> Finally, if we want to avoid gratuitous uid clashes, the specification
> should advocate a procedure for choosing "unique" uids.  This is
> motivated by our objective to allow easy sharing of code.  We could
> for example suggest using symbols containing a UUID suffix (see
> http://www.ietf.org/rfc/rfc4122.txt).

I'll put in a note to that effect.

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

More information about the R6RS mailing list