Common lisp 公共Lisp的最新标准
有谁能告诉我最新的标准化公共Lisp的文档是什么(后面应该有各种实现)?我这样问是因为我能在网上找到很多关于CL的书都是90年代的,所以我想知道它们是否是最新的。我还来自一个计划背景,在这个背景中,标准化是在RnRS系列中完成的。对于CL,我只知道ANSI X3.226:1994标准(X3J13);是这个吗 编辑Common lisp 公共Lisp的最新标准,common-lisp,standards,Common Lisp,Standards,有谁能告诉我最新的标准化公共Lisp的文档是什么(后面应该有各种实现)?我这样问是因为我能在网上找到很多关于CL的书都是90年代的,所以我想知道它们是否是最新的。我还来自一个计划背景,在这个背景中,标准化是在RnRS系列中完成的。对于CL,我只知道ANSI X3.226:1994标准(X3J13);是这个吗 编辑 谢谢您的回答,在结束问题之前,让我稍微扩展一下:CL中的情况是否与Scheme中的情况相同,即实施互不兼容的标准扩展的各种实现,其结果是没有单一的“CL语言”,或者这个社区更统一?是的
谢谢您的回答,在结束问题之前,让我稍微扩展一下:CL中的情况是否与Scheme中的情况相同,即实施互不兼容的标准扩展的各种实现,其结果是没有单一的“CL语言”,或者这个社区更统一?是的。它没有改变 您可以在“Common Lisp Hyperspec”(CLHS)在线下的超文本形式中找到它
编辑:是的,有不同的扩展,实现相互独立。但是,对于最重要的可移植性包装库,它们使用读取时间条件在不同的环境中加载正确的代码。示例:
bordeaux线程
(线程),osicat
(系统调用)。通用Lisp
有四个语言阶段:
CL-USER 11 > (let ((dialects '()))
(dolist (d '(:ansi-cl :cltl2 :cltl1))
(when (member d *features*) (push d dialects)))
dialects)
(:ANSI-CL)
方案
因此,公共Lisp的情况与Scheme有点不同:几乎所有公共Lisp实现都提供了一种大型公共(!)语言。对于Scheme,至少有,和正在使用的变体。但Scheme也有很多扩展,并具有良好的社区语言扩展管理(请参阅)。在R7RS大型标准变体上做了一些工作,这将标准化大型语言:这是Common Lisp的标准。有意见吗?这不是答案吗?因为公共Lisp已经很大了,所以有更多的公共(!)基础。例如,大多数代码使用CLO,而不是自行开发的对象系统。对于一些不兼容的扩展(线程、FFI等),存在可移植性层。有些扩展是以可移植的方式编写的。@RainerJoswig:正如Mars上面所说的,这些收集到答案中的评论可以结束我的问题。