我使用sbcl与泥。 我定义了一个名为slot
功能,SBCL编译器把我的错误如下:抑制编译器错误
Lock on package SB-ALIEN violated when defining SLOT as a
function while in package COMMON-LISP-USER.
[Condition of type SYMBOL-PACKAGE-LOCKED-ERROR]
See also:
SBCL Manual, Package Locks [:node]
Restarts:
0: [CONTINUE] Ignore the package lock.
1: [IGNORE-ALL] Ignore all package locks in the context of this operation.
2: [UNLOCK-PACKAGE] Unlock the package.
3: [ABORT] Abort compilation.
4: [*ABORT] Return to SLIME's top level.
5: [ABORT] Abort thread (#<THREAD "worker" RUNNING {C3E4771}>)
它看起来像函数名slot
保留出于某种原因。
我可以继续使用选项0或2,但是,我不希望在每次修改后都看到此错误。
编译后可能会抑制这个错误吗?
我正在考虑不加载预留功能名称像插槽,但我不知道。
你的软件包使用'SB-ALIEN'软件包,并输出'SLOT'。您的代码正在尝试重新定义该函数,这可能会破坏该程序包。 – Barmar
如果你不使用'SB-ALIEN:SLOT',你可以将它放在你自己的包中。 – Barmar
如何“不使用”SB-ALIEN包? –