Both 0 and 1 are not integer on Lisp?
I found a wonder point on Lisp. Comparing a valuable type returned unexpected result. This unexpected thing happened when comparing the type of 1 and 2. I expected the type of them is equal. But this is not correct.
? (equal (type-of 1) (type-of 2)) NIL ?
In detail, (type-of 0) and (type-of 1) return BIT. The result of type-of with other numbers bigger than 2 returns INTEGER.
? (type-of 0) BIT ? (type-of 1) BIT ? (type-of 2) (INTEGER 0 1152921504606846975) ? (type-of 3) (INTEGER 0 1152921504606846975) ? (type-of 65537) (INTEGER 0 1152921504606846975) ? (type-of 1152921504606846975) (INTEGER 0 1152921504606846975) ? (type-of 2000000000000000000) (INTEGER 1152921504606846976) ?
Should be careful if comparing the type of valuables.