Common Lisp的最新标准

Ale*_* M. 8 standards common-lisp

谁能告诉我标准化Common Lisp的最新文档是什么(请注意各种实现后面的文件)?我问,因为我可以在网上找到许多关于CL的书来自90年代,所以我想知道它们是否是最新的.我也来自一个方案背景,在RnRS系列中进行标准化.对于CL,我只知道ANSI X3.226:1994标准(X3J13); 是这个吗?

编辑
感谢您的回答,在结束问题之前让我稍微扩展一下:CL中的情况与Scheme中的情况相同,即实现标准的互不兼容的扩展的各种实现,结果是没有单一的"CL语言",还是这个社区更统一?

Rai*_*wig 7

Common Lisp

Common Lisp有四个语言阶段:

  1. 1984:CLtL,Common Lisp,由Common Lisp,the Language一书定义
  2. 1990 CLtL2,Common Lisp,由Common Lisp,the Language,2nd Edition一书描述.它描述了ANSI CL标准之前的临时状态,并且不完全兼容.本书以HTML格式提供,请参阅Common Lisp,语言,第2版
  3. 1994年,ANSI Common Lisp标准,请参阅CL HyperSpec.从最后的草案中获得了一个有用的免费PDF,参见Common Lisp Standard Draft.
  4. 从那以后:稳定的核心,各种扩展,社区标准的尝试(CDR)

大多数当前实现提供了具有各种扩展的完整ANSI CL标准.没有提供完整标准的实现:mocl(按设计)和GCL.对于许多扩展,有可移植的抽象层或可移植的库(线程,FFI,CLOS流,......).

在Common Lisp中,曾经可以找出实现提供的语言方言,但只有ANSI CL在今天才真正重要:

CL-USER 11 > (let ((dialects '()))
               (dolist (d '(:ansi-cl :cltl2 :cltl1))
                 (when (member d *features*) (push d dialects)))
               dialects)
(:ANSI-CL)
Run Code Online (Sandbox Code Playgroud)

方案

因此,Common Lisp情况与Scheme略有不同:几乎所有Common Lisp实现都提供了一种大型的公共(!)语言.对于Scheme,至少使用R5RS,R6RSR7RS变体.但Scheme还有很多扩展和良好的社区语言扩展管理(参见SRFI).有一些关于R7RS大型标准变体的工作,它将标准化大型语言:https://groups.google.com/forum/#!forum/scheme-reports-wg2