问题标签 [slime]
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.
clojure - 如何修复 clojure & slime 中的回溯
我是一个试图设置 emacs 和 slime 的 clojure noob。似乎没有一种真正的方法可以做到这一点,所以我关注了一些博客文章以及 swank-clojure 和 leiningen README。
大多数情况下它都有效。我的问题是,如果我尝试从回溯中选择 restart 0 [QUIT],我会得到
'进程过滤器错误:参数数量错误:nil,0'
(我还在“Mx slime-connect”上看到关于 slime 和 swank 版本不匹配的警告,但谷歌搜索表明这是意料之中的)。
这是 Debian Lenny。我通过 'git clone git://git.boinkor.net/slime.git' 得到了粘液。Clojure 和 clojure-contrib 是 1.2.0,swank-clojure 是 1.2.1。
有人见过这个吗?或者,是否有所有部件兼容版本的最新列表?非常感谢。
编辑:
看起来很可能是这个问题。我在该线程中关注了与 OP 相同的博客文章。
编辑:
是的。使用ELPA获取 slime 和 slime-repl 包修复了它。
linux - 控制台上的 SLIME
有没有人有在 Common Lisp 的控制台上使用 SLIME 的经验?我正在尝试通过 Practical Common Lisp,但书中的命令似乎不适用于 emacs/SLIME 的控制台版本。我想我的问题是:有没有什么地方可以在控制台上找到专门针对 SLIME 的文档?或者,如果您对控制台上完全不同的方法有建议,我会全力以赴。
emacs - 如何在 Clojure repl 中自动扩展或自动完成函数和变量
有没有办法像在 Common Lisp 中那样在 Clojure repl 上扩展当前命令?
例如说我输入了:
我希望 tab 键扩展到该命名空间中的所有可用变量和函数。
我正在使用 Clojure,因为劣质 lisp 想知道如何从 Clojure 中的普通香草 repl 以及通过 swank slime 做到这一点。
emacs - clojure.contrib 与粘液和低级 lisp 程序问题
我从 slime repl 中得到以下信息(没有找到 clojure.contib 函数):
从控制台启动 clojure 时会出现以下内容(但这里一切正常):
在我的 .emacs 中,我有以下内容:
我的 clojure 罐子 (1.2) 位于“/home/adr/clojure/cloj-1.2”。
我是emacs的新手,一直在学习一些教程。一段时间以来,我一直在尝试使用 Emacs 的 clojure.contrib 库,但是“MX slime”没有找到 clojure.contrib。请帮忙
编辑:如果这有帮助,现在我看到使用 MX slime 时有一条消息:
Edit2:但是,如果我在目录中启动“lein swank”后使用 MX slime-connect,则不会出现此类错误消息(尽管即使以“MX slime-connect”开头,在 REPL 中也找不到 clojure-contrib 库(尽管它们是由 leiningen 作为依赖项下载的))。
emacs - 错误 Emacs slime: eval-buffer: Symbol's function definition is void: define-slime-contrib
我在短时间内使用带有 lisp 的 emacs(使用粘液)......这项工作但今天当我运行它时出现以下消息:
eval-buffer:Symbol 的函数定义为 void:define-slime-contrib
意味着这比我的 slime contrib 文件夹没有找到吗?
我的 .emacs 是一场灾难……对不起……我在所有文件夹中搜索,每个人看起来都很好……
emacs - 为 Windows/C++ 程序员学习 Common Lisp 技巧
我是一位经验丰富的 C++/.NET/Java Windows/web 程序员,正在尝试学习(通用)Lisp。我正在阅读Practical Common Lisp并使用SLIME。
我很容易获得 Lisp 语言,但我在探索开发机制时遇到了麻烦。我的问题之一是处理 Emacs。我没有使用它的经验,并且发现它通常与难以查找/弄清楚的命令混淆。
具体问题:
- 我得到了REPL,但我不太明白如何有效地使用它。当我需要更改函数时,我必须重新键入 defun 并进行更改(繁琐且容易出错)。我怎样才能做得更好?
- 我如何从在 REPL 输入代码到实际拥有一个程序?我习惯了 C 模型,您可以在其中查看、编辑和重新编译代码文件。我知道 Lisp 有类似的东西(通过加载函数),但是如何将我刚刚定义并测试的函数放入要保存的文件中?我希望有比我目前的选择+复制+粘贴更好的方法。
- 你如何调试错误?有没有像使用其他语言一样进入代码的能力?
- 只要 S 表达式有效,我在输入
(defun ...)
. 直到我尝试使用它才发现它无效。有什么方法可以更快地出错(即编译代码)? - 是否有一些 IDE 对我来说更熟悉或让我更容易使用该语言?
- 我应该改用学习计划吗?
任何提示将非常感谢!
emacs - clojure 和 common lisp 的 emacs 设置,带有 slime-fancy (slime-autodoc)
我为 clojure 和 common lisp 设置了 emacs,但我也想要为 common lisp 设置 (slime-setup '(slime-fancy))。如果我将该行添加到 init.el,clojure 将不起作用:它给了我 repl,但在我运行任何代码后它挂起。
我的配置
对于clojure:
- 我通过 ELPA 设置了 clojure-mode、slime、slime-repl
- 我在项目目录中运行 $ lein swank
- 然后 Mx slime-connect 破解 clojure
对于常见的 lisp,我将其放在 init.el 中的 ELPA 代码之后:
所以如果我取消最后一行的注释,clojure 就会被破坏。但是 slime-fancy 是一个非常重要的用于破解 common lisp 的元包。
当我需要切换语言时,有没有办法在不更改配置和重新启动的情况下将它们都设置为工作?
更新
我发现加载了 slime-fancy 的 slime-autodoc 是导致挂起的原因。
此配置允许运行常见的 lisp 和 clojure SLIME。甚至同时。但没有粘液自动文档。
我还发现我正在使用 CVS 版本的 SLIME,因为我在 ELPA 代码之后手动执行 (add-to-list 'load-path "~/.elisp/slime")。这并不能解决问题。也许有一些魔法日期的版本可以与 clojure 一起使用?这里有人说 CVS 版本适合他:http ://www.youtube.com/watch?v=lf_xI3fZdIg&feature=player_detailpage#t=221s
multithreading - 使用 swank/slime 理解 Clojure 中的输出
当我在 emacs 中从 Swank repl 运行 Clojure 代码时,主线程将使用 printf 将消息打印到 repl。但是,如果我运行代理或显式创建也打印的其他线程,有时输出不会显示,有时它会显示在我正在运行 Swank 的控制台窗口中。我很想知道为什么。
编辑:感谢丹尼尔在下面的回答,我现在知道其他线程没有绑定到 REPL 的输出。此代码有效,因为您从运行的地方传入out。然而我的新问题是,这段代码现在每个线程都阻塞,所以它不是并行运行,而是一次运行每个线程,所以我需要一个更能感知线程的输出方法。
emacs - 我的 emacs/slime 设置有什么问题(编译和加载/评估不起作用)?
我可以运行 emacs 并启动 slime(使用M-x slime
)。在这一点上,我在 suber -lisp缓冲区中获得了 REPL,并且可以在那里运行 lisp。但是,当我在另一个缓冲区中打开 lisp 代码时,所有的粘液都不起作用(C-x C-e
等等),我一直在消息C-c C-k
缓冲区中看到这个(计数数增加):
粘液连接:未连接。
轮询“/var/folders/B9/B9B5J15dH+aNt5J5gkROEk+++TI/-Tmp-/slime.3202”..(使用 `Mx slime-abort-connection' 中止。)[69 次]
让我觉得 slime 没有连接到正确的 lisp 解释器,但是由于我对 emacs 和 lisp 很陌生,所以我被困在这里。我的设置是:
- Mac OSX 雪豹
- GNU Emacs 23.2
- emacs 入门套件
- 很少的自定义:arnab.el和arnab/ 下的文件
emacs - 重新映射 SLIME 键
Slime 重新映射了我喜欢使用并设置在 global-set-key 中的几个键。
我想避免直接编辑 slime.el。
在给定模式下覆盖键的例程是什么?
更新:
在您的 .emacs 中,直接设置模式映射: