我正在阅读SICP,我正在mit-scheme
通过我的os x 10.8笔记本电脑上安装homebrew。
一切都像宣传的那样工作,但是我很容易被REPL的标签完成和命令行历史记录所破坏,因为Python和Node.js这样的运行时。
我不是在寻找任何重要的东西,但是这些功能在现代REPL中很容易实现(在Python中它只是a simple startup file并且可以在a few lines in Node.js中实现)。
在没有重型应用程序或必须切换到emacs(即在xterm终端)的情况下,是否有一种简单的方法可以在mit-scheme REPL中获取制表符完成和命令历史记录?
答案 0 :(得分:48)
brew install rlwrap
安装完成后,rlwrap scheme
将为您提供持续历史记录,填充匹配和制表符完成功能。我通常使用带有以下参数的rlwrap:
-r将输入和输出中显示的所有单词放在完成列表中。
-c完整的文件名
-f指定用于制表符完成的单词列表。我正在使用MIT Scheme Reference Manual的精简绑定列表。 您可以在this gist中找到该列表,而不是在此处重新发布列表。 我将此文件存储在“$ HOME”/scheme_completion.txt
中 rlwrap -r -c -f "$HOME"/scheme_completion.txt scheme
1 ]=> (flo:a <tab tab>
flo:abs flo:acos flo:asin flo:atan flo:atan2
1 ]=> (flo:abs -42.0)
;Value: 42.
答案 1 :(得分:1)
我实际上建议您使用 Emacs,并在其中使用 Geiser 来访问 REPL 并帮助编辑方案文件。它还可以处理各种 Scheme REPL,例如 Chez Scheme、Racket、MIT Scheme、Guile、Chicken、Gambit 和 {{3} } 毫不费力。 Chibi Scheme 仍然非常适合与 Scheme 和 LISP 一起使用。强烈推荐。