chlorine-clover

About Chlorine for Atom and Clover for VS Code: https://atom.io/packages/chlorine and https://marketplace.visualstudio.com/items?itemName=mauricioszabo.clover
seancorfield 2019-03-17T00:53:35.025400Z

@mauricio.szabo Have you given any more thought to using prepl if available and falling back to unrepl only if needed?

2019-03-17T02:24:32.026500Z

@mauricio.szabo i tried after git pull -- forgot to run scripts/setup, but i no longer see #unrepl/browsable 🙂

2019-03-17T02:25:34.027500Z

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?

mauricio.szabo 2019-03-17T19:44:51.048300Z

Incredible, I was searching about prepl and I found exactly that extension, with your comment on a gist :)

🙂 1
seancorfield 2019-03-17T03:58:40.028Z

@sogaiu REBL uses prepl.

2019-03-17T03:59:41.028400Z

ah, didn't know, thanks!

seancorfield 2019-03-17T04:07:06.030400Z

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 🙂

2019-03-17T05:30:12.034600Z

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...

mauricio.szabo 2019-03-17T18:14:25.036700Z

@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.

mauricio.szabo 2019-03-17T18:15:19.038100Z

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

mauricio.szabo 2019-03-17T18:41:54.040900Z

@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

👍 1
mauricio.szabo 2019-03-17T19:08:52.045700Z

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.

mauricio.szabo 2019-03-17T19:09:48.046800Z

(and that's the reason why the indentation of child objects of taggable ones is kinda strange right now :))

2019-03-17T22:45:54.052800Z

@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.

2019-03-17T22:48:03.053300Z

there's also the initial commit adding prepl and friends to clojure: https://github.com/clojure/clojure/commit/86a158d0e0718f5c93f9f2bb71e26bc794e7d58e