Parenscript 名称与 uncommonweb (UCW) 冲突
Parenscript name conflicts with uncommonweb (UCW)
我在 UCW 中使用-package :parenscript 时出现了很多名称冲突。如果我保留旧的,Parenscript 不起作用(另外,直接 parenscript:ps 调用的 parenscript 行为不端),如果我导入新的,UCW 似乎被破坏了。 common lisp 中有什么方法可以并排使用名称冲突的包吗?
also, parenscript misbehaves with direct parenscript:ps call
我猜这是因为如果你不使用这个包,像parenscript:@
这样的符号将不会被导入,所以:
* (ps:ps (@ a b))
"at(a, b);"
但如果你这样做:
* (ps:ps (ps:@ a b))
"a.b;"
Is there any way in common lisp to use packages with conflicting names side by side ?
如果你同时需要foo:a
和bar:a
,那么你不能只写a
让解释器明白你的意思。所以你必须至少有一个资格。
您是否需要使用 parenscript 包并从 UCW 导入非冲突符号?您需要 shadow-import
其他的吗?没有更多细节,很难说这里最好做什么。
如果您需要它,请参阅 Programming in the Large: Packages and Symbols(Practical Common Lisp,P. Seibel)。
我在 UCW 中使用-package :parenscript 时出现了很多名称冲突。如果我保留旧的,Parenscript 不起作用(另外,直接 parenscript:ps 调用的 parenscript 行为不端),如果我导入新的,UCW 似乎被破坏了。 common lisp 中有什么方法可以并排使用名称冲突的包吗?
also, parenscript misbehaves with direct parenscript:ps call
我猜这是因为如果你不使用这个包,像parenscript:@
这样的符号将不会被导入,所以:
* (ps:ps (@ a b))
"at(a, b);"
但如果你这样做:
* (ps:ps (ps:@ a b))
"a.b;"
Is there any way in common lisp to use packages with conflicting names side by side ?
如果你同时需要foo:a
和bar:a
,那么你不能只写a
让解释器明白你的意思。所以你必须至少有一个资格。
您是否需要使用 parenscript 包并从 UCW 导入非冲突符号?您需要 shadow-import
其他的吗?没有更多细节,很难说这里最好做什么。
如果您需要它,请参阅 Programming in the Large: Packages and Symbols(Practical Common Lisp,P. Seibel)。