lisp - 在 Common Lisp 中管理阅读器宏

标签 lisp common-lisp reader-macro

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

到目前为止,我能够加载这些文件

(let ((*readtable* (copy-readtable)))
  (load "file.lisp"))

有更好的方法吗?

最佳答案

named-readtables非常适合操作可读表。

编辑:

可以看看Clesh特别是this commit看看我是如何使用 named-readtables 来定义一个新的可读表的。所以现在,不是使用 (clesh:enable) 来使用阅读器宏,而是使用 (named-readtables:in-readtable clesh:syntax)

关于lisp - 在 Common Lisp 中管理阅读器宏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8950314/

相关文章:

lisp - 在编译期间声明特殊变量时发生了什么

lisp - 使用 ASDF 启动 Hunchentoot

list - 将列表作为函数参数传递并从函数返回列表

common-lisp - 如何强制 Common Lisp 将数字视为符号名称?

stream - 更改 common lisp 中的默认阅读器

正则表达式匹配 "not preceded by, unless followed by"

lisp - 合并和提取列表

lisp - 使用 cond 的简单 defun 编译器错误

lisp - 阅读 Lisp 中的外部嵌套形式?

common-lisp - 选择扩展名 :file component in asdf defsystem