Имя Parenscript конфликтует с uncommonweb (UCW)
Много конфликтов имен возникает, когда я использую-package:parenscript в UCW . Parenscript не работает, если я сохраняю старые (также, parenscript неправильно ведет себя с прямым вызовом parenscript:ps), и если я импортирую новые, UCW кажется сломанным. Есть ли в общем лиспе способ использовать пакеты с конфликтующими именами рядом?
1 ответ
также, parenscript плохо себя ведет с прямой parenscript:ps call
Я думаю, это потому, что если вы не используете пакет, такие символы, как parenscript:@
импортироваться не будет, а так:
* (ps:ps (@ a b))
"at(a, b);"
Но если вы делаете:
* (ps:ps (ps:@ a b))
"a.b;"
Есть ли в общем лиспе способ использовать пакеты с конфликтующими именами рядом?
Если вам нужны оба foo:a
а также bar:a
тогда вы не можете просто написать a
и пусть переводчик выяснит, что вы имеете в виду. Таким образом, вы должны квалифицировать по крайней мере один из них. Вам нужно использовать пакет parenscript и импортировать неконфликтующие символы из UCW? Вам нужно shadow-import
другие? Без подробностей сложно сказать, что здесь лучше всего делать. Если вам это нужно, см. Программирование в целом: пакеты и символы (Practical Common Lisp, P. Seibel).