CLHS: Type Specifier OR

#

Type Specifier OR

Compound Type Specifier Kind:

Combining.

Compound Type Specifier Syntax:

or typespec*

Compound Type Specifier Arguments:

typespec---a type specifier.

Compound Type Specifier Description:

This denotes the set of all objects of the type determined by the union of the typespecs. For example, the type list by definition is the same as `(or null cons)`. Also, the value returned by position is an object of type `(or null (integer 0 *))`; i.e., either nil or a non-negative integer.

* is not permitted as an argument.

The type specifiers `(or)` and nil are equivalent. The symbol or is not valid as a type specifier; and, specifically, it is not an abbreviation for `(or)`.

The following X3J13 cleanup issue, not part of the specification, applies to this section:

- TYPE-SPECIFIER-ABBREVIATION:X3J13-JUN90-GUESS

Copyright 1996-2005, LispWorks Ltd. All rights reserved.