Fork me on GitHub
#unrepl
<
2017-07-25
>
richiardiandrea10:07:04

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

pesterhazy10:07:47

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

dominicm10:07:53

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

pesterhazy10:07:36

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

richiardiandrea10:07:23

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

richiardiandrea10:07:16

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

richiardiandrea10:07:26

do not if it can work, will try for sure

pesterhazy11:07:26

we also need gensym'ed namespaces for isoluation

richiardiandrea11:07:48

yeah...that is true

richiardiandrea13:07:27

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.

richiardiandrea13:07:04

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

richiardiandrea13:07:13

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

pesterhazy14:07:42

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

pesterhazy14:07:04

unrepl.el using v1, unrepl.vim using v2

dominicm14:07:22

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

dominicm14:07:48

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

richiardiandrea14:07:01

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)

dominicm14:07:27

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.

richiardiandrea15:07:08

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

cgrand20:07:57

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.

cgrand20:07:05

So more hashsyms than gensyms.