繁体   English   中英

如何使用Emacs运行方案?

[英]How to run scheme with Emacs?

我按照本教程成功安装了Emacs,STk,Quack。

问题是如何加载我的程序,就像我在Racket中一样?

在Racket中,我可以在上方窗口中编辑我的代码,键入一些代码,保存并运行。 然后下面的窗口将自动加载我刚写的代码。 然后我可以玩它。

我试过Mx run-scheme。 它只会让我进入类型mit方案。 然后它说不存在这样的文件或目录。 然后我尝试了F5(该网站的作者写了一个.emacs文件让我按F5)。 然后STk打开了。 我可以在STk中加载我的方案文件。 但它会让我回到麻省理工学院计划与edwin。

我想在Racket(Write / REPL)中使用相同的东西。 但关键运动更具灵活性。 在Racket中你没有Cf Cn Ca ......等等。

谁能教我怎么做?

只是在我的Macbook上设置它。 既然你没有指定你所使用的系统,我希望你能使用一些Unix风格......我真的不熟悉STk,但这可能有助于你解决你遇到的任何问题,这听起来真的很棒类似于我遇到的问题。

如果您安装了一个Scheme实现(我正在使用MIT Scheme,编辑添加它也适用于Racket,使用mzscheme)它可能带有一个名为“scheme”的符号链接 - 我认为这就是Emacs所寻求的。

如果没有(MIT Scheme似乎不在OS X上),您可以编辑您的Emacs配置,在Emacs类型Mx customize-group然后键入scheme 向下滚动一下,找到Scheme program name字段。 将其更改为Scheme实现命令,如mit-schememzscheme 您也可以在PATH中创建指向正确二进制文件的符号链接:

sudo ln -s /Applications/mit-scheme.app/Contents/Resources/mit-scheme
    /usr/local/bin/scheme

对于MIT Scheme,您还需要设置MITSCHEME-LIBRARY-PATH变量,因此将其添加到.emacs

(setenv "MITSCHEME_LIBRARY_PATH"
    "/Applications/mit-scheme.app/Contents/Resources")

然后你应该能够用Mx run-scheme启动一个劣质的Scheme缓冲区。 并使用Cx Ce将代码传递给REPL,它会在点之前计算表达式。

如果这不起作用(它不适合我),您可能需要确保Emacs用于执行shell命令的路径包括scheme symlink或包含实现的二进制文件的任何目录。 通过一些实验,我通过将其添加到我的.emacs文件来修复此问题:

Emacs在运行编译命令时忽略了我的路径

对于参考,我用来设置它的另一个SO问题:

如何让Emacs内部的方案解释器工作?

GNU的64位下载现在将.app命名为“MIT:GNU Scheme.app”。 我试过@ spacemanaki的指示,但我一直得到:

bash-3.2$ export MITSCHEME_LIBRARY_PATH=/Applications/MIT:GNU\ Scheme.app/Contents/Resources
bash-3.2$ scheme
    scheme: can't find a readable default for option --band.
    searched for file all.com in these directories:
    /Applications/MIT
    /Applications/MIT:GNU Scheme.app/Contents/Resources/GNU Scheme.app/Contents/Resources

最后我意识到分号充当了路径分隔符。 所以只需确保重命名:

mv MIT:GNU\ Scheme.app/ mit-scheme.app

然后上面的说明将正常工作 - 虽然您可能必须使用Finder进行重命名,因为当我在shell上执行它时,我的Resources文件夹消失了。

如果您使用的是Mac,我建议使用Homebrew来安装带有简单命令brew install mit-scheme 找到你的~/.emacs file ,如果它不存在然后创建一个,将其附加到文件的末尾:

(setq scheme-program-name  "your/mit-scheme/path")

使用which mit-scheme命令查找安装mit方案的位置。 以我的MacOS X为例:

(seq scheme-program-name   "/usr/local/bin/mit-scheme")

保存并退出。 然后重新启动你的Emacs并键入M+x ,你就在这里。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM