
Allegro CL 
ANSI Common Lisp 2 Syntax 2.3 Interpretation of Tokens 2.3.1 Numbers as Tokens
2.3.1.1 Potential Numbers as TokensTo allow implementors and future Common Lisp standards to extend the syntax of numbers, a syntax for potential numbers is defined that is more general than the syntax for numbers. A token is a potential number if it satisfies all of the following requirements:
If a potential number has number syntax, a number of the appropriate type is constructed and returned, if the number is representable in an implementation. A number will not be representable in an implementation if it is outside the boundaries set by the implementationdependent constants for numbers. For example, specifying too large or too small an exponent for a float may make the number impossible to represent in the implementation. A ratio with denominator zero (such as 35/000) is not represented in any implementation. When a token with the syntax of a number cannot be converted to an internal number, an error of type readererror is signaled. An error must not be signaled for specifying too many significant digits for a float; a truncated or rounded value should be produced. If there is an ambiguity as to whether a letter should be treated as a digit or as a number marker, the letter is treated as a digit. 