Fork me on GitHub

Random thought that just struck me: the Clojure philosophy (both for core and the ecosystem) is make additive changes, not breaking changes. But with this philosophy comes the need to steer people from away from the old towards the new, and Clojure does not have an official way to mark something as deprecated like Java’s @Deprecated. Has something akin to @Deprecated ever been considered for the Clojure language?


if you look at core.clj some vars are tagged as deprecated, and they usually have DEPRECATED as the first word in the docstring


There is ^:deprecated in Clojure


There is also a pretty extensive ticket with enhanced support that’s ready to consider


this is what I’m getting at, voted!


in the meantime, clj-kondo can warn on deprecated usages, and can selectively suppress warnings, which can be very handy