rnrs records inspection
The (rnrs records inspection (6)) library provides procedures useful for accessing metadata about R6RS records.
Scheme Procedure: record? obj
Return #t if the specified object is a non-opaque R6RS record, #f otherwise.
Scheme Procedure: record-rtd record
Returns the record-type descriptor for record. An &assertion is raised if record is opaque.
Scheme Procedure: record-type-name rtd
Returns the name of the record-type descriptor rtd.
Scheme Procedure: record-type-parent rtd
Returns the parent of the record-type descriptor rtd, or #f if it has none.
Scheme Procedure: record-type-uid rtd
Returns the uid of the record-type descriptor rtd, or #f if it has none.
Scheme Procedure: record-type-generative? rtd
Returns #t if the record-type descriptor rtd is generative, #f otherwise.
Scheme Procedure: record-type-sealed? rtd
Returns #t if the record-type descriptor rtd is sealed, #f otherwise.
Scheme Procedure: record-type-opaque? rtd
Returns #t if the record-type descriptor rtd is opaque, #f otherwise.
Scheme Procedure: record-type-field-names rtd
Returns a vector of symbols giving the names of the fields defined by the record-type descriptor rtd (and not any of its sub- or supertypes).
Scheme Procedure: record-field-mutable? rtd k
Returns #t if the field at index k of the record-type descriptor rtd (and not any of its sub- or supertypes) is mutable.