有谁能告诉我标准化Common Lisp的最新文件是什么(请注意各种实现之后)?我问,因为我可以在网上找到很多关于CL的书籍来自于90年代,所以我想知道它们是否是最新的。我也来自一个方案背景,在RnRS系列中进行标准化。对于CL,我只知道ANSI X3.226:1994标准(X3J13);这是吗?
EDIT
感谢您的回答,在结束问题之前让我稍微扩展一下:CL中的情况与Scheme中的情况相同,即实现标准的互不兼容的扩展的各种实现,结果是没有单个& #34; CL语言",或者这个社区更统一?
答案 0 :(得分:7)
Common Lisp
Common Lisp有四个语言阶段:
大多数当前实现提供了具有各种扩展的完整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)
<强>方案强>
因此,Common Lisp情况与Scheme略有不同:几乎所有Common Lisp实现都提供了一种大型的公共(!)语言。对于Scheme,至少使用R5RS,R6RS和R7RS个变体。但是Scheme还有很多扩展和良好的社区语言扩展管理(参见SRFI)。 R7RS large 标准变体有一些工作可以标准化大型语言:https://groups.google.com/forum/#!forum/scheme-reports-wg2
答案 1 :(得分:3)
是。它没有改变。
您可以在网上以“Common Lisp Hyperspec”(CLHS)的名称以超文本形式找到它。
编辑:是的,实现有不同的扩展,彼此独立。但是,对于最重要的一些,有可移植性包装器库使用读取时间条件来在不同的环境中加载正确的代码。示例:bordeaux-threads
(线程),osicat
(系统调用)。