Major Section: PROGRAMMING Below are six commonly used idioms
for testing whether zp are the preferred termination tests for
recursions down the integers and naturals, respectively. idiom
logical guard primary meaning compiled code**See guards-and-
evaluation, especially the subsection titled ``Guards and
evaluation V: efficiency issues''. Primary code is relevant only
if guards are verified. The ``compiled code'' shown is only
suggestive. (equal x 0)(equal x 0) t (equal x 0) (eql x 0)
(equal x 0) t (eql x 0) (zerop x) (equal x 0) x is a number (= x
0) (= x 0) (equal x 0) x is a number (= x 0) (zip x) (equal
(ifix x) 0) x is an integer (= x 0) (zp x) (equal (nfix x) 0) x
is a natural (int= x 0) (zpf x) (equal (nfix x) 0) x is a fixnum
>= 0 (eql (the-fixnum x) 0) The first four idioms all have the
same logical meaning and differ only with respect to their
executability and efficiency. In the absence of compiler
optimizing, (= x 0) is probably the most (equal x 0) is probably
the least efficient, and (eql x 0) i