The fundamental design of Lisp lets you get a lot of mileage out of a few simple commands. Specifically, a couple of counterintuitive tricks involving conditions in Lisp can help you write cleaner code. The first involves two new conditional commands. The second takes advantage of Lisp’s simple conception of true and false.
or are simple mathematical operators, which allow you to manipulate Boolean values in the same way you might manipulate numbers using addition and subtraction.
For example, here’s how we could use
and to see if three numbers are odd:
(and (oddp 5) (oddp 7) (oddp 9))T
Because 5, 7, and 9 are odd, the entire expression evaluates as true. ...