当我在 UCW 中使用-package :parenscript 时会出现许多名称冲突。如果我保留旧的,Parenscript 不起作用(另外,parenscript 直接调用 parenscript:ps 时行为不端)并且如果我导入新的,UCW 似乎被破坏了。common lisp 有什么方法可以并排使用名称冲突的包?
问问题
68 次
1 回答
2
此外,parenscript 直接使用 parenscript:ps 调用时行为不端
我猜这是因为如果您不使用该包,parenscript:@
则不会导入诸如此类的符号,因此:
* (ps:ps (@ a b))
"at(a, b);"
但如果你这样做:
* (ps:ps (ps:@ a b))
"a.b;"
common lisp 有什么方法可以并排使用名称冲突的包?
如果您同时需要foo:a
and bar:a
,那么您不能只写a
并让解释器找出您的意思。所以你必须至少有一个资格。您是否需要使用 parenscript 包并从 UCW 导入不冲突的符号?你需要shadow-import
其他人吗?没有更多细节,很难说在这里做什么是最好的。如果您需要它,请参阅大型编程:包和符号(Practical Common Lisp,P. Seibel)。
于 2017-07-02T07:39:15.657 回答