“swank-clojure”是做什么的,我们有“swank-SOMETHING_ELSE”吗? [英] What does the 'swank-clojure' do exactly, and do we have 'swank-SOMETHING_ELSE'?

查看:180
本文介绍了“swank-clojure”是做什么的,我们有“swank-SOMETHING_ELSE”吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的肤浅的理解是,swank-clojure使M-x粘液连接成为可能。我的意思是,它给一个clojure服务器的连接器像lein swank。我的理解是否正确?如果没有,swank的目的是什么?



然后,对于其他lisp类似的实现,是否有任何swank-SOMETHING_ELSE?例如,swank-clisp?



为了将SLIME / Clojure与Mx slime一起使用,需要swank-clojure?



ADDED



我发现这个链接很有用。

解决方案

SLIME和swank形成一个客户端服务器架构来运行和调试lisp程序。 SLIME是emacs前端,swank是后端。在它们之间,它们之间创建一个网络套接字并通过发送消息(S表达式)进行通信。简而言之,它只是emacs和实际的lisp后端之间的RPC机制。



事实上,粘液和燕窝是分开的,通过网络连接并通过rpc消息进行通信意味着它们可以在任何地方。所以,粘液可以连接到一个远程的主机/端口来swank。你看到的所有其他形式(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 ,并提供了一个可以在lein项目中启动swank的Mx swank-clojure项目。



应该指出,SLIME起源于(并且仍在积极开发了)Common Lisp。实际上,swank的clojure端口仅具有原始SLIME / swank版本所享有的功能的一部分。 Common Lisp的所有主要变体都存在SLIME。 Scheme48有部分端口。在contrib目录下有一些部分实现可用。



如果您知道swank已经在端口上运行,请使用slime-connect。如果你只是想在项目上使用粘液,那么swank-clojure-project和lein swank似乎是要走的路。


My superficial understanding is that 'swank-clojure' makes 'M-x slime-connect' possible. I mean, it gives a connection to a clojure server something like 'lein swank'. Is my understanding correct? If not, what's the purpose of swank?

Then, is there any 'swank-SOMETHING_ELSE' for other lisp like implementations? For example, swank-clisp?

Do I need 'swank-clojure' for using SLIME/Clojure with 'M-x slime'?

ADDED

I found this link pretty useful.

解决方案

SLIME and swank form a client server architecture to run and debug lisp programs. SLIME is the emacs frontend and swank is the backend. In between they create a network socket and communicate by sending across messages (S-expressions). In short it is just an RPC mechanism between emacs and the actual lisp backend.

The fact that the slime and swank are separate, are connected over a network and communicate via rpc messages means that they can be anywhere. So, slime can connect to a remote host/port to swank. All other forms you see (lein swank etc etc) do the same. They start swank on a port allowing for a remote connection of slime.

swank-clojure is the clojure port of swank. originally swank-clojure came with a helper elisp file called swank-clojure.el. The job of this file was to enable manual setup of swank parameters like the classpaths, jvm parameters etc. Since other tools like lein came along later, swank-clojure.el was deprecated. But it still lives on at: http://github.com/vu3rdd/swank-clojure-extra and provides the M-x swank-clojure-project which enables starting swank on a lein project.

It should be noted that SLIME originated in (and is still being actively developed for) Common Lisp. Infact, the clojure port of swank only has a subset of the features enjoyed by the original SLIME/swank versions. SLIME exists for all major variants of Common Lisp. There is a partial port of it for Scheme48. There are some partial implementations available under the contrib directory.

If you know that swank is already running on a port, use slime-connect. If you just want to use slime on a project, swank-clojure-project and lein swank seem to be the way to go.

这篇关于“swank-clojure”是做什么的,我们有“swank-SOMETHING_ELSE”吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