keithlisp/doc/stdlib_comparison.md

1.6 KiB

Comparison

eq

(eq value &rest values)

eq returns t if all values are equal to value, or nil if any are not.

For two values to be equal according to eq, they must have the same type. In all cases except strings, eq compares the immediate value as returned by addr-of. However, eq will return t for strings with identical contents, regardless of their addresses. To check if two strings reference the same location in memory, compare their addr-of.

=

(= value &rest values)

= compares its arguments numerically. If they are all equal, it returns value, otherwise it returns nil. If any argument is not an int or float, = returns nil.

<

(< value &rest values)

< compares its arguments numerically. If the sequence is monotonically increasing, it returns the last argument, otherwise it returns nil. If any argument is not an int or float, < returns nil.

>

(> value &rest values)

> compares its arguments numerically. If the sequence is monotonically decreasing, it returns the last argument, otherwise it returns nil. If any argument is not an int or float, > returns nil.

<=

(<= value &rest values)

<= compares its arguments numerically. If the sequence is monotonically nondecreasing, it returns the last argument, otherwise it returns nil. If any argument is not an int or float, <= returns nil.

>=

(>= value &rest values)

>= compares its arguments numerically. If the sequence is monotonically nonincreasing, it returns the last argument, otherwise it returns nil. If any argument is not an int or float, >= returns nil.