1

当我在 UCW 中使用-package :parenscript 时会出现许多名称冲突。如果我保留旧的,Parenscript 不起作用(另外,parenscript 直接调用 parenscript:ps 时行为不端)并且如果我导入新的,UCW 似乎被破坏了。common lisp 有什么方法可以并排使用名称冲突的包?

4

1 回答 1

2

此外,parenscript 直接使用 parenscript:ps 调用时行为不端

我猜这是因为如果您不使用该包,parenscript:@则不会导入诸如此类的符号,因此:

* (ps:ps (@ a b))

"at(a, b);"

但如果你这样做:

* (ps:ps (ps:@ a b))

"a.b;"

common lisp 有什么方法可以并排使用名称冲突的包?

如果您同时需要foo:aand bar:a,那么您不能只写a并让解释器找出您的意思。所以你必须至少有一个资格。您是否需要使用 parenscript 包并从 UCW 导入不冲突的符号?你需要shadow-import其他人吗?没有更多细节,很难说在这里做什么是最好的。如果您需要它,请参阅大型编程:包和符号Practical Common Lisp,P. Seibel)。

于 2017-07-02T07:39:15.657 回答