fbpx
维基百科

CMU Common Lisp

CMU Common LispCMUCL),是自由Common Lisp实现,最初在卡内基·梅隆大学开发。

CMUCL
原作者卡内基·梅隆大学
首次发布1980年,​42年前​(1980
当前版本
  • 21e (2023年5月15日)[1]
源代码库
  • gitlab.common-lisp.net/cmucl/cmucl
操作系统遵守POSIX的OS
系統平台跨平台
语言Common Lisp
类型编译器运行时系统
许可协议公有领域
网站www.cons.org/cmucl/

CMUCL运行在大多数类Unix平台上,包括LinuxBSD;也有试验性的Windows移植。Steel Bank Common Lisp派生自CMUCL。Scieneer Common Lisp是CMUCL的商业衍生品。

历史 编辑

它的最早实现先于Common Lisp,派生自出现在大约1980年的Spice Lisp英语Spice Lisp。在1985年,Rob MacLachlan开始重写编译器,它后来成为“Python”编译器,并且CMUCL被移植到Unix工作站,比如IBM PC RT英语IBM PC RTMIPSSPARC。早期的CMUCL发行不支持Intelx86架构,由于它缺乏寄存器。CMUCL严格的分离有类型标记的类型和中间数据类型,而垃圾回收器依赖于,已知一半的CPU寄存器只持有有标记的类型,而另一半只持有无标记的。它没有为“Python”后端留下足够的寄存器。

在CMU取消了这个项目(将某些CMUCL编译器基础用于了Dylan实现)之后,维护由一组志愿者接管。在1996年他们在自己的下部构造上制作了正规发行。

大约同时完成了到Intel的x86架构的移植,最初运行在FreeBSD上,后来运行在Linux上。缺乏寄存器的问题,通过采用新的保守垃圾回收器解决了。这个新垃圾回收器,接受在寄存器中的任何类型的任何值,并把可以是指针的任何东西当作指针处理,用途是不回收或移动它的目标。

编译器和其他代码执行单元 编辑

  • CMUCL的特征是主要用于REPL的一个解释器,但是它可以用来快速装载不需要编译的Lisp文件。
  • 解释(从编译器发出的)紧致字节码的一个机器。这在现在很少使用了,但是在早期CMUCL发行中很流行,因为在互联网下载带宽很低的时代,这可以大幅缩减映像的大小。
  • 叫做“Python”(不要混淆于Python编程语言)的本机代码编译器。如果Common Lisp源代码具有适当的声明,并且在组建时考虑到了速度,“Python”编译器生成的代码,相比于用C++编译的代码没有更多的开销。一些低效的东西比如函数调用接口,和缺乏用户定义数据类型的无指针数组,是Common Lisp标准主导造成的,仍然需要解决(比如通过内联更多和使用宏来建造,看似用户定义结构的构造,而实际上访问在预先分配的特殊数组中的字段)。“Python”编译器的特征是有强力的类型推论,通过要么自动推论出类型,要么对错过的优化机会的提示,帮助编程者书写无开销的代码。

特征 编辑

  • 分代垃圾回收和在x86移植上的多处理能力。
  • 外界函数接口英语foreign function interface,允许同C代码和系统库进行交互,包括在多数平台上的共享库,和对Unix系统调用的直接访问。
  • 支持进程间通信远程过程调用
  • CLOS的一个实现,Common Lisp对象系统包括了多方法和元对象协议。
  • 图形的源代码级别调试器,使用了Motif接口,和一个代码剖析器
  • X11窗口系统的接口(CLX英语CLX (Common Lisp)),和一个复杂的图形组件库(Garnet)。
  • 编程者可扩展的输入和输出串流。
  • Hemlock英语Hemlock (text editor),用Common Lisp实现的一个类Emacs的编辑器。

引用 编辑

参閱 编辑

外部链接 编辑

common, lisp, cmucl, 是自由的common, lisp实现, 最初在卡内基, 梅隆大学开发, cmucl原作者卡内基, 梅隆大学首次发布1980年, 42年前, 1980, 当前版本21e, 2023年5月15日, 源代码库gitlab, common, lisp, cmucl, cmucl操作系统遵守posix的os系統平台跨平台语言common, lisp类型编译器和运行时系统许可协议公有领域网站www, cons, cmucl, cmucl运行在大多数类unix平台上, 包括linux和b. CMU Common Lisp CMUCL 是自由的Common Lisp实现 最初在卡内基 梅隆大学开发 CMUCL原作者卡内基 梅隆大学首次发布1980年 42年前 1980 当前版本21e 2023年5月15日 1 源代码库gitlab wbr common lisp wbr net wbr cmucl wbr cmucl操作系统遵守POSIX的OS系統平台跨平台语言Common Lisp类型编译器和运行时系统许可协议公有领域网站www wbr cons wbr org wbr cmucl wbr CMUCL运行在大多数类Unix平台上 包括Linux和BSD 也有试验性的Windows移植 Steel Bank Common Lisp派生自CMUCL Scieneer Common Lisp是CMUCL的商业衍生品 目录 1 历史 2 编译器和其他代码执行单元 3 特征 4 引用 5 参閱 6 外部链接历史 编辑它的最早实现先于Common Lisp 派生自出现在大约1980年的Spice Lisp 英语 Spice Lisp 在1985年 Rob MacLachlan开始重写编译器 它后来成为 Python 编译器 并且CMUCL被移植到Unix工作站 比如IBM PC RT 英语 IBM PC RT MIPS和SPARC 早期的CMUCL发行不支持Intel的x86架构 由于它缺乏寄存器 CMUCL严格的分离有类型标记的类型和中间数据类型 而垃圾回收器依赖于 已知一半的CPU寄存器只持有有标记的类型 而另一半只持有无标记的 它没有为 Python 后端留下足够的寄存器 在CMU取消了这个项目 将某些CMUCL编译器基础用于了Dylan实现 之后 维护由一组志愿者接管 在1996年他们在自己的下部构造上制作了正规发行 大约同时完成了到Intel的x86架构的移植 最初运行在FreeBSD上 后来运行在Linux上 缺乏寄存器的问题 通过采用新的保守垃圾回收器解决了 这个新垃圾回收器 接受在寄存器中的任何类型的任何值 并把可以是指针的任何东西当作指针处理 用途是不回收或移动它的目标 编译器和其他代码执行单元 编辑CMUCL的特征是主要用于REPL的一个解释器 但是它可以用来快速装载不需要编译的Lisp文件 解释 从编译器发出的 紧致字节码的一个机器 这在现在很少使用了 但是在早期CMUCL发行中很流行 因为在互联网下载带宽很低的时代 这可以大幅缩减映像的大小 叫做 Python 不要混淆于Python编程语言 的本机代码编译器 如果Common Lisp源代码具有适当的声明 并且在组建时考虑到了速度 Python 编译器生成的代码 相比于用C 编译的代码没有更多的开销 一些低效的东西比如函数调用接口 和缺乏用户定义数据类型的无指针数组 是Common Lisp标准主导造成的 仍然需要解决 比如通过内联更多和使用宏来建造 看似用户定义结构的构造 而实际上访问在预先分配的特殊数组中的字段 Python 编译器的特征是有强力的类型推论 通过要么自动推论出类型 要么对错过的优化机会的提示 帮助编程者书写无开销的代码 特征 编辑分代垃圾回收和在x86移植上的多处理能力 外界函数接口 英语 foreign function interface 允许同C代码和系统库进行交互 包括在多数平台上的共享库 和对Unix系统调用的直接访问 支持进程间通信和远程过程调用 CLOS的一个实现 Common Lisp对象系统包括了多方法和元对象协议 图形的源代码级别调试器 使用了Motif接口 和一个代码剖析器 到X11窗口系统的接口 CLX 英语 CLX Common Lisp 和一个复杂的图形组件库 Garnet 编程者可扩展的输入和输出串流 Hemlock 英语 Hemlock text editor 用Common Lisp实现的一个类Emacs的编辑器 引用 编辑 https gitlab common lisp net cmucl cmucl releases 21e https gitlab common lisp net cmucl cmucl wikis home参閱 编辑Steel Bank Common Lisp外部链接 编辑CMUCL Home Page 页面存档备份 存于互联网档案馆 取自 https zh wikipedia org w index php title CMU Common Lisp amp oldid 71575961, 维基百科,wiki,书籍,书籍,图书馆,

文章

,阅读,下载,免费,免费下载,mp3,视频,mp4,3gp, jpg,jpeg,gif,png,图片,音乐,歌曲,电影,书籍,游戏,游戏。