unrepl 2017-11-19

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

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

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.

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

Would you be interested in joining the unrepl org?

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

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

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

@volrath thanks for the transfer, welcome aboard!

👍 1

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

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

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

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

No it’s not that. No overlap.

👍 1

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

Do you perform renaming?

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.

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

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

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

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

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

@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

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