The Urn Logo

control/comparison

Provides macros for various comparison operators.

(/= a b &rest)

Macro defined at lib/control/comparison.lisp:54:2

Check whether A is not equal to B, B is not equal to the first element in REST, etc…

This will lazily evaluate each value: if A is equal to B, then no subsequent arguments will be evaluated.

Example:

> (let [(a 1)
.       (b 2)]
.   (/= a b 1))
out = true
> (with (a 1)
.   (/= a 1))
out = false

(< a b &rest)

Macro defined at lib/control/comparison.lisp:72:2

Check whether A is smaller than B, B is smaller than the first element in REST, and so on for all subsequent arguments.

This will lazily evaluate each value: if A is greater or equal to B, then no subsequent arguments will be evaluated.

Example:

> (with (a 3)
.   (< 1 a 5))
out = true

(<= a b &rest)

Macro defined at lib/control/comparison.lisp:100:2

Check whether A is smaller or equal to B, B is smaller or equal to the first element in REST, and so on for all subsequent arguments.

This will lazily evaluate each value: if A is larger than B, then no subsequent arguments will be evaluated.

Example:

> (with (a 3)
.   (<= 1 a 5))
out = true

(= a b &rest)

Macro defined at lib/control/comparison.lisp:37:2

Check whether A, B and all items in REST are equal.

This will lazily evaluate each value: if A is not equal to B, then no subsequent arguments will be evaluated.

Example:

> (let [(a 1)
.       (b 2)]
.   (= 1 a b))
out = false
> (with (a 1)
.   (= a 1))
out = true

(> a b &rest)

Macro defined at lib/control/comparison.lisp:86:2

Check whether A is larger than B, B is larger than the first element in REST, and so on for all subsequent arguments.

This will lazily evaluate each value: if A is smaller or equal to B, then no subsequent arguments will be evaluated.

Example:

> (with (a 3)
.   (> 5 a 1))
out = true

(>= a b &rest)

Macro defined at lib/control/comparison.lisp:114:2

Check whether A is larger or equal to B, B is larger or equal to the first element in REST, and so on for all subsequent arguments.

This will lazily evaluate each value: if A is smaller than B, then no subsequent arguments will be evaluated.

Example:

> (with (a 3)
.   (>= 5 a 1))
out = true