This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2018-11-11
Channels
- # beginners (104)
- # boot (14)
- # cider (10)
- # clojure (38)
- # clojure-australia (3)
- # clojure-dev (11)
- # clojure-spec (8)
- # clojurebridge (2)
- # clojurescript (50)
- # core-async (118)
- # emacs (3)
- # expound (2)
- # fulcro (39)
- # jobs (3)
- # jobs-discuss (17)
- # kaocha (2)
- # lumo (1)
- # off-topic (16)
- # onyx (1)
- # re-frame (1)
- # reitit (24)
- # shadow-cljs (14)
- # sydney (1)
- # tools-deps (14)
- # yada (1)
here: https://github.com/clojure/clojure/blob/a1722cf9a15d917ee78a117732cf5c5e01fe3557/src/jvm/clojure/lang/Compiler.java#L7138 though I just found out I may have misanalyzed under what circumstances this code gets used
yeah, a debug print in your own copy of Clojure and running a REPL would probably help
just compiling clojure causes that line to run 6575 times
doing (require 'foo)
when src/foo.clj
is a namespace with two or three functions causes the line to run about a hundred times
I have noticed before that, at least under nREPL, every time you eval a form the chain of classloaders has gotten one extra classloader attached to it. (by chain I mean following the parent links)
Each time you eval this the number goes up.
(->> (.getContextClassLoader (Thread/currentThread))
(iterate #(.getParent %))
(take-while boolean)
count)
@gfredericks Are you using the "vanilla" Clojure REPL there? I guess you probably already realize that Leiningen and other things can insert more code in the 'stack'
Yes, vanilla
Clojure 1.10.0-beta5 passes with Coal Mine (https://github.com/mfikes/coal-mine) ✅