Lispex разделяет равенство атомов/идентичности (eq?, eqv?), глубокое структурное равенство (equal?) и числовое равенство (=).
Кратко
LISPEX
(list (= 2 2.0) (eqv? 2 2.0) (equal? (list 1 2) (list 1 2)))Результат
OUTPUT
(#t #f #t)Текущие гарантии
- В этом профиле
eq?иeqv?совпадают на атомах и сравнивают составные значения по идентичности. eqv?иequal?чувствительны к точности: точное2и неточное2.0различны.equal?рекурсивно сравнивает пары, векторы, байтовые векторы и строки с обнаружением циклов.
Границы
=принимает только числа;==и!=— структурные псевдонимы.- Равенство процедур никогда не сравнивает их тела структурно.