问题标签 [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.

0 投票
1 回答
258 浏览

emacs - clojure 的 emacs slime-connect 版本不查找 $CLASSPATH

我需要将我的 clojure 函数与 slime-connect 一起使用。我把我所有的库都放在了 $CLASSPATH 中。

正如我从这个问题中了解到的那样。我使用以下命令检查当前环境的 CLASSPATH,发现没有使用我的 $CLASSPATH。

如何使用 emacs/slime-connect 为我的 clojure 附加我的类路径?我按照这里的要求安装了我的 emacs/leinigen 。

0 投票
1 回答
837 浏览

emacs - 在 Vista 上的 slime 下启动 sbcl 时出错

我无法让 SBCL 在粘液下启动。我把事情搞砸了,我不知道如何恢复。这工作得很好,直到我...

通过 asdf 加载包时出现问题。此时我开始调试 SBCL 提供的 asdf.lisp 以查看出现了什么问题。我所做的唯一更改是放置一个(中断),一旦我找出问题所在,我就将其删除。一切都很好,直到我下次尝试启动 SBCL。

然后我得到一个华丽的编译错误,说 asdf.fasl 比 asdf.lisp 文件旧。这对我来说很有意义,所以我重新编译了 asdf.fasl。我现在得到的输出是:

所以它没有在我重新编译的 asdf 中找到它需要的一些东西。为了解决这个问题,我已经完全卸载并重新安装了 SBCL。没有喜悦。我的 .sbclrc 中也没有任何内容。

更新:在查看 asdf.lisp 源代码时,缺少的函数肯定在文件中。我认为阻止它们编译的原因是:

我的lisp知识目前还不足以在环境中编译asdf文件来触发上面的条件编译语句。

0 投票
3 回答
1436 浏览

emacs - 如何将 clojure 源文件连接到 Emacs 上正在运行的 clojure repl?

我目前正在向 Tomcat 容器中的现有 J2EE webapp 添加功能,并且正在使用 Clojure 编写我的添加。我的设置很简单:我只是添加对 clojure 生成的静态方法的调用,并从 clojure 端编写所有艰苦的工作。构建过程包括编译 clojure 代码 ( lein uberjar),然后在类路径中使用该 jar 编译 java 代码。

在 webapp init 中,我调用了一个生成的类,该类使用(swank/start-repl). 我希望能够将我的 Aquamacs 粘液连接到该服务器,并从那里进行交互工作(到目前为止,我不会尝试任何需要 Java 端重新编译的东西)。但是我有一个我不太了解的情况。如果我执行 a \M-x slime-connect,我会收到一个 REPL 提示(在被告知没有劣质 lisp 进程之后,我认为这没关系,因为劣质 lisp 进程在 emacs 控制之外运行)。我可以完美地评估表单,我什至可以检查诸如my.own.namespace/my-var. 但是,如果我访问一个包含已编译 clojure 代码的文件,我似乎无法让 slime 将其识别为它的来源。考虑一个简单的 clojure 文件:

假设这是编译并包含在 webapp 加载的 uberjar 中,我可以 eval/inspect my.namespace/*secret*。但是如果我尝试在代码缓冲区内进行评估,Slime 会认为我在user命名空间中(这甚至可以说得通!)。但现在我只剩下一个工作选项——我必须评估——文件中的所有表格!\C-c \C-l(加载源文件)不会做任何事情 - 显然只是返回 nil 并且不输出任何其他内容。编译一切似乎就是这样做的——它会编译,如果找到错误就会显示错误,但不会改变我的命名空间。最奇怪的是\C-~(同步包和目录),它使用 Common Lisp 完成了我想要的,但在这里它永久冻结了 clojure REPL。

始终可以选择切换到 REPL,键入(in-ns 'my.namespace),然后一切正常。但是当 clojure 文件的数量越来越多时,这根本不够实用(因为代码缓冲区的命名空间不会自动更改!)

那么,我的问题是,我是否缺少基本的命令/配置——或者是否有明显的原因导致这种行为发生。

0 投票
4 回答
648 浏览

clojure - 'lein swank' 等价于其他带有 emacs/slime 的 Lisp/Scheme 实现

我一直在使用 emacs/slime 来编码 lisp,但是使用 Clojure 我发现了 'lein swank'。我必须说它非常有用,因为我可以连接到运行 clojure 的服务器。

其他 Lisp 实现怎么样?哪些 Lisp 实现在 Clojure 中提供了相当于“lein swank”的功能?我的意思是,是否有任何其他提供服务器连接的 Lisp 实现,以便我使用“Mx slime-connect”,而不仅仅是“Mx slime”?

0 投票
2 回答
535 浏览

emacs - 为什么 clojure 在没有任何设置的情况下为我的 Aquamacs 以“Mx slime”开头?

我的 Mac 上运行着 Aqu​​amacs。

为 Aquamacs 安装了 ESK,它在 ~/.emacs.d/elpa 安装了 ELPA。使用 ELPA,我安装了 clojure-mode/clojure-est-mode/slime/slime-repl/swank-clojure。

问题是当我运行“Mx slime”时,clojure 就会运行。为什么是这样?我很好奇,因为我的 .emacs 甚至 /Users/smcho/Library/Preferences/Aquamacs Emacs/{Preferences.el,customizations.el} 中都没有任何粘液设置。我的意思是,我没有 (setq lower-lisp-program "clojure") 或其他东西。

或者,它与我的“swank-clojure”安装有关吗?我在inferior-lisp缓冲区中看到了类似的东西。

0 投票
4 回答
2759 浏览

emacs - “swank-clojure”到底做了什么,我们有“swank-SOMETHING_ELSE”吗?

我肤浅的理解是“swank-clojure”使“Mx slime-connect”成为可能。我的意思是,它提供了与 clojure 服务器的连接,例如“lein swank”。我的理解正确吗?如果不是,swank的目的是什么?

那么,对于其他类似 lisp 的实现,是否有任何“swank-SOMETHING_ELSE”?例如,swank-clisp?

我是否需要 'swank-clojure' 才能将 SLIME/Clojure 与 'Mx slime' 一起使用?

添加

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

0 投票
2 回答
98 浏览

lisp - 变量 *、+ 和 / 是否绑定到 SLIME 或 Clozure CL 中的最近输入?

当我发现这个时,我在 SLIME(连接了一个 Clozure REPL)中搞砸了:

看起来变量 +、* 和 / 都绑定到最近输入的某些变体,+ 是输入本身,* 是评估该输入的结果,而 / 是包含在列表中的结果。

这是正确的吗?谁对此负责,SLIME 还是 Clozure?我在 SLIME 手册中找不到任何内容。

谢谢!

0 投票
2 回答
1303 浏览

emacs - SLIME 是否有快捷键可以在 slime 模式下注释 Lisp 代码块?

我宁愿不必手动为每一行添加分号。

眼镜:

Aquamacs 2.1 (Emacs 23.2)

史莱姆 2010-11-16

MacPorts CLISP 2.49

Mac OS X 10.6.4

MacBook Pro 5,1

0 投票
1 回答
5871 浏览

namespaces - 在 clojure 中,如何从命名空间中取消定义 var?

在 clojure 中,我有这样的行来定义默认值:

我现在决定将这些类型的值形式化为一个配置单元,并且我想取消定义该值*http-port*,以便我可以找到仍然引用该值的位置并将它们更改为使用新值。换句话说,我正在通过将值移动到不同的位置来进行重构。

我一直这样做的方式是退出粘液并尝试重新启动粘液会话。在 maven 的编译阶段,会发现类似这样的错误,我可以一次找到并修复一个参考。然后我修复错误,冲洗并重复。这显然令人沮丧。

连接到粘液会话时我将如何执行此操作?

0 投票
1 回答
541 浏览

emacs - 当我的 Common Lisp 代码语法稍有错误时,SLIME/SWANK 崩溃

如果我省略了一个结束括号,或者使用了错误的字符串转义字符,或者考虑了 Haskell,就会发生这种情况:

1) Minibuffer 错误信息

2) SLIME 停止工作。

3)inferior-lisp错误信息:

使用 Mx slime 重新启动 SLIME,然后使用 Cc Ck 重新编译我的代码会产生相同的错误。所以是的,我尝试将其关闭然后再打开。

眼镜:

Aquamacs 2.1 (Emacs 23.2)

Aquamacs 史莱姆

MacPorts CLISP 2.49

Mac OS X 10.6.4

MacBook Pro 5,1