代码之家  ›  专栏  ›  技术社区  ›  hawkeye

Lisp的哪种方言是“人工智能编程范例”?

  •  5
  • hawkeye  · 技术社区  · 14 年前

    这意味着要在什么版本/方言/Lisp实现上运行?

    (我确实理解,这本书是用通用LISP(如引言中所述)编写的,它早于1994年的CL标准)。


    把问题分成两部分,使问题更清楚。

    3 回复  |  直到 9 年前
        1
  •  3
  •   The Archetypal Paul    14 年前

    如果我们看看 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)
      )
    

    这意味着它应该在弗兰兹·阿莱格罗、卢西德·里斯普或里斯普沃克斯工作。

        2
  •  7
  •   Xach    14 年前

    这些不是功能。这些是变量绑定。并非在表单中作为第一件事出现的所有内容都是函数的名称;封闭表单可能为内部表单引入特殊的含义。就是这样。 let :

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

    既不 action 也不 result 在该示例中命名一个函数。

        3
  •  3
  •   Rainer Joswig mmmmmm    14 年前

    口齿不清的方言叫“普通口齿不清”。这本书是用相对可移植的通用Lisp编写的。