4 ms·
The clojure community has robust tooling around types and similar mechanisms. There is core.typed, but I honestly don’t know of many who use it in production.
by maxov 6y ago
The clojure community has robust tooling around types and similar mechanisms. There is core.typed, but I honestly don’t know of many who use it in production.
More recently, clojure.spec was released (https://clojure.org/about/spec https://clojure.org/about/spec) which I see the community starting to coalesce around. It’s a nicely-designed way for doing validation and property verification at runtime, and imo avoids the “awkward space” problem you mentioned. By creating specs, you get validation, nice errors, and generative testing (almost) for free. Because Clojure development is often repl-driven anyway, there’s not a huge benefit in having compile-time types, at least if you subscribe to the philosophy behind clojure.spec.