clj-kondo

2025-10-02T20:38:00.501999Z

I noticed that :arglists metadata on a function doesn't overwrite clj-kondo's determination of the arg lists. Is that intentional?

seancorfield 2025-10-02T20:53:37.809249Z

I can't speak for clj-kondo but I know Eastwood relies on the :arglists metadata and when it doesn't match the actual arity/arities of the function, Eastwood gets into a mess...

lread 2025-10-02T20:54:26.433639Z

Vague memory: https://github.com/clj-kondo/clj-kondo/issues/2096

seancorfield 2025-10-02T20:54:34.645079Z

There are quite a few libraries out there that use :arglists for documentation, where the actual arguments don't match at all! 🙂

lread 2025-10-02T20:55:42.844469Z

Oh right. Yeah :arglists meta is for docs. Can't be trusted to be actual fn signature.

2025-10-02T20:56:35.530539Z

well, that was exactly my situation lol. i have an [& args] macro with specified :arglists and it would be nice if clj-kondo looks at the arglists to determine invalid arities

lread 2025-10-02T20:57:48.731909Z

Ah. So you doc desired usage via :arglists but the actual signature is loosey goosey.

👍 1
borkdude 2025-10-02T20:57:58.680809Z

yes, it is intentional, since arglists sometimes contains pseudo-notation

👍 1
lread 2025-10-02T20:58:25.320979Z

and sometimes absolute garbage!

borkdude 2025-10-02T20:59:05.477799Z

I've been meaning to ask @seancorfield - what does the "15 years 🎉 " mean on your name, that you are a member of this slack since 15 years? I think it only existed for 11 years or so?

2025-10-02T20:59:17.948629Z

Yes indeed. I could write a hook to do that for me but that's a lot more work lol. I've opted to change the function signatures to make clj-kondo happy, as this will be a wildly used internal library, but seemed worth checking up on

lread 2025-10-02T20:59:45.222679Z

It was a good question @nbtheduke!

2
seancorfield 2025-10-02T21:05:43.014919Z

@borkdude I've no idea where Slack got "15 years" from. I'm pretty sure I only started using Slack in 2015 -- certainly that's when the three workspaces I moderate were all created...

borkdude 2025-10-02T21:14:31.518989Z

are you seeing it yourself as well?

borkdude 2025-10-02T21:14:40.983789Z

or maybe you've been doing 15 years of clojure?

lread 2025-10-02T21:57:47.509669Z

On your Slack profile, there is a Start Date you can fill in. I think it is related to this. So you probably entered the date you started Clojure in that field @seancorfield? https://slack.com/help/articles/11200347239827-Manage-profile-celebrations

borkdude 2025-10-02T21:58:29.945589Z

that makes sense! Congrats @seancorfield!

seancorfield 2025-10-02T22:24:43.117649Z

Oh, I'd totally forgotten that!! It's a JOB start date! Yes, I joined World Singles Networks llc 15 years ago (I'd been a part-time contractor for just over a year prior to that).

🎉 4
seancorfield 2025-10-02T22:28:13.820489Z

I first learned Clojure (from Amit Rathore's in-person workshop) in Spring 2010, and introduced it at work early in 2011 after some discussions and trials in late 2010.