我想知道是否有一个REPL这是不是语言特定的。我花了很多时间在REPLs中(主要是Clojure,Scala和Haskell)进行操作,捆绑的操作都会使我受到或多或少的影响。这似乎是一个REPL的工作是在相当一般他们:一个REPL来绑定它们全部?
- 阅读:取用户输入
- 评估:将输入传递给一些运行时处理
- 打印:打印结果到屏幕
- 循环:等待下一次用户输入
我不明白为什么不应该有一些语言无关REPL,但我一直无法找到这样的事情。有些事情我想在我的理想REPL:
- Linux命令行应用程序
- 无限的历史,通过向上箭头
- 能力之前编辑以前的命令访问重新运行
- CTRL-R的历史搜索like bash has
- 在一个REPL多个会话,这样我就可以在它们之间轻松切换
而更多乐观
- 语法高亮,上下文感知代码完成
这是否存在?
所有Emacs REPL模式都建立在comint模式之上,因此它们往往彼此非常相似。当然,他们支持历史和代码完成(在适当的情况下)。 – dfan 2011-04-12 17:58:46
你在这里有相互矛盾的要求:你需要一个REPL,它同时不知道任何有关该语言的内容,但不知怎的,神奇地知道该语言是为了提供代码完成。 – 2011-04-12 23:03:47
我没有看到这些冲突。我想要一个REPL,它向任意数量的后端提供统一的接口。语言意识的东西必须是可插拔的,就这些。 – 2011-04-13 13:59:04