pro*_*eek 14 emacs clojure slime swank
我肤浅的理解是'swank-clojure'使'Mx slime-connect'成为可能.我的意思是,它提供了一个连接到clojure服务器的东西,比如'lein swank'.我的理解是否正确?如果没有,什么是swank的目的?
然后,是否有任何'swank-SOMETHING_ELSE'用于其他类似lisp的实现?例如,swank-clisp?
我需要'swank-clojure'来使用SLIME/Clojure和'Mx slime'吗?
我发现这个链接非常有用.
小智 32
SLIME和swank构成了一个客户端服务器体系结构来运行和调试lisp程序.SLIME是emacs前端,swank是后端.在它们之间,它们创建一个网络套接字并通过发送消息(S表达式)进行通信.简而言之,它只是emacs和实际的lisp后端之间的RPC机制.
粘液和swank是分开的,通过网络连接并通过rpc消息进行通信意味着它们可以在任何地方.因此,粘液可以连接到远程主机/端口以进行扫描.你看到的所有其他形式(lein swank等)都是这样做的.他们开始在一个端口上进行扫描,允许远程连接粘液.
swank-clojure是swank的clojure端口.最初swank-clojure带有一个名为swank-clojure.el的帮助器elisp文件.这个文件的工作是启用swank参数的手动设置,如类路径,jvm参数等.由于lein之类的其他工具后来出现,swank-clojure.el已被弃用.但它仍然存在于:http://github.com/vu3rdd/swank-clojure-extra并提供Mx swank-clojure项目,该项目可以启动lein项目上的swank.
应该注意的是,SLIME起源于(并且仍在积极开发)Common Lisp.事实上,swank的clojure端口只有原始SLIME/swank版本所享有的功能的子集.SLIME适用于Common Lisp的所有主要变体.Scheme48有一个部分端口.在contrib目录下有一些部分实现可用.
如果您知道swank已在端口上运行,请使用slime-connect.如果你只想在一个项目中使用粘液,swank-clojure-project和lein swank似乎是要走的路.
swank-clojure.el已弃用.不要使用它.
您需要slime.el并且需要swank-clojure "1.2.1"在您的project.clj文件中具有开发依赖性.
Swank基本上是一个服务器,你使用slime连接到emacs.它从emacs传递了你想要运行的Lisp进程运行的东西.
使用后M-x slime-connect,您应该使用连接到swank服务器lein swank.
| 归档时间: |
|
| 查看次数: |
2704 次 |
| 最近记录: |