具有命令行历史记录和制表符补全功能的 mit-scheme REPL

2024-03-09

我正在阅读SICP http://mitpress.mit.edu/sicp/full-text/book/book.html我正在使用mit-scheme http://www.gnu.org/software/mit-scheme/通过以下方式安装在我的 os x 10.8 笔记本电脑上homebrew https://github.com/mxcl/homebrew/blob/master/Library/Formula/mit-scheme.rb.

一切都如宣传的那样工作,但是我对在 Python 和 Node.js 等运行时的 REPL 中轻松获得选项卡补全和命令行历史记录感到非常满意。

我并不是在寻找任何重型功能,但这些功能在现代 REPL 中很容易实现(这只是一个简单的启动文件 http://docs.python.org/library/readline.html#example在 Python 中,可以在Node.js 中的几行 https://gist.github.com/3317494).

有没有一种简单的方法可以在 mit-scheme REPL 中获取选项卡完成和命令历史记录,而无需重型应用程序或必须切换到 emacs(即在 xterm 终端中)?


安装读取行包装器 http://utopia.knoware.nl/~hlub/rlwrap/README.txt:

brew install rlwrap

安装后,rlwrap scheme将为您提供持久的历史记录、括号匹配和制表符完成。我通常将 rlwrap 与以下参数一起使用:

-r 将输入和输出中看到的所有单词放入完成列表中。

-c 完整文件名

-f 指定用于制表符补全的单词列表。我正在使用来自麻省理工学院计划参考手册 http://www.gnu.org/software/mit-scheme/documentation/mit-scheme-ref/Binding-Index.html#Binding-Index。 您可以在以下位置找到该列表,而不是在此处重新发布该列表这个要点 http://gist.github.com/3325982。 我将此文件存储在“$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.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

具有命令行历史记录和制表符补全功能的 mit-scheme REPL 的相关文章

  • 如何将单个反斜杠放入 ES6 模板文字输出中?

    我正在努力获取 ES6 模板文字来生成单个反斜杠及其结果 gt s s gt s s gt s s gt s s gt u005Cs s 通过检查 Node REPL 上的值 而不是使用打印它 使用 Node 8 9 1 和 10 0 0
  • 如何将脚本加载到 node.js REPL 中?

    我有一个脚本foo js其中包含一些我想在 REPL 中使用的函数 有没有办法让节点执行我的脚本 然后跳转到包含所有声明的全局变量的 REPL 就像我可以的那样python i foo py or ghci foo hs 仍然没有任何内置功
  • 是否可以将 Typescript 导入到正在运行的 ts-node REPL 实例中?

    我想测试一些我编写的 Typescript 代码 到目前为止 我知道做到这一点的最好方法是运行ts node my file name ts 不过 我想让它更具交互性 类似于 Python REPL 允许您导入模块 然后根据需要从 REPL
  • REPL、解释器和编译器之间的关系

    From 维基百科 REPL 通常被误称为 口译员 这是一个用词不当 很多 使用的编程语言 编译 包括字节码 编译 有 REPL 例如 Common Lisp 和 Python From 对此帖子的回复 交互式解释器使用 REPL 一个 口
  • SML (Poly) 有类似 CL 的 REPL 吗?

    以下是罗恩 加勒特 Ron Garret 的 喷气推进实验室的 Lisping 中的一段话 在 1 亿英里之外的价值 1 亿美元的硬件上调试运行的程序是一种有趣的体验 事实证明 在航天器上运行读取 评估 打印循环对于发现和解决问题非常有价值
  • 有没有类似 python 的交互式 REPL 模式,但适用于 Java?

    有没有类似 python 的交互式 REPL 模式 但适用于 Java 例如 这样我就可以输入InetAddress getAllByName localHostName 在一个窗口中 并立即得到结果 而不需要所有这些 public sta
  • 使用 Scala 的 REPL 进行性能基准比较是否合理?

    Scala 的 REPL 是交互式测试某些代码片段的绝佳场所 最近 我一直在使用 REPL 进行一些性能比较 以重复执行操作并比较测量挂钟时间 这是我最近创建的一个例子 用于帮助回答 SO 问题 1 2 Figure out the per
  • 为什么 Swift 中 UInt64 max 等于 -1?

    使用 Swift 无论是在终端还是操场上 当我在新行中输入以下内容时 UInt64 max 我得到的结果值为 1 这是一个错误吗 Edit 例子 xcrun swift Welcome to Swift Type help for assi
  • (加载“file.scm”)在Scheme的新环境中

    麻省理工学院计划 load 程序显然需要一个环境 http web mit edu scheme v9 0 1 doc mit scheme user Loading Files html作为参数 有什么方法可以 克隆 当前环境并将其传递到
  • 是否可以构建一个交互式 C shell?

    我只是想知道这是否可以使用 Python Java 或 C 我正在寻找类似 IPython for Python 的东西 是的 这样的东西已经存在 你只需要用谷歌搜索即可 Ch http en wikipedia org wiki Ch i
  • 如何将 Invoke-RestMethod 的响应转换为 XML?

    参考help https learn microsoft com en us powershell module microsoft powershell utility invoke restmethod view powershell
  • lein REPL 服务器启动超时

    在基于 liberator 的 clojure 项目中 我们使用 datomic 作为数据库 将我们的本地开发数据库迁移到 S3 托管的数据库并在我们的 project clj 上添加所需的依赖项后 我们无法启动 REPL 但 Libera
  • 我可以停止 Scala REPL 中无限循环的执行吗?

    我可以停止 Scala REPL 中无限循环的执行吗 输入此内容并尝试在不退出 REPL 的情况下停止它 while true 我认为 Ctrl C 之类的东西会起作用 这取决于你的scala版本 如果你已经使用 scala 2 9 只需使
  • 如何在连接到 lein swank 的 ClojureBox (EmacsW32) REPL 中抑制 ^M 字符

    我正在从我的服务器连接到一个 swank 服务器ClojureBox http clojure billhugh com安装 IE lein swank从我的项目目录然后M x slime connect来自 EmacsW32 然而 当我这
  • 如何找到 MIT 方案中出现错误的地方?

    当你在 MIT 方案中遇到错误时 它不会告诉你错误发生在哪里 例如 它只打印如下内容 Unbound variable top left To continue call RESTART with an option number REST
  • 如何启动 VBS 的交互式控制台?

    与这个问题非常相似 如何启动 Perl 的交互式控制台 https stackoverflow com questions 73667 how can i start an interactive console for perl 我只是希
  • Scala repl 抛出错误

    当我打字时scala在终端上启动 repl 它会抛出此错误 scala gt init error error while loading AnnotatedElement class file usr lib jvm java 8 ora
  • 如何从命令行向 REPL 添加导入?

    如何使 REPL 导入命令行中给出的包 Sample scala someMagicHere import sys error scala gt imports 1 import scala Predef 162 terms 78 are
  • 如何在 scala repl 和 sbt 控制台中关闭/打开 typer 阶段

    是否可以在不退出当前会话的情况下切换阶段 我尝试进入 power 模式 但它仍然不打印类型 在SBT中只需添加以下设置 set scalacOptions in Compile console Xprint typer 在 REPL 中你可
  • JavaScript 中的“REPL”是什么? [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我看到了创建 REPL 的参考 什么

随机推荐

  • List 上的 Any() 方法无法按预期工作

    我正在 winforms 中开发 net 4 6 这里的代码来自测试控制台应用程序 有一次我有一张清单DateTime我需要弄清楚这个列表是否包含特定日期 为此我正在尝试使用Any 在名单上 即使列表确实包含所需的日期 Any 回报fals
  • 自动换行不适用于 UILabel

    使用自动布局我无法在代码中覆盖我的标签 我已经在 IB 中设置了标签属性 Lines 0 LineBreaks Word Wrap 但我将高度设置为单行 因为选择的单元格决定了标签中的文本内容 所以有时标签只有一行 在我看来DidLoad
  • 日期格式中月份和日期的固定长度?

    有没有什么方法可以将日期对象格式化为固定长度的日和月 以便在列中良好对齐 例如 15 May 2010 10 January 2010 代替 15 May 2010 10 January 2010 Thanks 看看java util Fo
  • 通过 C++ 程序在 PowerShell 中打印 unicode 字符

    我的最终目标是通过 C 程序将一些非拉丁文本输出写入 Windows 中的控制台 cmd exe 对我毫无帮助 所以我得到了最新的 闪亮的 PowerShell 版本 支持 unicode 我已经确认我可以 输入非 unicode 字符和
  • jQuery - 如何检查特定 DIV 中是否单击了任何链接?

    在 HTML 代码中 我的页面包含 div a href Link1 a a href Link2 a div div a href Link info a a href My profile a div div a href Link1
  • Flask 和 sys.excepthook

    我想将全局异常处理对象添加到我的 Flask web 项目中 在创建应用程序类的主模块中 我添加了代码来覆盖sys excepthook 这是简单的测试代码 import sys def my exception hook exceptio
  • 字符串分词器、分隔符

    我正在使用这段代码 StringTokenizer tokenizer new StringTokenizer line 分割以下字符串 hi my name is visghal what is yor name name being t
  • after_initialize 和 after_find 回调在 Active Record 对象生命周期中的顺序?

    来自 Rails 指南 回调可以挂接到 Active Record 对象的生命周期中 按照执行顺序 它们是 从 Rails Guides 复制的 创建对象 before validation after validation before
  • 组合最新第一个事件未触发

    我想知道我的应用程序何时离线并重新上线 我在以下位置注册了以下事件rxjs const online Rx Observable fromEvent window online const offline Rx Observable fro
  • 如何设置 WebMatrix/Razor 响应的内容类型?

    我想在我的 WebMatrix cshtml 文件中返回一些 XML 而不是 HTML 如何更改内容类型标头 使用 cshtml 文件顶部的 Response ContentType 属性 然后将 XML 包含在视图的内容中 Respons
  • 如何计算文本的真实SHA1?

    As in 我的最后一个问题 https stackoverflow com q 48327289 287948 参见那里的详细信息 我正在使用 SELECT encode digest x text bytea sha1 hex FROM
  • 检查 UITextView 中的文本是否由于自动换行而换行

    如何检查文本是否在UITextView由于自动换行而转到下一行 我目前有代码来检查用户是否输入新行 从键盘 BOOL textView UITextView textView shouldChangeTextInRange NSRange
  • 使用 OpenCV 时找不到模块 cv2

    我已经安装了OpenCV https en wikipedia org wiki OpenCV在 Raspberry Pi 上的 Occidentalis 操作系统 Raspbian 的一个变体 上 使用这个脚本 https github
  • Graphql 和往返。这只是ios应用程序的问题吗?

    我正在重新审视 graphql 我试图理解为什么节省往返对开发人员有好处 提出请求的费用这么贵吗 我有网络开发背景 让我们将标准 Rest api 与 graphql api 进行比较 我需要检索用户的个人信息及其朋友列表 传统的 Rest
  • 在 jQuery UI 中触发鼠标拖动

    使用 jQuery 1 2 x 和 jQuery UI 1 5 x 可以像这样手动触发拖动 jQuery myDiv mousedown function ev target jQuery ev target if target hasCl
  • Laravel 5 销毁所有用户会话并强制注销

    有没有办法销毁所有会话 我需要注销所有用户 想知道 astrisan 是否可以做到这一点 谢谢你 这实际上取决于您选择的会话驱动器 如果您使用文件驱动器 您可以删除storage framework sessions path 如果您使用数
  • PHP 匿名函数与 array_walk

    我尝试将 array walk 与匿名函数一起使用 但总是收到错误 Parse error syntax error unexpected T FUNCTION in on line X if empty myArray array wal
  • Chrome 和 Firefox 中的 WebSocket 在不活动一分钟后断开连接

    我发现 Chrome 和 Firefox 中的 WebSocket 在闲置一分钟后就会断开连接 根据我在网上看到的内容 我完全将责任归咎于代理或某些服务器设置或其他东西 但在 IE 或 Edge 中不会发生这种情况 看起来如果套接字在一分钟
  • 在数据库中存储长字符串好吗?

    我需要在数据库中存储长字符串 该字符串可能有 5 或 6 个句子长 您认为这是一个很好的设计策略吗 或者我应该存储该字符串的 id 然后创建与另一个包含存储该字符串的文件位置的表的关系 您能给出两者的优点和缺点吗 字符串已被预处理并存储在数
  • 具有命令行历史记录和制表符补全功能的 mit-scheme REPL

    我正在阅读SICP http mitpress mit edu sicp full text book book html我正在使用mit scheme http www gnu org software mit scheme 通过以下方式