我使用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包? –