This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2017-07-29
Channels
- # aleph (2)
- # bangalore-clj (1)
- # beginners (9)
- # boot (18)
- # clara (3)
- # cljs-dev (21)
- # cljsjs (2)
- # clojure (137)
- # clojure-spec (2)
- # clojurescript (65)
- # clr (1)
- # copenhagen-clojurians (11)
- # core-async (20)
- # datascript (3)
- # lein-figwheel (1)
- # leiningen (4)
- # luminus (4)
- # lumo (1)
- # off-topic (38)
- # onyx (1)
- # parinfer (4)
- # pedestal (9)
- # protorepl (8)
- # re-frame (4)
- # reagent (92)
- # ring-swagger (2)
- # rum (1)
- # unrepl (40)
- # vim (16)
- # yada (1)
I was able to get it to start in < 0.9s using uberjars & some JVM options. I understand it can go down to 0.4 with the right incantation.
The startup time is not bad per Se, the problem is that at some point you will need to require the core ns of you app and that will take a while. From my tests it is average 15s to load a repl in your core ns directly. No nrepl.
1s is fantastic
Are we talking about nrepl server or nrepl client startup? If it is one second for nrepl server + middleware then I am surprised 😄
oh I thought we were talking about the Socket Server
@richiardiandrea just had a chance to try your branch - works well for me!
do you have any examples for me to try where Compliment completions are superior to the simple-minded approach we took before?
@pesterhazy I have put all the options there but left it unconfigured basically. The plan is to follow what cider does and use the :context
param to get locals completions
We could also take away the plain suggestion switch (which is now there) and display namespace and meta info nicely
Released a new unravel version: https://github.com/pesterhazy/unravel#022 -- let me know if it works (especially installation via npm install -g unravel-repl
)
I will try it out, great!
Ahah I joined
@cgrand is there a way to move a repo to an org?
I think so (in project settings) but can't confirm at the moment (unloading the car, back from holidays)
nice, happy to do that for unravel
So for the munging, should the blob contain a preamble of nses it wants to load? My task could generate that easily (in order) because I am already using tools.namespace
on the files
@richiardiandrea what is the purpose of this preamble?
I was thinking unrepl would need to know (and store in the state) a map of munged to unmumged unmunged to munged namespaces so that if the client wants to evaluate compliment.core/completions
it can use the munged ns instead.
Alternatively each blob handles his own message, still need to read how this is handled now in unrepl
But then the blob becomes stateful I guess?
> if the client wants to evaluate compliment.core/completions
it can use the munged ns instead.
User code or client code? I think client code should avoid direct calls.
@cgrand what is the alternative to direct calls? (Sorry if I am repeating something)
So a middle ground is to have blobs that mostly register actions and action handlers that require ns and call actual lib. So loading of the lib is postponed until first use.
The whole actions story mostly makes sense to ease sharing (stealing?) of features between clients.
Agree that I foresee a mix between server side and client loading
One question is: do server loading occurs from the server? (The server can be heavily firewalled and can't access clojars or a private repo, let alone you local file system)
But we need a good story there
Good extension story I mean