This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2018-02-26
Channels
- # aleph (2)
- # aws-lambda (18)
- # beginners (81)
- # boot (3)
- # cider (25)
- # cljs-dev (274)
- # cljsjs (10)
- # clojars (25)
- # clojure (65)
- # clojure-austin (1)
- # clojure-brasil (2)
- # clojure-dev (33)
- # clojure-dusseldorf (6)
- # clojure-gamedev (3)
- # clojure-italy (17)
- # clojure-poland (3)
- # clojure-russia (7)
- # clojure-spec (48)
- # clojure-uk (45)
- # clojured (1)
- # clojurescript (26)
- # core-logic (2)
- # data-science (4)
- # datascript (6)
- # datomic (58)
- # defnpodcast (2)
- # docker (1)
- # duct (14)
- # figwheel (2)
- # fulcro (130)
- # graphql (3)
- # leiningen (1)
- # liberator (15)
- # luminus (5)
- # nrepl (1)
- # numerical-computing (1)
- # off-topic (45)
- # onyx (15)
- # re-frame (9)
- # reagent (3)
- # ring (1)
- # shadow-cljs (91)
- # spacemacs (8)
- # sql (23)
- # unrepl (38)
- # videos (2)
- # vim (12)
Ok, over the weekend I’ve worked on simplifying blob generation. The resulting blob is easier to read (for a human) and I guess the generator is easier to understand too.
The load
logic: https://github.com/clojure/clojure/blob/3d9b356306db77946bdf4809baeb660f94cec846/src/jvm/clojure/lang/RT.java#L429
summary:
1/ find resources for the class and a source file (clj or else cljc)
2/ if .class
is strictly more recent (or not found) then try to load it as a class [Comment #1]
3/ if sucess done
4/ if there was a source file, load it
[Comment #1] great it means that classes go over the network twice, once for the timestamp (that we don’t provide and time is relative) once for actual loading [AOT sucks]
It may explain why @gcast find loading libs through the network super slow (iirc you wree loading from an AOT compiled uberjar, no?)
If anyone is looking for a project: mix https://github.com/djpowell/liverepl and unrepl
@dominicm The code is now online. But it doesn't work, yet. Only manually sending stuff. And appending (part of) the response to the current buffer.
Vim (and a lot of other languages, I fancy) doesn't have lists and vectors. Similar for symbols. So I had to introduce quite a bit of magic tagging to make these identifyable.
For normal data it might not be that of a big deal. You loose a bit. But for code things are not that easy. You mustn't loose info.
I think that @pesterhazy had to do some tagging even with cljs.
It should work for most. Eg. for doc lookup or macro expansion, one should not find a difference.
It seems the internet delivered already on the latter. Although I always read "python". shiver