有哪些Scheme集成开发环境(IDE)?

35

我计划通过跟随《计算机程序的构造和解释》(SICP)来学习Scheme,并使用该语言进行项目开发。不过我想知道有哪些适合这种用途的IDE呢?我查找了一些,但并没有找到很多资料,只看到一个叫做Edwin的东西。


什么是IDE?你的唯一目标是通过学习SICP来学习吗? - Joel J. Adamson
9个回答

39

其他回答已经给出了所有好的选择,但没有太多说明。以下是一些更详细的内容:

DrRacket

Racket的集成开发环境DrRacket是初学者的绝佳工具,对于更高级的Scheme编程者有很多优点。它具有良好的分析器和调试器支持(比Emacs好得多),默认使用“标准”键盘快捷键,并且非常简洁易用。然而,它有时缺乏其创建者认为令人困惑的功能;例如,仅从源代码中编译某些表达式可能会使REPL处于混乱状态,因此不提供此功能。DrRacket仅适用于Scheme的Racket方言及其衍生版本,因此如果您想使用另一个实现,应该看看:

Emacs

GNU Emacs是高级Scheme编程者的另一个不错选择,他们愿意花费一些时间学习他们的编辑器。它具有强大的定制能力,几乎可以处理任何文件类型的模式,并且在处理Scheme方面表现良好,特别是安装了Quack后(Quack是Scheme的扩展名,以DrRacket的恶搞命名——理解了吗?)。它不会限制您做任何您选择的事情。然而,它的学习曲线就像砖墙一样陡峭——它的文本模型是独特的,键盘快捷键与您之前使用过的任何内容都不同(除非您使用CUA模式,这使它们更正常),并且必须使用Emacs Lisp来配置和扩展它。

底线

一旦您习惯了其中任一个,您都会感到满意。Emacs限制较少,但难以学习;DrRacket在某些方面开箱即用的能力更强,但限制也更多,学习起来更容易。


1
Racket IDE(以及Edwin)与特定的Scheme实现相关联。其中任何一个都适用于SICP。Emacs允许将开发环境的选择与Scheme实现的选择分离。话虽如此,Emacs的集成方式与Racket不同。 - Shannon Severance
那是一个很好的观点,Shannon --- 我会编辑以包含它。 - JasonFruit
事实上,Racket不是Scheme的一个实现,而是Racket的一个实现。它是Scheme的一种方言。 - Geoffrey
这是一个微妙的非区分。如果它是Scheme的一个方言,那它就是Scheme --- 不是RnRS,但无论如何都是Scheme。 - JasonFruit
6
DrRacket 允许您选择不同的语言,包括 R6RS Scheme。 - user102008

6

Racket带有一个很好的集成开发环境。


3
你可以使用GNU Emacs,一个窗口打开你的Scheme脚本,另一个窗口打开Scheme解释器(如guile或MIT Scheme)。 你可以通过以下方式运行:
C-x 2
C-x o
M-x run-scheme

3

我在Ubuntu 11.10上使用Dr. Racket时遇到了崩溃问题,而且我发现emacs不太友好。

因此,我为Enki创建了一个插件

功能非常简单。对于我的SICP练习已经足够了,但是如果您要大量编写Scheme代码,最好花时间学习emacs。


2
我正在回答关于PLT scheme的问题,所以想去看看他们的网站。现在PLT scheme已经更名为Racket,旧的编辑器DrScheme被称为DrRacket所取代。
去年我们在大学使用了DrScheme,非常容易上手。一个窗口用于编写定义,另一个窗口用于输出。在课程结束时,我们创建了一个文本冒险游戏:D(采用面向对象编程)。

1
我正在为Windows开发Scheme IDE。它叫做“Babbage”。它类似于最小的Emacs。Babbage非常简单,并且具有类似于Windows的键盘分配。Babbage是Unicode编辑器。现在Babbage仍处于beta版本。

http://homepage1.nifty.com/~skz/Entry/babbage.html


1

0

0

我发现了一个基于 NetBeans 的 Scheme IDE,叫做 lambdaBeans。它似乎没有在积极开发中,而且我不能为它背书。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接