Comment 1 for bug 1851437

Revision history for this message
Douglas Katzman (dougk) wrote :

By analogy with (REAL) and (FLOAT), you might think (NUMBER) should work, but it can't take bounds as parameters, so it's not at all.

CLHS make an implication in the opposite direction: _if_ a specifier can be a list, then the form which is just an atom must work and is equivalent to the list with no optional parameters.

But we should not support this.
CCL agrees that it's an error:
? (typep 3 '(number))
> Error: Invalid type specifier: (NUMBER)

CLISP agrees that it's an error:
[1]> (typep 3 '(number))
*** - TYPEP: invalid type specification (NUMBER)

ECL agrees that it's an error:
> (typep 3 '(number))
Condition of type: SIMPLE-ERROR
(NUMBER) is not a valid type specifier.

So it's an error.