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.