问题标签 [swank]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
689 浏览

emacs - 风筝现场编辑

我真的很喜欢Kite背后的想法——使用 WebKit 自己的协议进行远程调试。不需要代理套接字服务器或书签来连接网页(这就是swank-js的操作方式)。

该项目的自述文件指出风筝...

“启用...实时编辑网页”。

然而,虽然工作正常,但我不能在没有风筝划痕的情况kite-scratch下评估 defuns 或整个缓冲区。

是否可以在 kite-scratch 以外的任何缓冲区中使用 Kite 评估 JavaScript?

0 投票
1 回答
388 浏览

debugging - Clojure、emacs、ritz-swank:`Mx slime-connect` 给出错误消息

我花了一个下午试图让 ritz-swank 包与 emacs 和 Clojure 一起工作。(谷歌搜索错误消息等等并没有提供有用的线索。)我希望有人能给我一些指导,让我启动并运行。

错误是Symbol's value as variable is void: slime-ritz

根据http://www.delorie.com/gnu/docs/elisp-manual-21/elisp_142.html

“如果你从来没有给一个符号任何值作为全局变量,我们说那个符号的全局值是无效的。换句话说,这个符号的值单元格中没有任何 Lisp 对象。如果你尝试评估这个符号,你得到一个 void-variable 错误而不是一个值.... 一个 void 变量没有任何值。”

我尝试slime-ritz使用 Emacs 'describe-variable' (Ch v) 找到 的值,但它没有返回任何内容。对“ritz”进行适当的搜索没有结果,但搜索“slime”返回了一堆函数(所以我假设slime包存在)。

我的安装过程

