标准common-lisp定义了许多读者宏,例如(
和)
用于分组,'
用于quote
,"
用于字符串引用,{{ 1}}用于符号引用,|
用于调度宏等。现在我想要禁用它们并使用我自己的那些,我必须逐个调用#
来禁用它们然后定义我自己的。
我发现有一种方法可以通过调用set-macro-character
将所有读取器宏恢复为标准宏,但有没有办法将它们设置为空(即所有字符都被视为普通字母和数字) ?
答案 0 :(得分:3)
我认为没有办法。期望您只是对Lisp读取器进行增量修改,而不是试图批量替换它。它并不是真的被设计成以这种方式使用,因为你无法将所有内容定义为宏 - 大多数组成字符都与无法定义为读取器宏的内置行为相关联。