Next: Union Types
Up: More About Types in
Previous: Canonicalization
  Contents
  Index
Member Types
member types
The member type specifier can be used to represent
``symbolic'' values, analogous to the enumerated types of Pascal. For
example, the second value of find-symbol has this type:
(member :internal :external :inherited nil)
Member types are very useful for expressing consistency constraints on data
structures, for example:
(defstruct ice-cream
(flavor :vanilla :type (member :vanilla :chocolate :strawberry)))
Member types are also useful in type inference, as the number of members can
sometimes be pared down to one, in which case the value is a known constant.
Peter Van Eynde
2001-03-08