COMMON-LISP TYPE SCHEME ======================= T * NIL < all types C METHOD C METHOD-COMBINATION C STANDARD-OBJECT C CLASS C BUILT-IN-CLASS C STRUCTURE-CLASS C STANDARD-CLASS C STANDARD-METHOD (METHOD, STANDARD-OBJECT) C STRUCTURE-OBJECT * BOOLEAN = (MEMBER T NIL) C SYMBOL * KEYWORD C PACKAGE C FUNCTION * COMPILED-FUNCTION C GENERIC-FUNCTION C STANDARD-GENERIC-FUNCTION C NUMBER C* COMPLEX [type] C* REAL [low-lim [up-lim]] C* FLOAT [low-lim [up-lim]] * SHORT-FLOAT [low-lim [up-lim]] * SINGLE-FLOAT [low-lim [up-lim]] * DOUBLE-FLOAT [low-lim [up-lim]] * LONG-FLOAT [low-lim [up-lim]] C* RATIONAL [low-lim [up-lim]] C RATIO C* INTEGER [low-lim [up-lim]] * FIXNUM * BIGNUM * SIGNED-BYTE [len | *] * UNSIGNED-BYTE [len | *] * BIT == UNSIGNED-BYTE 1 * MOD up-exclusive-lim C RANDOM-STATE C CHARACTER * BASE-CHAR * STANDARD-CHAR * EXTENDED-CHAR * ATOM = (NOT CONS) C SEQUENCE C LIST C NULL (SYMBOL LIST) C* CONS [{type | *} [{type | *}]] C* ARRAY [{elt-type | *} [rank | * | ({dimension | * }*)]] * SIMPLE-ARRAY [{elt-type | *} [rank | * | ({dimension | * }*)]] C* VECTOR [{elt-type | *} [{size | *}]] * SIMPLE-VECTOR (SIMPLE-ARRAY VECTOR) C* BIT-VECTOR [{size | *}] * SIMPLE-BIT-VECTOR [{size | *}] C* STRING [{size | *}] * SIMPLE-STRING [{size | *}] * BASE-STRING [{size | *}] * SIMPLE-BASE-STRING [{size | *}] C HASH-TABLE C PATHNAME C LOGICAL-PATHNAME C STREAM C BROADCAST-STREAM C CONCATENATED-STREAM C ECHO-STREAM C FILE-STREAM C STRING-STREAM C SYNONYM-STREAM C TWO-WAY-STREAM C READTABLE RESTART CONDITION WARNING STYLE-WARNING SERIOUS-CONDITION STORAGE-CONDITION ERROR TYPE-ERROR PARSE-ERROR CONTROL-ERROR PROGRAM-ERROR CELL-ERROR UNDEFINED-FUNCTION UNBOUND-SLOT UNBOUND-VARIABLE PACKAGE-ERROR ARITHMETIC-ERROR DIVISION-BY-ZERO FLOATING-POINT-INVALID-OPERATION FLOATING-POINT-INEXACT FLOATING-POINT-OVERFLOW FLOATING-POINT-UNDERFLOW FILE-ERROR STREAM-ERROR READER-ERROR (PARSE-ERROR STREAM-ERROR) PRINT-NOT-READABLE SIMPLE-CONDITION SIMPLE-WARNING (WARNING SIMPLE-CONDITION) SIMPLE-ERROR (ERROR SIMPLE-CONDITION) SIMPLE-TYPE-ERROR (TYPE-ERROR SIMPLE-CONDITION) * (NOT type) * (AND {type}*) * (OR {type}*) * (VALUES {type}* [&optional {type}*] [&rest type] [&allow-other-keys]) * (SATISFIES symbol) symbol is a predicate * (MEMBER {object}*) * (EQL object)