@Sandra I quite like them actually. I think refer all thingy is not good. coz just by reading a code i won't know where different functions are coming from. beside that unlike traditional langs with no ns, in clojure ns is kind of a unit for compilation so i can reload a namespace just by it's name and it doesn't matter where it is coming from.
in my experience a NSless lang can lead to weird fn name for large project. Like in elisp 😜
@Sandra I totally understand how frustrating it can be.
I think at the end of the day it is down to personal preference.
Regarding to greping, I curious to know what editor are you using for Clojure?
@Sandra brilliant. If you're using the LSP with clojure, then you won't need to grep anymore. xref-find-definition and xref-find-references will do the job (I might misspell the names). Unless your needs are different than mine in that area 😜
@lxsameer Installing all of LSP just to find some references seems like killing a mosquito with a bomb.
@Sandra 😂 that was funny, I'm going to use that.
Well that's true. but in my case I use LSP for other langs as well so it's more convenient i guess
Like, if I wanna hit a light switch in my room I don't first have to open a li'l hatch labeled "home.electric.wiring". I can just hit the light switch directly because its interface has been made available to me as resident in the room.
The more time I spend with Clojure, the more bugged I get by the namespaces. Yeah, they prevent key collisions in maps but that wasn't exactly an every day problem in the before-fore.
They make it so that...
• I need to remember what namespace a name (function or keyword) is in when I wanna use it
• I need to remember how the namespace is canonically aliased throughout the project and manually and carefully keep that aliasing consistent
• I can't grep for stuff since names aren't prefixed with a namespace inside their own namespace, only when imported.
Three pretty big costs of namespaces that collectively eat up a ton of time and effort.