问题标签 [swank-clojure]

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 回答
295 浏览

emacs - 无法向 SLIME 发送有趣的字符

尽管我在任何地方都设置了 UTF-8(在我的lein项目中,slime-lisp组自定义,Emacs 缓冲区本身......),但在尝试运行以下代码时,我不断收到此错误(def beta "β")

例如,仅在 Emacs 中发生,而不是在lein repl从命令行运行时发生。

可能是什么原因造成的?我正在使用 Ubuntu,如果这有什么不同的话。

0 投票
2 回答
323 浏览

clojure - 带有 swank clojure 和崩溃恢复能力的“热交换”代码

我一直在用 clojure 开发游戏,而我一直非常兴奋的一件事是代码中的热交换。

我一直在使用带有lein-swank插件的 swank clojure 和 emacs。

我的主要问题是错别字。假设我更新了一个函数,犯了一个小错误,然后按 Ctrl-C Ctrl-C 将其发送到 REPL:

(if (> (rand) .5) (println "yay") (println "boo"))

(我应该写0.5,不是.5。)

在那种情况下,整个程序只会崩溃和烧毁,我需要重新启动整个程序。热插拔很棒,但如果我连一个小错误都不能犯,那又有什么意义呢?

那么这里的工作流程到底是什么?我错过了什么吗?或者有没有办法让 swank clojure 对这些小错误更有弹性?(我想最好的办法就是重置到以前的工作状态,尽管这可能有点困难。)

谢谢!

0 投票
2 回答
1163 浏览

clojure - 动态导入依赖?

是否可以将新内容添加到类路径(例如编辑 project.clj 和 running lein deps),然后将其导入现有的 Clojure 会话?

也就是说,无需断开连接然后再次连接。

0 投票
2 回答
3570 浏览

clojure - Emacs 中的 Datomic 和 Clojure 入门

我的 project.clj 文件看起来像这样

我的 /src/cljs_template/server.clj 开头如下:

然后我启动 swank,在其中运行 (in-ns 'cljs-template.server),将光标移动到 (ns) 函数调用的末尾,并尝试使用 Ctrl-x Ctrl- 运行 (ns) 方法e. 当我这样做时,我收到以下错误。

然后我按 0 关闭堆栈跟踪,然后在 (ns) 调用上再次按 Ctrl-x Ctrl-e,现在我的错误是:

我究竟做错了什么?如何使用 swank/slime 在我的 emacs 中进行 datomic 工作。

0 投票
0 回答
81 浏览

emacs - 重置emacs中的swank

让我描述一下我在 emacs 中遇到的问题。

我使用 clojure-jack-in 开始了 swank。由于某种原因我不得不杀死它,并使用 Mk 杀死了 swank(我不知道是否有更好的方法来关闭它)。

然后我开始了 suber-lisp 模式,它实际上具有与上面相同的键绑定。但是现在当我评估代码时,它显示“未连接”,因为它仍在寻找以前的 swank 服务器。

如何在不重新启动我的 emacs 的情况下重置它?

谢谢,穆尔塔萨

0 投票
1 回答
383 浏览

emacs - 如何同时启动低级 lisp 和 swank

我正在做 clojure 和 clojurescript 开发。我通常通过 clojure-jack-in 函数启动 clojure,并通过以下函数启动 clojurescript repl -

clojure-jack-in 开始 swank 而上面的函数开始了 lisp。但是,它们都具有相同的键绑定。如何更改键绑定以同时使用它们?

谢谢,穆尔塔萨

0 投票
1 回答
625 浏览

clojure - 在粘液中加载新的依赖项?

我正在使用 emacs 和 swank-clojure。如何解决以下情况 -

  1. 我在 project.clj 中添加了一个新的依赖项。
  2. 我在 shell 中运行 lein deps 以获取新的 dep。
  3. 我有一个现有的 slime 会话已打开,并且想要使用新 dep 中的功能。

如何让现有的 slime 会话加载新的依赖项?

谢谢,穆尔塔萨

0 投票
1 回答
177 浏览

clojure - 如何在 swank 中自动从 project.clj 加载新的依赖项

我在 emacs,swank-clojure 工作。我使用 clojure-jack-in 开始我的 repl。但是,当我向我的 project.clj 添加新依赖项时,repl 中没有该依赖项。

1)当 project.clj 发生变化时,有没有办法在 swank 中自动加载新的依赖项?

