用于eql的Common Lisp Wildcard

Mat*_*iak 3 lisp wildcard common-lisp

Common Lisp中是否有一个通配符,它​​是任何原子的eql?

也就是说,是否有任何通配符

(eql wildcard any-atom)
Run Code Online (Sandbox Code Playgroud)

返回true?

sig*_*ice 9

如果函数atom的参数是一个原子,则返回true.


Rai*_*wig 8

没有.

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

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

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