Равенство функций

Функциональные объекты, включая анонимные функции, сравниваются с помощью eq:

(equal (lambda (x) x) (lambda (x) x)) => NIL

Почему не реализовано в общем виде (даже в языках семейства ML)?

Единственный способ проверки эквивалентности функций - экстенсиональный, т.е. сравнение результатов их применения ко всевозможным аргументам.

Экстенсиональное равенство функций неразрешимо в общем случае.

Неразрешимость проблемы останова

Свойство функции называется нетривиальным, если существуют функции как и обладающие им, так и не обладающие.

Теорема Райса. Любое нетривиальное свойство функции не вычислимо из её текста.