I undertand that, as lisp implementations have the freedom to make copies of numbers and characters at any time, you cannot assume, for instance, that (eq 3 3) will be true, as yo cannot assume the first object is the same object as the second, and not just a copy. Please correct me if I understood wrong.
On the other hand, I have made this test:
Code: Select all
(setq a 5)
(setq b 5)
(eq a b)
T
Finally, in case my last assumption is right, I also assume that implementations should have the freedom to do this (creating pointers to the same object), or not (creating two different objects with the same value). In that case, you couldn't make any assumption about the (eq a b) result.
Am I too lost?
Thanks,
Pep.