LISP的版本/方言/实施是什么意思?
(我知道这本书是用Common LISP编写的(如导言中所述),并且早于1994年CL标准)。
将问题分成两部分以使其更清晰。
答案 0 :(得分:7)
那些不是功能。那些是变量绑定。并非所有在表单中首先出现的东西都是函数的名称;封闭形式可能会对内部形式产生特殊含义。例如,情况就是如此。 let
:
(let ((action 42)
(result 51))
(+ action result))
action
和result
都没有在该示例中命名函数。
答案 1 :(得分:3)
如果我们看一下Peter Norvig auxfns.lisp上发现的web page for the book,就有这个位
(eval-when (eval compile load)
;; Make it ok to place a function definition on a built-in LISP symbol.
#+(or Allegro EXCL)
(dolist (pkg '(excl common-lisp common-lisp-user))
(setf (excl:package-definition-lock (find-package pkg)) nil))
;; Don't warn if a function is defined in multiple files --
;; this happens often since we refine several programs.
#+Lispworks
(setq *PACKAGES-FOR-WARN-ON-REDEFINITION* nil)
#+LCL
(compiler-options :warnings nil)
)
表明它应该在Franz Allegro,Lucid Lisp或Lispworks中运作
答案 2 :(得分:3)
Lisp的方言被称为'Common Lisp'。这本书是用相对便携的Common Lisp编写的。