用于eql的Common Lisp Wildcard

时间:2010-10-19 01:44:25

标签: lisp common-lisp wildcard

Common Lisp中是否存在对任何原子都是eql的通配符?

也就是说,是否存在任何通配符

(eql wildcard any-atom)

返回true?

2 个答案:

答案 0 :(得分:9)

如果函数atom的参数是原子,则返回true。

答案 1 :(得分:8)

没有

EQL的目的是比较某些基本类型对象(数字,字符)的值的相等性,并比较所有其他对象(符号,数组,conses,结构,流,CLOS对象,......)的标识。 )。

因此,拥有与其他所有东西“相同”的东西毫无意义。 EQL的目的是使身份可测试。这件事和另一件事情是一样的吗?但是,与所有其他事物相同的东西是什么目的呢?它们已经彼此不相同了?

原子的概念在现代Lisp中也没什么意义。根据定义,当它不是一个缺点时,一切都是原子。