Fork me on GitHub
#clj-kondo
<
2022-09-17
>
borkdude19:09:57

I'm writing a new linter to find unused values... and yikes, I found one in clj-kondo... One of the category: how could this ever have worked

laughcry 2
🎉 1
eskos06:09:06

The unfortunate answer is that since it hasn’t worked, now this same behavior is probably scattered across the relevant code paths making the whole thing a bit more complex… 🙂

Noah Bogart20:09:40

Can’t wait to turn this on in my production code. How does it know what is or is not a pure function?

borkdude20:09:14

It has a list borrowed from our friends at #eastwood called var-info.edn

🎉 1
Noah Bogart22:09:43

Does clj-kondo do anything different than rewrite-clj when parsing?

lread22:09:16

Yup!

👍 1
lread22:09:05

It entirely skips whitespace and I think it also parses metadata differently.

👍 1
Noah Bogart22:09:19

Are the differences documented anywhere?

lread22:09:43

It might also deal with namespaced maps differently. I think rewrite-clj got inlined (then customized) from rewrite-clj v0.

👍 1
Noah Bogart22:09:39

Ah thank you. I’m working with rewrite-clj for that pattern matching library i mentioned the other day but realized once I started that there are probably differences