Previous: , Up: Truth   [Contents][Index]


16.4.5.4 And—Or

The logical operators and and or resemble conditionals. Both take any number of argument, but only evalue as many as they need to in order to decide what to return. If all its arguments are ‘true’ (not ‘NIL’), then and returns the value of the last one.

But if one of the arguments turns out to be fale, none of the arguments after that get evaluated. Similarly for or which stops as soon as it finds an argument that is true.

These two operators are macros. Like special operators, macros can cirumvent the usual evaluation rule.