concrete-optics.algebra.equality
Equality notions used in tests.
compare-functions
(compare-functions base-comparison initia-samples & remaining-samples)
Checks semantic equality of functions. The usual equality for functions is hash based. It cannot check the equality of, say, #(+ % %)
and #(* 2 %)
. The general problem is of course undecidable so we only test for given sample values. Meant to be used in tests.
typed-eq
(typed-eq)
(typed-eq _single-value)
(typed-eq value & rest)
In normal equality you basically check ‘content’ equality. So for instance [1 2 3]
is equal to '(1 2 3)
. Typed eqaulity checks content and type, so it is stricter. This is meant to be used in tests.