Equality

eq x y ⇒ boolean

Returns t if the objects are identical. Should not be used for numbers or characters since those types are implementation-dependant.

(eq 3 3.0)                  ;⇒ NIL
(eq 3.0 3.0)                ;⇒ T
(eq "Foo" (copy-seq "Foo")) ;⇒ NIL
(eq "FOO" "foo")            ;⇒ NIL

eql x y ⇒ boolean

Returns t if the objects are eq and also considers two objects of the same class representing the same value as equivalent,

(eql 'a 'a) ;⇒ T
(eql 3 3)   ;⇒ T
(eql 3 3.0) ;⇒ NIL [int and float are different classes]

equal x y ⇒ boolean

Considers lists equivalent if they contain the same structure and contents. Strings are equivalent if they contain the same characters. Falls back to eql for other types.

equalp x y ⇒ boolean

Numbers are equivalent if they represent the same value, ignores differences in string case. Sequences with equalp elements are equivalent.

(equalp 1 1.0)           ;⇒ T
(equalp "HeLlo" "hello") ;⇒ T

not

= &rest numbers* ⇒ boolean

Returns t if all numbers are the same in value, otherwise nil.

(= 6 6 6) ;⇒ T

/= &rest numbers* ⇒ boolean

> &rest numbers* ⇒ boolean

>= &rest numbers* ⇒ boolean

< &rest numbers* ⇒ boolean

<= &rest numbers* ⇒ boolean

string= str1 str2 &key start1 end1 start2 end2 ⇒ boolean

Returns t if the given strings are of the same length and contain the same characters, otherwise return nil. Ignore differences in case using string-equal.

(string= "foo" "foo") ;⇒ T
(string= "foo" "Foo") ;⇒ NIL
(string= "abcd" "01234abcd9012" :start2 5 :end2 9) ;⇒ T
(string-equal "foo" "Foo") ;⇒ T

string/= str1 str2 &key start1 end1 start2 end2 ⇒ mismatch-idx

Returns t if the given strings are different, otherwise nil. Ignore differences in case using string-not-equal.

(string-not-equal "AAAA" "aaaA") ;⇒ NIL

string< str1 str2 &key start1 end1 start2 end2 ⇒ mismatch-idx

Returns t if str1 is less than str2, otherwise nil. Ignore differences in case using string-lessp.

(string< "aaaa" "aaab") ;⇒ 3
(string-lessp "012AAAA789" "01aaab6" :start1 3 :end1 7 :start2 2 :end2 6) ;⇒ 6

string> str1 str2 &key start1 end1 start2 end2 ⇒ mismatch-idx

Returns t if str1 is greater than str2, otherwise nil. Ignore differences in case using string-greaterp.

string<= str1 str2 &key start1 end1 start2 end2 ⇒ mismatch-idx

Returns t if str1 is less than or equal to str2, otherwise nil. Ignore differences in case using string-not-greaterp.

(string>= "aaaaa" "aaaa") ;⇒ 4
(string-not-greaterp "Abcde" "abcdE") ;⇒ 5

string>= str1 str2 &key start1 end1 start2 end2 ⇒ mismatch-idx

Returns t if str1 is greater than or equal to str2, otherwise nil. Ignore differences in case using string-not-lessp.

Predicates

zerop number ⇒ boolean

Returns t if number is zero (integer, float, or complex); otherwise nil.

plusp real ⇒ boolean

minusp real ⇒ boolean

evenp integer ⇒ boolean

oddp integer ⇒ boolean

numberp object ⇒ boolean

realp object ⇒ boolean

rationalp object ⇒ boolean

floatp object ⇒ boolean

integerp object ⇒ boolean

complexp object ⇒ boolean

random-state-p object ⇒ boolean

boundp

fboundp

constantp

functionp