Common Lisp Wildcard для eql - PullRequest
       5

Common Lisp Wildcard для eql

3 голосов
/ 19 октября 2010

Есть ли в Common Lisp подстановочный знак, эквивалентный любому атому?

То есть, есть ли подстановочный знак такой, что

(eql wildcard any-atom)

возвращает true?

Ответы [ 2 ]

9 голосов
/ 19 октября 2010

Функция atom возвращает true, если ее аргумент является атомом.

8 голосов
/ 19 октября 2010

номер

Целью EQL является сравнение на равенство значений для определенных объектов примитивного типа (числа, символы) и сравнение на идентичность для всех других объектов (символов, массивов, конусов, структур, потоков, объектов CLOS, ... ).

Таким образом, нет смысла иметь что-то, «идентичное» всему остальному. Цель EQL - сделать личность тестируемой. Эта вещь идентична другой? Но с какой целью может быть вещь, которая идентична всем остальным вещам, которые уже не идентичны друг другу?

Идея атома также не имеет большого смысла в современном Лиспе. По определению все является атомом, когда он не является ячейкой против.

...