This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2019-08-29
Channels
- # aleph (5)
- # announcements (2)
- # bangalore-clj (2)
- # beginners (52)
- # cider (10)
- # cljsrn (1)
- # clojure (160)
- # clojure-dev (24)
- # clojure-europe (3)
- # clojure-france (1)
- # clojure-india (1)
- # clojure-italy (3)
- # clojure-nl (6)
- # clojure-spec (13)
- # clojure-uk (51)
- # clojurescript (45)
- # code-reviews (1)
- # core-async (41)
- # cursive (41)
- # datomic (17)
- # emacs (37)
- # fulcro (42)
- # graphql (7)
- # joker (4)
- # music (1)
- # nrepl (2)
- # off-topic (21)
- # pathom (19)
- # pedestal (12)
- # re-frame (48)
- # reitit (6)
- # rewrite-clj (8)
- # shadow-cljs (41)
- # specter (6)
- # sql (21)
- # tools-deps (8)
- # vim (7)
- # xtdb (27)
would it be correct to say that joker uses static analysis on source code for linting? and it doesn't do any macroexpansion while linting, or does it do that?
I don’t know for sure, as I don’t (yet) use it for linting, but I think it is indeed only a static-analysis tool, and that it lints macro definitions but does not expand them.
So (cond 1)
is caught as an error (not an even number of arguments), but this is not, although it’d fail at runtime just the same:
(defmacro cond-macro
[& args]
`(cond ~@args))
(cond-macro 1)
I don’t know for sure, as I don’t (yet) use it for linting, but I think it is indeed only a static-analysis tool, and that it lints macro definitions but does not expand them.
So (cond 1)
is caught as an error (not an even number of arguments), but this is not, although it’d fail at runtime just the same:
(defmacro cond-macro
[& args]
`(cond ~@args))
(cond-macro 1)