当我在UCW中使用-pack:parenscript时会出现许多名称冲突。如果我保留旧的Parenscript并不起作用(也就是,parenscript行为不正确,直接的parenscript:ps电话),如果我导入新的,UCW似乎被打破了。有没有什么方法可以让普通的lisp并排使用名称冲突的包?
答案 0 :(得分:2)
也是,parenscript行为不端直接的parenscript:ps call
我想这是因为如果您不使用该套餐,则parenscript:@
等符号将无法导入,因此:
* (ps:ps (@ a b))
"at(a, b);"
但如果你这样做:
* (ps:ps (ps:@ a b))
"a.b;"
在常见的lisp中是否有任何方法可以并排使用名称冲突的包?
如果您同时需要foo:a
和bar:a
,那么您不能只写a
并让翻译找出您的意思。所以你必须至少有一个资格。
您是否需要使用parenscript包并从UCW导入非冲突符号?你需要shadow-import
其他人吗?没有更多细节,很难说这里最好的事情是什么。
如果您需要,请参阅Programming in the Large: Packages and Symbols( Practical Common Lisp ,P。Seibel)。