我的lisp编译器中未定义“Define”(Steel Bank Common Lisp)

时间:2013-06-29 14:07:52

标签: lisp scheme common-lisp

我正在研究关于SICP(计算机程序的结构和解释)的书,这本书要求我学习lisp,所以我为windows安装了一个名为SBCL(Steel Bank Common Lisp)的lisp编译器。问题是我从书中看到了这个代码:

(define pi 3.14159)
(define radius 10)
(* pi (* radius radius))

将它作为filename.lisp保存在notepad ++上并运行它。

发生错误,说: “函数COMMON-LISP-USER :: DEFINE未定义。” 为什么会这样?我如何使这项工作?

1 个答案:

答案 0 :(得分:11)

SICP是一本关于名为“Scheme”的编程语言的书。它在书的前言中如此说。事实上,这是本书的网站:http://mitpress.mit.edu/sicp/

SBCL是一种名为“Common Lisp”的编程语言的实现。 define不是Common Lisp中的预定义函数(或其他形式)。

解决方案是让您从书中学习Common Lisp,或者获得Scheme的实现。