7.6.2.11 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.