我想知道是否有一种REPL不特定于语言。我花费了很多时间在REPL(主要是Clojure、Scala和Haskell)中来回切换,但它们都或多或少地让我感到沮丧。看起来REPL的工作相当通用,它们应该:
- 读取:接收用户输入
- 评估:将输入传递给某些运行时进行处理
- 打印:将结果打印到屏幕上
- 循环:等待下一个用户输入
我不明白为什么不应该有一些与语言无关的REPL,但我一直没有找到这样的东西。我理想的REPL应该有以下一些功能:
- Linux命令行应用程序
- 通过向上箭头访问无限历史记录
- 可以编辑以前的命令再次运行
- ctrl-r用于历史记录搜索就像bash一样
- 一个REPL中的多个会话,以便我可以轻松切换它们
更加乐观地说,还有:
- 语法高亮,上下文感知代码完成
这个存在吗?