Common Lisp中是否存在对任何原子都是eql的通配符?
也就是说,是否存在任何通配符
(eql wildcard any-atom)
返回true?
答案 0 :(得分:9)
如果函数atom的参数是原子,则返回true。
答案 1 :(得分:8)
没有
EQL的目的是比较某些基本类型对象(数字,字符)的值的相等性,并比较所有其他对象(符号,数组,conses,结构,流,CLOS对象,......)的标识。 )。
因此,拥有与其他所有东西“相同”的东西毫无意义。 EQL的目的是使身份可测试。这件事和另一件事情是一样的吗?但是,与所有其他事物相同的东西是什么目的呢?它们已经彼此不相同了?
原子的概念在现代Lisp中也没什么意义。根据定义,当它不是一个缺点时,一切都是原子。