unrepl 2017-07-25

just to give a bit of context around why I would use compliment for completions: https://github.com/alexander-yakushev/compliment/wiki/Examples

@richiardiandrea is it possible to squish all of it into a blob?

All clojure can go in a blob right? something something the network something something lisp machines

the compilment project's project.clj is very encouraging - it's essential empty

we should probably think about a lein/boot little thing to create blobs 😄

I did something back in the days for collecting source files for bootstrapped cljs: https://github.com/Lambda-X/boot-pack-source

do not if it can work, will try for sure

we also need gensym'ed namespaces for isoluation

yeah...that is true

I wonder if https://github.com/typedclojure/mranderson code can come in handy as well

The more I think of it, the more I like the idea of a boot-unrepl lib containg basically only the adapted code from the Christoper above that concatenates the blob, it would be also a good idea so that we can test how slow the bootstrap of complicated things is. I hope I will have some time soon.

Also the gensym thing can be actually a problem in case of compliment: we cannot then use the gensym-ed namespace from tooling

The blob could do some self-check in order to be able to detect if the namespace is already required server side...and avoid doing the eval if positive

that'd be cool, though what about different concurrent blobs included at the same time?

unrepl.el using v1, unrepl.vim using v2

an unrepl extension could provide access to the compliment api by providing forms in the hello

essentially wrap the blob'ed api in something consistent for that particular repl session

cool idea too, it complicates things a bit because now you need to wrap eval so that it reads namespace mappings from the state (if I understand the idea correctly)

Not sure how clients are looking. But I was thinking you would reach into the :unrepl/hello to find the functions you want from compliment.

in any case yes, it looks like the extension model needs to be per session if we want to send different blobs per client, did not think about that

Things to note about the current implementation: • gensyms are static • they should not be random but content-dependent so as to reflect a whole configuration.

So more hashsyms than gensyms.