【发布时间】:2010-03-06 23:33:33
【问题描述】:
我正在尝试使用 GNU common lisp 中的 parenscript 将 lisp 文件编译成 javascript 文件。
我发现如果我尝试使用它的前缀(“ps:@”),则使用 PS 符号宏“@”不起作用。但是,如果我在尝试编译 lisp 文件之前使用 REPL 并运行 (use-package :ps),一切都会按预期工作(而且我不必使用前缀)。
问题是PS包中包含有冲突的符号,例如:
*** - (USE-PACKAGE (#<PACKAGE PARENSCRIPT>) #<PACKAGE COMMON-LISP-USER>): 2 name conflicts remain
Which symbol with name "CHAIN" should be accessible in #<PACKAGE COMMON-LISP-USER>?
The following restarts are available:
PARENSCRIPT :R1 #<PACKAGE PARENSCRIPT>
COMMON-LISP-USER :R2 #<PACKAGE COMMON-LISP-USER>
ABORT :R3 Abort main loop
我可以通过选择 :r1 以交互方式解决此问题,但是当我尝试将此步骤放入我的脚本中时,它只是退出(因为它是非交互的,它不会让我选择要使用的重启方式)
我很想说(在我的脚本中)“只使用所有冲突符号的 PS 版本”,但我不知道该怎么做。
如果我可以说(就像在 python 中那样)“来自 PS 导入链,@,(等)”,也可以 - 指定我要手动导入的每个符号。
【问题讨论】:
-
你能分别显示你的包定义吗? “导入语句”?
-
对不起,我不明白。你想让我展示什么?
标签: packages common-lisp