2

我最近通过 Racket 进入了 Scheme,现在我想使用 Chicken Scheme。Emacs 似乎几乎是除了 Racket 之外我在 Scheme 中开发的唯一选择,所以我启动了我不太擅长的 Emacs。

我之前使用教程为 SBCL 设置了 emacs,但我对 Emacs 真的一点经验都没有。(注:我在windows上)

我做了什么:

  • 我像上面描述的教程一样设置了一个类似 unix 的文件结构,我在 Z:\home\myname\bin\chicken-iup 中安装了 Chicken-Scheme

  • 我尝试按照此页面上的说明进行操作,但实际上并没有太多。它说我需要 quack 但没有解释太多,我只是从该站点下载了 quack.el 并将其放在我的 site-lisp 文件夹中

  • 我将以下行添加到我的 .emacs 文件夹中

    (setq scheme-program-name "csi -:c") (需要'quack)

  • 在之前链接的页面上,有这个快照,这是我想要的

在此处输入图像描述

您可以在顶部看到一个文件打开以写入文本,而 REPL 在底部,但是,当我打开 emacs 并执行 Mx run-scheme 时,我无法得到它

我有两个选择,Mx run-scheme 然后“鸡”给了我鸡介绍屏幕,但立即说“过程完成”

在此处输入图像描述

另一方面,Mx run-scheme csi 只是给了我一个看似没有 REPL 的空白缓冲区

在此处输入图像描述

直接在 Windows 中运行 csi.exe 会打开一个带有介绍文本和 repl 的控制台窗口,但我想像第一个快照一样在 emacs 中使用它,这不起作用

我也尝试过 chicken-slime SWANK 后端,但无法正常工作,搜索谷歌并没有太大帮助

那么,有人知道我需要做什么才能在emacs中的Chicken Scheme中进行开发吗

(或者,如果在 DrRacket 之外还有其他用于开发的 Scheme 环境,我很想知道,除了 DrRacket 或 Emacs 之外,我没有找到太多信息)

提前致谢

4

1 回答 1

5

奇怪的M-x run-scheme是提示您使用 Scheme 解释器。

通常,(setq scheme-program-name "csi -:c")应该定义使用哪个 Scheme 程序run-scheme。但也许 Quack overrides run-scheme,这意味着它不会使用scheme-program-name(它在“内置支持”下,实际上标准的 Scheme 模式会使用它)。我不是 Quack 的粉丝,但你可以尝试输入“csi -:c”而不是简单的“csi”。就像说明书上说的,

-:c​​ 用于强制交互模式,这在某些平台(尤其是 Windows)上是必需的。

因为 Emacs 不能像在 *nix 上那样伪造 Windows 上的控制台,所以 CHICKEN 认为它是从标准输入上的管道读取的,所以它不会向您显示提示。

就像我说的,我不是 Quack 的粉丝。AFAIK 除了“fancy lambda”和一个大的帮助菜单(但我从不在 Emacs 中使用该菜单)之外,它没有添加任何内容。我宁愿先从(require 'quack)您的.emacs(保留(setq scheme-program-name))中删除,然后重新启动 Emacs,然后键入M-x run-scheme以查看会发生什么。

于 2015-08-25T06:59:45.280 回答