On Wed 20 Jun 2012 12:40, David Kastrup <d...@gnu.org> writes: > Numbers and characters are not equal to any other object, but the > problem is they're not necessarily `eq?' to themselves either. > This is even so when the number comes directly from a variable, > > (let ((n (+ 2 3))) > (eq? n n)) => *unspecified*
Note that this example is taken from R5RS section 6.1. > A variable reference can't really be anything except eq? to itself in > my opinion. Depends on inlining. Numbers are not considered to have identity, so they may be copied in some situations. Therefore that expression is equivalent to (eq? (+ 2 3) (+ 2 3)) which is unspecified. In summary, I think the documentation is correct. Regards, Andy -- http://wingolog.org/