User Tools


This shows you the differences between two versions of the page.

Link to this comparison view

cl:functions:not [2019/06/15 02:00]
cl:functions:not [2019/06/16 07:00] (current)
Line 1: Line 1:
 +====== Function NOT ======
 +  * **not** //x// → //boolean//
 +====Arguments and Values====
 +  * //x// - a //​[[CL:​Glossary:​generalized boolean]]// (i.e. any //​[[CL:​Glossary:​object]]//​).
 +  * //boolean// - a //​[[CL:​Glossary:​boolean]]//​.
 +Returns **[[CL:​Constant Variables:​t]]** if //x// is //​[[CL:​Glossary:​false]]//;​ otherwise, returns **[[CL:​Constant Variables:​nil]]**.
 +<​blockquote> ​
 +(not [[CL:​Constant Variables:​nil]]) <​r>​[[CL:​Constant Variables:​t|T]]</​r>​
 +(not '()) <​r>​[[CL:​Constant Variables:​t|T]]</​r>​
 +(not (integerp 'sss)) <​r>​[[CL:​Constant Variables:​t|T]]</​r>​
 +(not (integerp 1)) <​r>​[[CL:​Constant Variables:​nil|NIL]]</​r>​
 +(not 3.7) <​r>​[[CL:​Constant Variables:​nil|NIL]]</​r>​
 +(not '​apple) <​r>​[[CL:​Constant Variables:​nil|NIL]]</​r>​
 +====Side Effects====
 +====Affected By====
 +====Exceptional Situations====
 +====See Also====
 +  * **[[CL:​Functions:​null|Function NULL]]**
 +**not** is intended to be used to invert the `truth value' of a //​[[CL:​Glossary:​boolean]]//​ (or //​[[CL:​Glossary:​generalized boolean]]//​) whereas **[[CL:​Functions:​null]]** is intended to be used to test for the //​[[CL:​Glossary:​empty list]]//. Operationally,​ **not** and **[[CL:​Functions:​null]]** compute the same result; which to use is a matter of style.