Open In App

Logical Operators in LISP

Improve
Improve
Improve
Like Article
Like
Save Article
Save
Share
Report issue
Report

Common LISP supports 3 types of logical operators on Boolean Values. The arguments of these operators are evaluated conditionally, therefore they are also part of the LISP control Structure. 

The common LISP operators are listed below in the table:

Operator Syntax Description
and and number1 number2 This operator takes two numbers which are evaluated left to right. If all numbers evaluate to non-nil, then the value of the last number is returned. Otherwise, nil is returned.
or or number1 number2 This operator takes two numbers which are evaluated left to right. If any one number evaluates to non-nil, then the value of the last number is returned. Otherwise, nil is returned.
not not number This operator takes one number and returns T(true) if the argument evaluates to NIL

Example: LISP Program that demonstrates Logical operators on numbers

Lisp




;set value 1 to 50
; set value 2 to 50
(setq val1 50)
(setq val2 50)
 
;and operator
(print (and val1 val2))
 
;or operator
(print (or val1 val2))
 
;not operator with value1
(print (not val1))
 
;not operator with value2
(print (not val2))


Output: 

50  
50  
NIL  
NIL 

 

Example 2: LISP Program to demonstrate Logical operators on Boolean values

Lisp




;set value 1 to T
; set value 2 to NIL
(setq val1 T)
(setq val2 NIL)
 
;and operator
(print (and val1 val2))
 
;or operator
(print (or val1 val2))
 
;not operator with value1
(print (not val1))
 
;not operator with value2
(print (not val2))


Output:

NIL  
T  
NIL  
T 


Last Updated : 22 Oct, 2021
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads