(equal)

(equal statement1 statement2 [tolerance])


Determine whether two statements are the same.


This function compares statement1 and statement2. If they are equal, LISP returns a T; if not, a nil is returned. Whereas the equal function compares lists, the = (equal to operator) function compares numbers and strings.

Examples

Code Returns
(setq x '(1 2 3 4))  
(setq y x)  
(equal x y) T
(equal y '(1 2 3 4)) T

The tolerance is the amount that the two expressions are allowed to differ, which is very important when comparing real numbers (which tend to suffer from rounding error). In the following example, the two statements can differ by 0.01:

Code Returns
(equal 5.6789 5.67 0.01) T

NOTE The equal function is not the same as the = (equal to operator) and eq functions. The = function returns T when two numbers or strings are equal. The equal function returns T when two expressions are equal. The eq function returns T when two expressions are bound to the same symbol.

Tell me about...

(setq symbol1 statement1 [symbol2 statement2] ...)

LISP Compatibility

Programming Overview of LISP (LISt Processing) Language