Is this correct behavior?
CL-USER(17): (type-of 1234567898723618080928927362387)
(INTEGER 2147483648)
The relevant java code is in Bignum.java: (the value field is a java BigInteger)
@Override
public LispObject typeOf()
{
if (value.signum() > 0)
return list(Symbol.INTEGER,
new Bignum((long)Integer.MAX_VALUE + 1));
return Symbol.BIGNUM;
}
for comparison:
CL-USER(23): (type-of -1234567898723618080928927362387)
BIGNUM
which makes intuitive sense.