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
mauricio.szabo 2020-05-01T18:26:10.312300Z

I am thinking on adding one more option to Chlorine - to not use any "helper" for evaluation (for example, Clojure will not use "unrepl" as its using now, for example).

mauricio.szabo 2020-05-01T18:26:47.313100Z

I'm also having trouble with UNREPL and I want to change the way I'm evaluating code

mauricio.szabo 2020-05-01T18:30:00.316200Z

So, I'm thinking about a "simple way" that does not support "break", and a more complex one that does. This can solve the current issues with UNREPL (when I evaluate something and it breaks everything, so the only choice is to reconnect Chlorine) and also guarantee for users that connect Atom on sensible environments that there'll be no code injection happening at all, even things that only bind local variables (that's what UNREPL is doing right now). WDYT?

1👍
vlaaad 2020-05-01T18:41:59.317300Z

I don't use chlorine, so my opinion in this question might not be worth much, but it will allow tools like Reveal to integrate nicely with chlorine!

seancorfield 2020-05-01T18:43:45.318600Z

@mauricio.szabo I'd be perfectly happy with that -- you know my feelings on injection, since I connect Chlorine to production processes 🙂 I think I've only ever needed to "break" an eval once in all the time I've been using Chlorine.

mauricio.szabo 2020-05-01T21:06:01.319900Z

@vlaaad what are the primary pain points to integrate Reveal with Chlorine now?

mauricio.szabo 2020-05-02T22:39:44.330200Z

Ahh, ok! I understood! Yes, it'll probably make things better. The only issue I can see is that Chlorine will probably wrap the command to evaluate in a complicated blob to be able to capture results, but I think you'll be able to ignore the extra info 🙂

mauricio.szabo 2020-05-01T21:06:35.320600Z

Also, why unrepl is blocking this integration?

mauricio.szabo 2020-05-01T21:29:48.323800Z

@seancorfield yeah, I imagine you would like that 😄. The main reason for this decision is also to have a simpler tooling that will work 99% of the time (and maybe fail 1% because of parallel execution or other things that can happen). Probably not too hard to implement, just a little tricky 🙂

seancorfield 2020-05-01T21:58:56.324800Z

I've updated my Atom/Chlorine Setup https://github.com/seancorfield/atom-chlorine-setup to include a ClojureDocs for var command, and added all the keymap to the README with a brief explanation.

seancorfield 2020-05-01T21:59:38.325700Z

(this relies on being able to display web pages inline in Cognitect's REBL and navigate between links 🙂 -- I already had JavaDocs integrated)

seancorfield 2020-05-01T22:00:45.327Z

REBL understands that (<http://java.net|java.net>.URL. "<https://domain.com/web/page>") should be rendered as HTML -- Stu Halloway demo'd that when he launched REBL at Conj 2018 but I don't know how many folks know it's possible.

seancorfield 2020-05-01T22:01:40.327900Z

When I'm developing web apps in Atom/Chlorine+REBL, I use that trick to display the app in REBL, side-by-side with Chlorine.

mauricio.szabo 2020-05-01T22:04:19.328400Z

Well, it almost works with the new "interactive renderer" 😄

mauricio.szabo 2020-05-01T22:04:49.329300Z

It can't parse the CSS, obviously, so this happens...