Next: expander lexenv prim rtd, Previous: expander lexenv prim records, Up: expander lexenv prim [Index]
A syntactic binding representing R6RS’s condition object record–type name defined by the boot image has descriptor with one of the formats:
($core-condition-object-type-name . #(?type-name ?uid ?rtd-name ?rcd-name ?parent-name ?constructor-name ?type-predicate-name ?accessors-avector))
where the values are:
A symbol representing the public name of the type.
A symbol representing a unique identifier for the type.
A symbol representing the public name of the syntactic identifier to which the record–type descriptor is bound.
A symbol representing the public name of the syntactic identifier to which the default record–constructor descriptor is bound.
#f
or a symbol representing the public name of the syntactic
identifier bound to the parent’s record-type.
A symbol representing the public name of the syntactic identifier to which the default constructor is bound.
A symbol representing the public name of the syntactic identifier to which the type predicate is bound.
An association vector having: as keys symbols representing field names; as values symbols representing the public name of the syntactic identifier to which the safe field accessor is bound.
As example, for the definition:
(define-condition-type &who &condition make-who-condition who-condition? (who condition-who))
the following descriptor is generated:
($core-condition-object-type-name . #(&who vicare:scheme-type:&who &who-rtd &who-rcd &condition make-who-condition who-condition? #((who . condition-who))))