在Common Lisp中管理读者宏

时间:2012-01-21 03:02:32

标签: lisp common-lisp reader-macro

我想以一种只影响某个包/文件的方式定义阅读器宏。

到目前为止,我能够使用

加载这些文件
(let ((*readtable* (copy-readtable)))
  (load "file.lisp"))

有更好的方法吗?

1 个答案:

答案 0 :(得分:6)

named-readtables非常适合操纵阅读表。

编辑:

您可以查看Clesh,尤其是this commit,了解我如何使用named-readtables来定义新的可读表。现在,不是使用(clesh:enable)来使用阅读器宏,而是使用(named-readtables:in-readtable clesh:syntax)