chickadee » record-variants » define-record-type-variant

(define-record-type-variant name-spec variant-spec pred-spec constructor field-spec)syntax


name-spec := (variant-name original-name) | variant-name
variant-spec := (variant-type ...)
variant-type := unsafe | unchecked | inline
pred-spec := (predicate checker) | (predicate) | predicate
constructor, field-spec: as in SRFI 9

Defines alternate accessor procedures to the existing SRFI 9 record-type original-name according to variant-spec.

name-spec acts as it does in define-record-variant, including constructor generation behavior.

pred-spec may be a predicate identifier or a list containing a predicate identifier and optionally a "checker" identifier. The checker identifier is used as the name of the generated check-VARIANT-NAME procedure, which again behaves as in define-record-variant. If the checker identifier is omitted, no check procedure is generated.

See define-record-variant and SRFI 9 for further details.