@mauricio.szabo Have you given any more thought to using prepl
if available and falling back to unrepl only if needed?
@mauricio.szabo i tried after git pull -- forgot to run scripts/setup, but i no longer see #unrepl/browsable 🙂
mmm, prepl sounds nice 🙂 on a side note, i've come across one editor extension for neovim that's using it -- anyone see it being used elsewhere?
Incredible, I was searching about prepl and I found exactly that extension, with your comment on a gist :)
@sogaiu REBL uses prepl
.
ah, didn't know, thanks!
I use REBL every day. I start up REBL and use JVM options to get it to start a Socket REPL as well. Then I connect Chlorine to that. And the inspect
functions in Chlorine let me evaluate forms from Atom and send them into REBL's visualization panes 🙂
yes, i've used your inspect functions -- thanks for them 🙂 i've been happily using REBL when i'm working with jvm clojure, but since there doesn't appear to be source for REBL and it appears to only work for jvm clojure, for cljs i've been trying punk, and am struggling to get that working with clojure clr. i wonder if there are any other efforts on the inspection-of-data-using-datafy-nav front...
@seancorfield I would need to analyze it a little better. For now my focus was on rewriting the results renderer, and probably I'll look into better support for ClojureScript support.
Does prepl works on cljs? Also, is there any project that uses it, or any documentation about it? I would like to try and see how it works
@sogaiu unrepl now supports inspection using datafy and nav (these were the "browseable" erros you found). One of the reasons I'm re-writing the renderer is to support these datafy-able objects
The old renderer tries to render "all at once". The newer one is specialized for each kind of object. For example, rendering tags on the old renderer had to analyze the sub object to see if it was a collection, a class, etc. The newer one just renders the tag then delegates to the object.
(and that's the reason why the indentation of child objects of taggable ones is kinda strange right now :))
@mauricio.szabo i made a toy implementation of a prepl-supporting repl for emacs last night so i know enough to be dangerous now 🙂 may be you figured it out already, but fwiw, one can just start an io-prepl and then connect to it via telnet or nc or whatever and just start sending it forms to examine how it behaves. for jvm, the following should start a socket-based prepl:
clj -J-Dclojure.server.jvm="{:port 7650 :accept clojure.core.server/io-prepl}"
then just:
nc localhost 7650
iirc, @seancorfield's nice deps.edn has an alias for starting prepls too.
as for javascript, i didn't try that yet, but iiuc the instructions you found already at: https://gist.github.com/Olical/8ddc726c41112be5eb450b12954d81f0#user-content-starting-your-prepl give some hints.there's also the initial commit adding prepl and friends to clojure: https://github.com/clojure/clojure/commit/86a158d0e0718f5c93f9f2bb71e26bc794e7d58e