5.3 define-datatype
(define-datatype datatypeid [variantid fieldid ...] ...) |
A short-hand for defining a group of related structures. A define-datatype form
(define-datatype datatypeid |
[variantid fieldid ...] |
...) |
is equivalent to
(define (datatypeid? x) |
(or (variantid? x) ...)) |
(define-struct variantid (fieldid ...)) |
... |