Major Section: PROGRAMMING
Eq
is the function for determining whether two objects are
identical (i.e., have the exact same store address in the current
von Neumann implementation of Common Lisp). It is the same as
equal
in the ACL2 logic.
Eq
is a Common Lisp function. In order to ensure conformance
with Common Lisp, the ACL2 guard on eq
requires at least one of
the arguments to eq
to be a symbol. Common Lisp guarantees that
if x
is a symbol, then x
is eq
to y
if and only if x
is equal
to y
. Thus, the ACL2 user should think of eq
as
nothing besides a fast means for checking equal
when one argument
is known to be a symbol. In particular, it is possible that an
eq
test will not even require the cost of a function call but
will be as fast as a single machine instruction.