[R6RS] record types and UIDs

Matthew Flatt mflatt at cs.utah.edu
Fri Feb 24 15:39:59 EST 2006


When the same `uid' is supplied to two different calls to
`make-record-type-descriptor', all the other arguments are required to
be equivalent (`eqv?' or `equal?', as appropriate).

The SRFI doesn't say what happens if the other arguments not all equal.

Would it make sense to change the `uid' argument to a `uid-prefix'
argument that's combined with all the other arguments to produce the
true UID? Then there's no question of incompatible UID mappings.

For example,

 (make-record-type 'posn #f '2162a300-a575-11da-a746-0800200c9a66
                   #f #f '((mutable x) (mutable y)))

 (make-record-type 'posn3D #f '2162a300-a575-11da-a746-0800200c9a66
                   #f #f '((mutable x) (mutable y) (mutable z)))

would generate two different record types, even though the same UID
prefix is supplied.

Matthew




More information about the R6RS mailing list