Clojure 1.8的套接字repl和nREPL之间的具体区别是什么?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Clojure 1.8的套接字repl和nREPL之间的具体区别是什么?相关的知识,希望对你有一定的参考价值。

我一直在读这个,但似乎没有教程/文档关于这两者之间的区别或诸如此类的东西。

套接字repl会替换nrepl吗?

答案

至少不是现在。 clojure.core.server/repl只是一个普通的旧REPL,它监听套接字,并通过套接字吐出输出。我宁愿认为这个套接字repl是一个很好的小修复,可以在没有(很多)代码更改的情况下在网络功能上添加REPL。

另一方面,nREPL已经出了很长时间。它提供了更多功能,其中中间件是最突出的功能。 nREPL使编辑器和IDE能够与JVM交互式通信,丰富了使用基本REPL时的体验。

另一答案

tldr;

  • 套接字repl只是普通的旧repl,在Socket上提供服务。它是面向流的
  • nREPL是网络REPL,而名称与socket repl类似,它们是非常不同的。 nREPL是面向消息的程序,具有服务器/客户端体系结构。

长版:

以上是关于Clojure 1.8的套接字repl和nREPL之间的具体区别是什么?的主要内容,如果未能解决你的问题,请参考以下文章

Mac OSX、Emacs 24.2 和 nrepl.el 不工作

Clojure:使用来自 REPL 的库函数

如何使 nrepl-ritz-jack-in 通过 TRAMP / Emacs 远程工作

Clojure - 在没有project.clj的情况下启动REPL

Clojure REPL跟踪

无法在spacemacs cider(Clojure)中切换到repl