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

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

问题描述

我的肤浅的理解是,swank-clojure使M-x slime-connect成为可能。我的意思是,它给一个clojure服务器像'lein swank'的连接。我的理解是正确的吗?如果没有,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?

然后,是否有其他lisp类实现的'swank-SOMETHING_ELSE'?例如,swank-clisp?

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

我需要'swank-clojure'才能使用SLIME / Clojure和'Mx slime'?

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

我发现这个链接非常有用。

推荐答案

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

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.

粘液和swank是分开的,通过网络连接并通过rpc消息通信意味着它们可以在任何地方。所以,slime可以连接到远程主机/端口进行swank。你看到的所有其他形式(lein swank等)做同样的。他们开始在一个允许远程连接slime的端口上运行。

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是swank的clojure端口。原来swank-clojure带有一个名为swank-clojure.el的helper elisp文件。这个文件的工作是允许手动设置swank参数,如类路径,jvm参数等。由于其他工具像lein后来,swank-clojure.el已被弃用。但它仍然生活在: http://github.com/vu3rdd/swank-clojure-extra

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.

应该注意的是,SLIME起源于(并且仍然是),并且提供了Mx swank-clojure-积极开发为)Common Lisp。事实上,swank的clojure端口只具有原始SLIME / swank版本所享有的功能的子集。 SLIME存在于Common Lisp的所有主要变体。 Scheme48有一个部分端口。在contrib目录下有一些部分实现。

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.

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

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天全站免登陆