我想知道是否存在非特定语言的REPL 。我花了很多时间研究 REPL(主要用于 Clojure、Scala 和 Haskell),而捆绑的那些都或多或少地让我感到沮丧。看起来 REPL 的工作非常通用,因为它们:
- 阅读:接受用户输入
- 评估:将输入传递给某个运行时进行处理
- 打印:将结果打印到屏幕上
- 循环:等待下一个用户输入
我不明白为什么不应该有一些与语言无关的 REPL,但我一直找不到这样的东西。我想在我的理想 REPL 中做一些事情:
- Linux 命令行应用程序
- 无限历史可通过向上箭头访问
- 能够在重新运行之前编辑以前的命令
- ctrl-r 用于像 bash 一样的历史搜索
- 一个 REPL 中的多个会话,因此我可以轻松地在它们之间切换
而且更乐观
- 语法高亮,上下文感知代码完成
这存在吗?