- (define-condition-type {{<condition-type>}} <supertype> {{<predicate>}} {{<field-spec>}} ...)syntax
This defines a new condition type. <Condition-type>, <supertypes>, and <predicate> must all be identifiers. Define-condition-type defines an identifier <condition-type> to some value describing the condition type. <supertype> must be the name of a previously defined condition type.
Define-condition-type also defines <predicate> to a predicate that identifies conditions associated with that type, or with any of its subtypes.
Each <field-spec> must be of the form ( <field> <accessor>) where both <field> and <accessor> must be identifiers. Define-condition-type defines each <accessor> to a procedure which extracts the value of the named field from a condition associated with this condition type.