Mat*_*iak 3 lisp wildcard common-lisp
Common Lisp中是否有一个通配符,它是任何原子的eql?
也就是说,是否有任何通配符
(eql wildcard any-atom)
Run Code Online (Sandbox Code Playgroud)
返回true?
没有.
EQL的目的是比较某些基本类型对象(数字,字符)的值的相等性,并比较所有其他对象(符号,数组,conses,结构,流,CLOS对象......)的标识.
因此,拥有与其他所有东西"相同"的东西是没有意义的.EQL的目的是使身份可测试.这件事和另一件事情是一样的吗?但是,与所有其他事物相同的东西是什么目的,它们已经彼此不相同?
在现代Lisp中,原子的概念也没什么意义.根据定义,当它不是一个缺点时,一切都是原子.