На каком диалекте LISP написаны «Парадигмы программирования искусственного интеллекта»? - PullRequest
5 голосов
/ 04 ноября 2010

Какая версия / диалект / реализация LISP предназначена для этой цели?

(я понимаю, что книга написана на Common LISP (как указано во введении) и что она предшествует CL 1994 г.стандарт).


Разделите вопрос на две части, чтобы прояснить ситуацию.

Ответы [ 3 ]

7 голосов
/ 04 ноября 2010

Это не функции.Это переменные привязки.Не все, что появляется первым в форме, является именем функции;прилагаемая форма может придавать особое значение внутренним формам.Например, let:

(let ((action 42)
      (result 51))
  (+ action result))

Ни action, ни result не называют функции в этом примере.

3 голосов
/ 04 ноября 2010

Диалект Лисп называется «Общий Лисп».Книга написана на относительно портативном Common Lisp.

3 голосов
/ 04 ноября 2010

Если мы посмотрим на auxfns.lisp , найденном на веб-странице Питера Норвига для книги , есть этот бит

(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

...