This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2019-08-01
Channels
- # announcements (1)
- # beginners (71)
- # calva (12)
- # cider (3)
- # clj-kondo (12)
- # cljsrn (9)
- # clojure (167)
- # clojure-dev (21)
- # clojure-europe (5)
- # clojure-italy (60)
- # clojure-nl (6)
- # clojure-spec (6)
- # clojure-uk (60)
- # clojurescript (86)
- # core-async (25)
- # cursive (21)
- # datascript (9)
- # datomic (4)
- # figwheel (8)
- # fulcro (7)
- # graalvm (4)
- # jackdaw (6)
- # jobs (8)
- # juxt (2)
- # leiningen (1)
- # malli (1)
- # off-topic (20)
- # re-frame (31)
- # reagent (5)
- # remote-jobs (3)
- # shadow-cljs (57)
- # sql (6)
- # vim (9)
hi, I was thinking about clj-kondo and editor integration, and I'd like to know if there is any performance difference between the graal version and the jvm version (running is a repl)
For example, I think that if you have a project with multiple fies, the graal version needs to scan all the files every time you invoke it. While if clj-kondo is running in a repl and called from your editor, in theory it could do some caching, since the editor can tell what files changed.
I saw in the project readme that is possible to create a cache, but I guess (correct me if I'm wrong) that anyways you need to check the timestamps for all the files in your project
@jlle when using clj-kondo with an editor, you first create a cache. after that, your editor incrementally lints files and this also updates the cache
so when you change a function in namespace A and go to namespace B where that function is called, you will immediately see an arity error for example
I prefer the GraalVM version for editors, so I can already see things when I don't even have a REPL
I've been doing Clojure for a while and I constantly write (not (empty? coll))
instead of (seq coll)
(as suggested by clj-kondo), does anyone have a link for the rationale? I'd like to write more idiomatic Clojure, but also want to understand why 🙂
https://github.com/clojure/clojure/blob/clojure-1.9.0/src/clj/clojure/core.clj#L6127-L6128
Thank you!