unrepl

discussing specification of an edn-based repl and its implementations.
volrath 2017-11-19T14:15:31.000049Z

side-loading works like a charm.. if anyone is interested, here's the core of the implementation in emacs lisp https://github.com/volrath/unrepl.el/blob/master/unrepl-loop.el#L321-L354

volrath 2017-11-19T14:17:55.000012Z

in the gif you can see that the classpath can be dinamically updated, I edit it using ielm (elisp repl) and try again, making it work

dominicm 2017-11-19T14:33:29.000081Z

I need to figure out if an edn client in vimscript is a good idea or not, and how I can hook up a network interface.

cgrand 2017-11-19T14:42:01.000014Z

@volrath looking at the commits, you started from scratch (except for parseclj)

cgrand 2017-11-19T14:42:39.000048Z

Would you be interested in joining the unrepl org?

volrath 2017-11-19T14:52:43.000057Z

@cgrand that's right I started from scratch. and yes, let's put it in the unrepl org.. what do I have to do?

cgrand 2017-11-19T15:28:18.000058Z

I invited you to be a member of the org. In your project settings in the « danger zone » there’s « transfer ownership ».

volrath 2017-11-19T15:32:12.000004Z

perfect

cgrand 2017-11-19T15:39:36.000024Z

This week I’ll update unrepl and specifically the blob building task to ease custom blob generation.

cgrand 2017-11-19T15:40:21.000019Z

@volrath thanks for the transfer, welcome aboard!

👍 1
cgrand 2017-11-19T16:18:10.000073Z

@volrath did you have looked at unravel code for some unrepl features?

volrath 2017-11-19T16:38:52.000088Z

I based the side-loader implementation on your work on unravel

richiardiandrea 2017-11-19T19:35:07.000029Z

For custom blob generation, does it mean, given projects -> chain namespaces in a blob? If yes I have that already somewhere :)

richiardiandrea 2017-11-19T19:37:16.000057Z

I might have time next week to put it somewhere, it is using boot and a custom boot tasks for fetching deps...and squeeze them together after toposorting

cgrand 2017-11-19T19:37:30.000024Z

No it’s not that. No overlap.

👍 1
richiardiandrea 2017-11-19T19:54:26.000038Z

Just completeness, I finally put the work or a while ago in a gist: https://gist.github.com/arichiardi/b718d51e735b4d8d046440a031fc86c0

cgrand 2017-11-19T20:11:40.000088Z

Do you perform renaming?

cgrand 2017-11-19T20:17:19.000038Z

To summarize the current situation: the sideloader enables lazy loading of namespaces and thus allows to keep the blob small. So blob generation is not a priority — except if you have a target where sideloading is not possible.

cgrand 2017-11-19T20:18:01.000048Z

What I’m going to push this week is blob customization not generation.

cgrand 2017-11-19T20:21:38.000022Z

That’s why I tongue-in-cheekly said blobs were so yesterday.

cgrand 2017-11-19T20:57:23.000071Z

Monolithic blobs are not on the common path anymore – if the sideloading approach works well in practice.

cgrand 2017-11-19T20:59:45.000070Z

So my plan is: 1/ introduce blob customization 2/ use it for unravel completion-as-an-extension

cgrand 2017-11-19T21:00:58.000075Z

Plus now thanks to @volrath we have two clients that supports sideloading.

cgrand 2017-11-19T21:02:07.000006Z

@richiardiandrea what’s your opinion?

richiardiandrea 2017-11-19T21:12:23.000032Z

@cgrand I like the sideloading idea better, yeah, it feels less error prone, I still need to read a bit more about what goes into the wire but yeah, my task is basically obsoleted by that

richiardiandrea 2017-11-19T21:15:25.000053Z

I saw @volrath nice demo and I noticed that he is using the full path to the jar for now, but of course a simple transformation from edn coordinate to .m2 path is totally doable. Editors/clients could use the new clj tool for resolution instead of my task so that's all way better compared to the blob concatenation approach