This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2018-04-12
Channels
- # beginners (47)
- # boot (5)
- # bristol-clojurians (1)
- # cider (45)
- # clara (2)
- # cljs-dev (11)
- # cljsrn (47)
- # clojure (169)
- # clojure-brasil (2)
- # clojure-dusseldorf (22)
- # clojure-finland (1)
- # clojure-italy (9)
- # clojure-nl (3)
- # clojure-poland (2)
- # clojure-russia (4)
- # clojure-spec (79)
- # clojure-uk (105)
- # clojurescript (59)
- # core-async (41)
- # cursive (31)
- # datomic (10)
- # devcards (1)
- # duct (6)
- # editors (9)
- # emacs (12)
- # figwheel (1)
- # fulcro (50)
- # java (4)
- # mount (1)
- # off-topic (47)
- # onyx (33)
- # pedestal (1)
- # protorepl (1)
- # re-frame (32)
- # reagent (45)
- # ring-swagger (6)
- # shadow-cljs (100)
- # tools-deps (6)
- # uncomplicate (27)
- # vim (3)
Waiting for the Travis build to go green but https://github.com/clojure-emacs/cider-nrepl/pull/517 should be ready to go
@arrdem I think that’d be best. As I mentioned in the ticket that’s going to be our final release supporting Java 7 anyways. No need to support a JDK which almost no one is using.
As a server == something akin to using https://github.com/facebook/nailgun ? You’re looking to reduce the time it takes to spin the JVM, right?
It looks like technomancy has something for this - https://github.com/technomancy/grenchman which does at least some of what I'm after.
Been thinking about ways to do amortize lein's project loading over many task runs - the midldleware we use at work can make it pretty slow so having an nREPL that can persist a fully evaluated project state for many commands could speed things up a bit.
Yeah I remember using vim-clojure's nailgun whatever when I was first getting started.
I think that alternatively you can defer the loading of your middleware as cider-nrepl
does - all middlewares start life as dummies and the real code gets loaded the first time a middleware op gets invoked.
hummm is there prior art in CIDER right now for features with JVM or library requirements?
@bhauman Yeah, tools like rebel-readline
are prime candidates to share such functionality. Same goes for REPL-y, and every REPL client that bases its functionality on inspecting running REPL state, instead of some static code analysis (like Cursive does).
@arrdem The clojure.spec support does something similar - it creates a couple of dummy functions in case the real ones don’t exist. I’m guessing in your case you dynamically require problematic class and that should be OK. I’m not very familiar with the refactor-nrepl
codebase, so I can’t speak for it.
You can also disable tests on 1.7 using a test selector, which might be acceptable as well and would move the version check to the client.
@bozhidar how do you feel about adding a dependency on org.apache.commons.codec.binary.Base64 or something else from the Apache commons collection?
I've got an if-class
macro all wired up which "solves" the 1.7 compat issue the way you'd expect
In general I’m wary of adding a dependency to account for compatibility with barely used JDK - if more people were on 1.7 I’d be fine with this.
But if this library is small I can live with adding it for one release and dropping it afterwards.
Updated the patchset to return an {:error "\
java.util.Base64\` is unavailable, \`slurp\` op is disabled"}` response
the CIDER side of this is gonna get a little more interesting because it has to do a second nREPL op to get the image content now, but that's doable.
I was offline for a few days for the Easter holidays and I now it seems I’ve got a lot of catching up to do. 😄 Spending a few days in a remote Ukrainian village without Internet was definitely refreshing!
nice! I got to spend a couple days down at gramas for the first time in several years which was lovely. Rich may be on to something with all this hammock time talk 😉
He certainly is! I confirm this every time when I spent an entire night not being able to figure something out and they after sleeping on it I come up with a much better approach in like 10 minutes. 😄
I think many OSS projects are pretty messed up mostly because the only time you have for them is after work when your mind is not fresh and creative. And of course then you’re fine with cutting all sorts of corners.
This is better than coming from work and not having the mental energy to touch a damn thing lol.
> And of course then you’re fine with cutting all sorts of corners. Ironically, this hurts you the next day at work when you use the OS products! 😆