gratitude

adi 2024-11-04T05:53:27.697199Z

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.

💯 1
16
adi 2024-11-04T06:01:41.481339Z

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.

adi 2024-11-04T06:06:36.587019Z

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})).

🤔 1
adi 2024-11-04T06:11:56.011899Z

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.

adi 2024-11-04T06:13:04.916859Z

Fanciful, I know. But the "connect" could be dead-simple specification... a maven coordinate / RSS/Atom feed kind of thing.

Alex Miller (Clojure team) 2024-11-04T14:06:44.204729Z

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.

Alex Miller (Clojure team) 2024-11-04T14:07:06.169919Z

Get to it!

adi 2024-11-04T17:40:01.398719Z

Thanks for the pro tip! I did not know that... <goes to hammock>

MJ 2024-11-04T18:41:37.090469Z

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)

Alex Miller (Clojure team) 2024-11-04T19:36:54.300499Z

trademarks etc are also considered a valid way to "own" a top-level package

Alex Miller (Clojure team) 2024-11-04T19:38:14.247079Z

Rich does own http://clojure.com and http://clojure.org - remember these are reverse DNS (and org and com are often skipped as "defaults")