add-lib(s) is such a nice little quality of life improvement. Thanks to community members for making it a thing, and to the Clojure core team for having rolled it into 1.12.
Languages (or indeed programs) get worse by accumulated papercuts, especially developer experience things. Given the language is already so capable, I wonder if such "developer experience" category of things are ripe for enhancement in the core language itself. The larger community is already doing all sorts of cool things from babashka to IDEs etc. I'm not sure what these can be, TBH. Like I didn't know I needed add-libs till someone made it.
One area I've been speculating about is whether one can make third-party stdlib documentation and code examples "pluggable" in a systematic way. IDE plugins already slurp this kind of stuff in. Though I'm not sure if they use any standard interface or machinery provided by the core language --- something that specifies how to define and connect to an open knowledge graph that people can participate in. Public docs and examples and maybe even full-blown tutorials as well as private ones. Maybe some sort of metadata convention established by core? (An EDN microformat? --- "This function / ns / lib respectively map(s) to <this> globally-namespaced ref. which connects to #{set of third party refs which may be docs text, or code, or mixed})).
I feel like some such standard could help address the discovery problem all of us face sooner or later. Imagine all the librarians, tutorial makers, book writers, course creators, community runners being able to link their stuff into a globally-well-known and traverseable graph of information. I bet this sort of structured information would help improve LLM output too.
Fanciful, I know. But the "connect" could be dead-simple specification... a maven coordinate / RSS/Atom feed kind of thing.
Qualified vars are already a universally addressable system if you use proper namespaces (reverse dns by things you control). add-lib is built on invoke-tool, a capability to call out to tools with arbitrary classpath. Combining these, anyone could make a tool that takes a symbol and looks up docs/examples from one or more sources.
Get to it!
Thanks for the pro tip! I did not know that... <goes to hammock>
wouldn't that imply Rich/Cognitect should own the DNS hostname core.clojure? I hear you can register your own TLD for a mere $185k these days (/s)
trademarks etc are also considered a valid way to "own" a top-level package
Rich does own http://clojure.com and http://clojure.org - remember these are reverse DNS (and org and com are often skipped as "defaults")