首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >小块的LISP -运行代码的最佳LISP环境?

小块的LISP -运行代码的最佳LISP环境?
EN

Stack Overflow用户
提问于 2012-04-28 17:46:59
回答 5查看 3.5K关注 0票数 13

Christian Queinnec写了一本名为LISP的杰作,其中有11个Lisp解释器和两个Lisp编译器。

当你从here网站下载代码时,它会有这样的注释:

代码语言:javascript
复制
The programs of this book are available on the net. 
These programs used to run with some Scheme systems around 1994.

任何想法:

(a)这些系统当时采用的是甚麽系统,而更重要的是;

(b)这些系统今天会在甚麽系统上运作?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2012-05-02 06:44:20

里面有很多程序。我做了一些测试,看看我可以在不单独尝试的情况下回答这个问题。tarball中有131个扩展名为".scm“的文件。然而,似乎有一些方案程序具有其他扩展名,如.bgl。因此,我搜索了前五行中包含“L I S P”的文件。这样就产生了173个文件。我试着在my preferred Scheme implementation上运行所有这些代码。其中31个运行时没有错误。几乎所有这些都在"src“目录中。因此,特定于语言的程序看起来确实是特定于语言的。让我们看一下失败的src/文件之一"chap9z.scm“。它被define-abbreviation卡住了。我不知道这个符号的起源,但在guile中没有定义它。但它的所有用法都可以由guile的syntax-rules执行。

票数 7
EN

Stack Overflow用户

发布于 2012-04-30 23:09:41

1994年存在的一些方案实现仍然存在并得到维护:Scheme 48Chez SchemeGambitBiglooMIT SchemeSCM

来自LiSP的代码可能会在其他现代方案系统(如GuileLarceny )中运行。

就我个人而言,我建议使用Racket。最有可能的是,大部分代码无需更改就可以在#lang racket中运行,并且不需要使用[] (但您的代码可能更易于阅读:)。不能工作的东西可能很容易修复,您还可以使用code提供的R5RS语言实现,它很可能适用于所有代码。

票数 5
EN

Stack Overflow用户

发布于 2014-06-25 08:48:03

(a)这些系统当时运行在什么方案上

来自作者网站的source tarball中的Makefile具有在bigloo、elk、gambit、mit-scheme、scheme2c和scm下运行代码的目标。

Makefile提到SCM 4e1和Bigloo 1.9d是已知的工作版本,尽管我还没有亲自测试过它们。我没有发现任何关于其他方案的具体版本的提及。

(b)今天这些系统将在什么计划系统上运行?

this github repo中的代码已经更新,因此包含的测试套件中的几乎所有测试都通过了bigloo、gambit和mit-scheme的当前(截至2014年6月)版本。

如果您只是希望能够运行代码并按照书中的说明进行操作,那么这些方案中的一个应该对您有效。

[完全披露:我是回购的所有者,我是计划菜鸟。回购中的代码已通过WOMM认证,但您的里程数可能会有所不同。]

另一方面,如果你不满足于使用bigloo / gambit / mit-scheme,那么在这里添加对guile / racket /insert-favorite-scheme的支持应该不会太难。使用其中一个book.*文件作为起点,例如gambit/book.scmmitscheme/book.mit。如果您可以将某个版本的book.scm加载到您喜欢的方案中,那么可以查看test.interpreters make目标,最后是grand.test目标,以验证它是否按预期工作。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10362400

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档