2)还有什么是终止swank服务器的干净方法?目前我只是杀死缓冲区。

谢谢,穆尔塔萨

0 投票
1 回答
353 浏览

clojure - lein ritz 设置错误

我正在尝试设置 ritz/lein/emacs 等来创建 clojure 开发环境。

我安装lein plugin install lein-ritz "0.5.0"并将其添加到我的项目文件中。尝试时出现lein ritz此异常:

arash@azure:~/programming/onebreaker$ lein ritz 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java: 57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:601) at jline.ConsoleRunner.main(ConsoleRunner.java:69) 原因: java.io.FileNotFoundException: 找不到 leiningen/core/eval_类路径上的 init.class 或 leiningen/core/eval.clj: (ritz.clj:1) at clojure.lang.Compiler.eval(Compiler.java:5440) at clojure.lang.Compiler.eval(Compiler.java:5415 ) 在 clojure.lang.Compiler.load(Compiler.java:5857) 在 clojure.lang.RT.loadResourceScript(RT.java:340) 在 clojure.lang.RT.loadResourceScript(RT.java:331) 在 clojure.lang .RT.load(RT.java:409) 在 clojure.lang.RT.load(RT.java:381) 在 clojure.core$load$fn_4519.invoke(core.clj:4915) at clojure.core$load.doInvoke(core.clj:4914) at clojure.lang.RestFn.invoke(RestFn.java:408) at clojure.core$load_one.invoke(core .clj:4729) at clojure.core$load_lib.doInvoke(core.clj:4766) at clojure.lang.RestFn.applyTo(RestFn.java:142) at clojure.core$apply.invoke(core.clj:542)在 clojure.core$load_libs.doInvoke(core.clj:4800) 在 clojure.lang.RestFn.applyTo(RestFn.java:137) 在 clojure.core$apply.invoke(core.clj:542) 在 clojure.core$ require.doInvoke(core.clj:4881) at clojure.lang.RestFn.invoke(RestFn.java:408) at leiningen.core$resolve_task.invoke(core.clj:208) at leiningen.core$apply_task.invoke(core .clj:258) 在 leiningen.core$_main.doInvoke(core.clj:329) 在 clojure.lang.RestFn.invoke(RestFn.java:410) 在 clojure.lang.AFn。applyToHelper(AFn.java:161) at clojure.lang.RestFn.applyTo(RestFn.java:132) at clojure.core$apply.invoke(core.clj:542) at leiningen.core$_main.invoke(core.clj :332) at user$eval42.invoke(NO_SOURCE_FILE:1) at clojure.lang.Compiler.eval(Compiler.java:5424) at clojure.lang.Compiler.eval(Compiler.java:5391) at clojure.core$eval .invoke(core.clj:2382) at clojure.main$eval_opt.invoke(main.clj:235) at clojure.main$initialize.invoke(main.clj:254) at clojure.main$script_opt.invoke(main. clj:270) at clojure.main$main.doInvoke(main.clj:354) at clojure.lang.RestFn.invoke(RestFn.java:457) at clojure.lang.Var.invoke(Var.java:377) at clojure.lang.AFn.applyToHelper(AFn.java:172) 在 clojure.lang.Var.applyTo(Var.java:482) 在 clojure.main.main(main.java:37) ...还有 5 个原因:java.io.FileNotFoundException: 找不到 leiningen/core/eval_类路径上的 init.class 或 leiningen/core/eval.clj:在 clojure.lang.RT.load(RT.java:412) 在 clojure.lang.RT.load(RT.java:381) 在 clojure.core$load $fn _4519.invoke(core.clj:4915) at clojure.core$load.doInvoke(core.clj:4914) at clojure.lang.RestFn.invoke(RestFn.java:408) at clojure.core$load_one.invoke (core.clj:4729) at clojure.core$load_lib.doInvoke(core.clj:4766) at clojure.lang.RestFn.applyTo(RestFn.java:142) at clojure.core$apply.invoke(core.clj: 542) 在 clojure.core$apply.invoke(core.clj:542) 在 clojure. core$require.doInvoke(core.clj:4881) at clojure.lang.RestFn.invoke(RestFn.java:436) at leiningen.ritz$eval68$loading_ 4414_auto____69.invoke(ritz.clj:1) at leiningen.ritz$eval68.invoke(ritz.clj:1) at clojure.lang.Compiler.eval(Compiler.java:5424) ... 44 更多

你能帮我解决这个问题吗?