#<package common-lisp =“”>已被锁定

时间:2015-07-10 13:24:16

标签: lisp common-lisp clisp

我正在学习Lisp编程语言。我写了一个简单的程序:

(defun abs(x)
  (cond ((> x 0) x)
        ((= x 0) 0)
        ((< x 0) (- x))))

(print (abs 5))

当我编译并运行此代码时,我收到以下警告:

WARNING: DEFUN/DEFMACRO(ABS): #<PACKAGE COMMON-LISP> is locked
         Ignore the lock and proceed
WARNING: DEFUN/DEFMACRO: redefining function ABS in /home/lisp/file.lisp, was defined in C

我不明白为什么会发出这个警告,这是什么意思? 任何人都可以解释一下吗?

1 个答案:

答案 0 :(得分:0)

您正在尝试重新定义ANSI Common Lisp函数 abs 系统正在警告你。

请参阅"package locking" 在手册中。

(你现在欠我1 zorkmid)。