Two expressions
If the expressions
If two strings
If the two cars in conses are
'equal' and the two cdrs in
conses
In all other cases 'equal'
A way to view 'equal' is that if 'expr1' and 'expr2' were printed
(equal 'a 'a) => T (equal 1 1) => T (equal 1 1.0) => NIL ; different number types (equal 1.0 1.0) => T (equal "a" "a") => T (equal '(a b) '(a b)) => T (equal 'a 34) => NIL (setq a '(a b)) ; set value of A to (A B) (setq b a) ; set B to point to A's value (setq c '(a b)) ; set value of C to different (A B) (equal a b) => T (equal a c) => T (equal '(a b) '(A B)) => T (equal '(a b) '(c d)) => NIL (equal "a" "A") => NIL (equal "abc" "abcD") => NIL