2024年Clojure状态调查!中分享你的想法。

欢迎!请查看关于页面以了解更多关于这个工具的信息。

+7
REPL

我一直在使用nrepl,但那与用clojure.main/repl创建"子REPL"不兼容。我现在使用套接字REPL,并且非常喜欢现在子REPL再次可以使用了。我主要只是做简单的调用

(clojure.main/repl
 :prompt (fn [] (printf "%s=> " (peek (str/split (str *ns*) #"\."))))
 :read server/repl-read)

人们用子REPL做了些什么?创建评估历史文件?将形式扔到数据库中?非常想了解。

5 答案

+1

这是连接到clojure.main/repl的HTTP代码(类似于nrepl的drawbridge)的一些未完成代码。

wrap-repl是一个ring处理程序。然后在一个普通的clojure.main/repl中调用http-repl,并将其连接到远程REPL。

我相信代码的通信部分都已存在,缺少的部分是关于通过签名请求来安全地访问REPL。

https://gist.github.com/hiredman/86aeb916b478d9e57cbce8e0e678babd

+1
0

0

(clojure.main/repl
  :caught (fn [e] (fipp.repl/pst e))
  :print  (fn [x] (fipp.edn/pprint x)))
0

...