我按照https://github.com/pallet/ritz/tree/develop/swank(pallet/ritz项目页面)的安装部分中的说明进行操作,从头开始两次以确保我做对了。这是我最后一次尝试的顺序:

  1. 从一个既不包含 Emacs 也不包含~/.emacs.d目录的系统开始。

  2. 安装 Emacs 24.2,最新可用的 Mac OS X 版本(来自http://emacsformacosx.com/

  3. 通过curl命令安装 Emacs Prelude(参见http://batsov.com/prelude/

  4. 下载(如项目页面所说)的特定版本slimeslime-ritz

  5. 使用手动安装它们M-x package-install-file

  6. 退出并重新启动 emacs,以防万一....

  7. 按照页面说明安装了 lein-ritz 并成功获得:

    Greggs-Mac-Pro:combolock gr$ lein ritz user=> Swank 服务器监听本地端口 51521

  8. M-x slime-connect(应该建立从 Emacs 到 Swank 服务器的连接)Symbol's value as variable is void: slime-ritz在 Emacs 迷你缓冲区中返回错误。

诊断数据

运行M-x package-activated-list产生了以下已加载包的列表:

(ace-jump-mode ack-and-a-half elisp-slime-nav exec-path-from-shell expand-region flycheck gist gh guru-mode helm-projectile helm logito magithub magit melpa paredit pcache projectile dash rainbow-delimiters rainbow-mode s slime slime-ritz solarized-theme undo-tree volatile-highlights yasnippet zenburn-theme)

运行M-x package-list-packages列出了已安装的以下软件包:

我注意到它clojure-mode不存在,所以我添加了它,但是上面的第 8 步给出了相同的错误消息。

一些暗中提问

1)我需要安装pallet吗?

2)我是否需要安装该ritz系列的任何其他软件包(https://github.com/pallet/ritz)?

我真的很期待使用 ritz-swank——它看起来真的很强大!(感谢 Hugo Duncan 的辛勤工作!)

0 投票
2 回答
774 浏览

emacs - 在“emacs”(最新版本)中设置“Slime”时,我如何告诉它更快地加载 swank?

史莱姆手册说:“更快地加载 Swank 对于 SBCL,我们建议您创建一个包含套接字支持和 POSIX 绑定的自定义核心文件,因为这些模块需要最多的时间来加载。要创建这样的核心,请执行以下步骤:

之后,将类似这样的内容添加到您的“.emacs”中:

我知道如何将东西添加到我的 .emacs 文件中,但是我到底要为下面的部分做什么,即在哪里,确切地,以及我如何执行下面的步骤....我在哪里输入它。"执行以下步骤:

请具体...我是菜鸟

0 投票
1 回答
156 浏览

vim - 如何为 slimv 和 ritz 设置类路径

我想解决我的类路径问题。你能告诉我该怎么做吗?

我可以做到以下几点。

我可以通过推 eval (+ 1 1) 在 vi​​m(slimv) 中,例如。

然后 slimv 显示以下内容。

但是,我不能做以下事情。

1.当我在 vim(slimv) 中通过推 eval 来评估以下代码时,e,

2.Slimv 显示如下错误。

; java.io.FileNotFoundException 上的评估中止:在类路径上找不到 clojure/contrib/str_utils__init.class 或 clojure/contrib/str_utils.clj:

我的环境如下。

  • macvim 7.3.754
  • 莱茵 2.0.0
  • 瘦身 0.9.9
  • 丽兹 0.7.0

项目.clj

~/.lein/profiles.clj

参考

lein ritz 设置错误

0 投票
2 回答
633 浏览

deployment - 如何使用 swank 部署 lisp 映像,并作为守护进程运行

正如标题中的 seid,我想部署一个可与 Swank 一起运行的 Lisp 映像。这可以通过使用 lisp 实现提供的图像转储功能来完成。但是它如何作为守护进程运行呢?

Detachtty做得很好,但是当我部署时,用户需要分离;我不喜欢这个解决方案,我只想要一个独立的解决方案。

Restas-daemon 和 sb-daemon 可能是另一种选择,但两者都与 SBCL 相关。有便携式解决方案,还是仅适用于 Clozure CL 的解决方案?

我也尝试了daemonquicklisp 的库,但是当我在其中启动 Swank 时,它挂了。我可以在 proc 文件系统中看到套接字文件描述符被破坏。

现在我不知道。

有人有什么建议吗?

0 投票
1 回答
251 浏览

emacs - 使用 SLIME 在远程 Emacs 上完成选项卡

在远程 SWANK 上的 SLIME repl 中,键入:

(打开“~/

然后按 TAB

这会在我的本地文件系统上创建一个带有自动完成功能的缓冲区。有人知道如何让它显示远程系统上的文件吗?

目前我的 .emacs 看起来像这样:

我已经在谷歌上搜索并尝试了一些随机的东西,非常感谢任何帮助!

0 投票
2 回答
992 浏览

common-lisp - 在库中使用 Swank 函数

我在 Ubuntu Raring 上使用 SLIME/SBCL/Emacs 和 Quicklisp。我有下面定义的功能。我想添加到我的 Lisp 库的顶部 .lisp 文件中,即每个其他文件都依赖的文件,这样我就可以在我用库编写的所有函数中使用它,只需添加(update-swank)到一个函数而不是添加下面的整个函数到使用它的每段代码。

当我这样做并重新启动 emacs 时,在进程中加载​​我的库,因为我的asdf:load-op.sbclrc 文件中有

在劣质 lisp 中,并且 SLIME 卡住轮询,因为库没有加载,因为在我当前的设置中,SLIME/SBCL 不知道update-swank在加载 .lisp 文件时是什么 swank 。我尝试添加(in-package :swank)到其中的文件update-swank,但得到了

当我的库在 emacs 启动时加载时,在劣质 lisp 中。

我搜索了 CEPL(我从https://github.com/cbaggers/cepl/blob/master/cepl-utils.lisp获得了 update-swank ),然后复制了 CEPL 的创建者所做的并将函数导出到我的包中.lisp。我确保添加了函数,就像他在 cepl-utils 的第 20 行所做的那样https://github.com/cbaggers/cepl/blob/master/cepl-utils.lisp ......我顺便加载了我的库和

在我的 .sbclrc 文件中,我假设它是在我的.emacs 文件在 emacs 启动时加载粘液之前加载的(我(slime)在我的.emacs文件中有)...我刚刚测试了从我的adsf:load-op和运行 之后的粘液/swank 和什么我一直在尝试在这里没有错误地工作....但是我希望能够在 emacs 启动时自动加载我的库,而我通常这样做的方式是将...添加到我的....如果有人可以告诉我另一种在加载 swank 后在 emacs 启动时自动加载我的库的方法可以回答这个问题吗?in-package.sbclrcasdf:load-opasdf:load-op.sbclrc

0 投票
1 回答
275 浏览

emacs - 如何让 swank 与 stumpw 一起工作?

我已将此代码片段添加到我的 stumpwmrc 文件中:

我期待打开一个套接字服务器,接受“swank”协议。因此我可以用 emacs 连接到它(感谢 Slime)。

但是当我登录并且 stumpwm 正在读取它的配置文件时,这是我得到的错误消息:

我该如何解决?我调用'require,甚至'快速加载函数。这里有什么问题?

0 投票
1 回答
236 浏览

emacs - SLIME 和 SWANK 在 MIPS 架构上失败

我正在尝试在Imagination Creator CI20 Mips 板上使用带有SLIME和 Swank 的Emacs来学习 Common Lisp。我正在使用 SBCL 和 Clisp 作为我的编译器/解释器(主要是 SBCL,通常设置为低级lisp模式);然而,我确实将 SBCL 和 Clisp 都设置为低级 Lisp 模式对此进行了测试,但两者都失败了。我尝试运行 SLIME,但在尝试加载或编译 Swank 文件时总是失败。其中一次尝试的错误消息表明它在架构上遇到了困难(Mips - little endian)。我正在运行开发板随附的 Debian 7 Wheezy (Mipsel) 的默认安装。

我尝试使用通过 apt-get 从 Debian 存储库安装的SLIME,另一次使用 SLIME 的 Melpa 安装,最后一次尝试使用 SLIME 的 Github git 存储库(最新)。尽管错误消息有时略有不同,但它们都失败了。Emacs 23 和 24 都失败了。

我使用 SBCL 作为编译器,在我尝试使用 SLIME 的 Github 存储库时附加了错误消息/模糊信息。SBCL 是从 SBCL 存储库安装的,因为 Mipsel Wheezy 似乎在 Debian 存储库中没有它。它看起来确实是一个较旧的版本,但它是SBCL 网站上 Mips 架构的最新二进制文件。SBCL 在命令行中作为 REPL 运行良好。

0 投票
2 回答
1449 浏览

lisp - 从命令行与本地长期运行的 Common Lisp 图像交互,可能是守护进程

如何从命令行与本地长期运行的 Common Lisp 图像交互,可能是守护进程?

我知道可以从终端命令提示符运行 Common Lisp 函数,我也知道这一点

我需要做类似的事情,但使用本地的、已经长期运行的Common Lisp 映像,能够从 CLI 或 shell 脚本轮询可用函数。

有没有办法从 CLI 中做到这一点,例如从 bash 脚本调用函数,并接收函数返回的任何内容?

例如,我可以创建一个原始的 Web 服务,可能使用wooHunchentoot调用函数并通过curlor获取返回值wget,但感觉有点复杂。

当然,这是 Emacs 的 SLIME 的众多特性之一,但我需要仅从 CLI 调用函数,而不调用 Emacs。

有没有办法在 SLIME 之外达到一个时髦的后端?

如果可能的话,这样做的 lisp 惯用方式是什么?

我将不胜感激任何指示。


更新

附加说明

许多年前,我对能够远程登录到长期运行的 LISP 映像很感兴趣(我相信在这种情况下,将名称大写应该没问题)。如果我没记错的话,它可以在 prompt.franz.com 上找到。一篇文章,以某种方式连接:用于远程访问正在运行的应用程序的 telnet

Telnet 当然是相当不安全的,但是无论出于何种原因,能够以这种方式访问​​ Lisp 应用程序的用处都不能被夸大,至少对某些人来说是这样。

一些额外的指针,谢谢

我要感谢 Basile Starynkevitch 详尽而透彻的回答,尤其是在理论方面。我一直在寻找一个更实用的方向,特别是与 Common Lisp 相关。尽管如此,他的回答还是很有启发性的。

我已经准备好开始编写本地服务器了,或许可以使用其中一个优秀的 Common Lisp 库,例如:

但是,多亏了 Stanislav Kondratyev,我不必这样做。他指出了一个已经存在的解决方案,它很好地回答了我的问题,ScriptL:Shell scripting made Lisp-like

我在 Linux、FreeBSD 和 OS X 上成功地测试了它,只要确保首先在 POSIX 系统调用上安装瘦包装器。在众多功能中(参见 README),它允许仅展示选定的功能,安全性得到妥善处理,甚至提供自定义 C 客户端,作为 ASDF 加载操作的一部分构建,并支持许多新功能,例如I/O,代替netcat.