Optional typing in Clojure, as a library.
Typed Clojure is separated into modules. You'll want the full type checker at development time, and the runtime dependencies in production.
In Clojure CLI's deps.edn
, this will look something like this:
{:deps {org.typedclojure/typed.clj.runtime {:mvn/version "1.0.15"}}
:aliases {:dev {:extra-deps {org.typedclojure/typed.clj.checker {:mvn/version "1.0.15"}}}}}
You can then start a dev repl with clj -A:dev
.
In Leiningen's project.clj
, something like this:
(defproject a-project "0.0.1-SNAPSHOT"
:dependencies [[org.typedclojure/typed.clj.runtime "1.0.15"]]
:profiles {:dev {:dependencies [[org.typedclojure/typed.clj.checker "1.0.15"]]}})
Then, lein repl
will automatically activate the :dev
profile. Verify the type
checker is not included in uberjars with lein with-profile uberjar deps :tree
.
Latest stable release is 1.0.15.
See modules for specific version coordinates:
Typed Clojure supports Clojure 1.10.3 and JDK 1.8+.
Use the core.typed mailing list for Typed Clojure discussion.
#core-typed on Clojurians Slack (most active, for short announcements and questions)
#typedclojure on ZulipChat (for longer discussions due to threading and unlimited history)
See wiki.
core.async Rock-paper-scissors
Thanks to the following people for contributing to core.typed:
Thanks to the following companies for their active sponsorship of Typed Clojure's development via OpenCollective.
YourKit is kindly supporting core.typed and other open source projects with its full-featured Java Profiler. YourKit, LLC is the creator of innovative and intelligent tools for profiling Java and .NET applications. Take a look at YourKit's leading software products:
Copyright © Ambrose Bonnaire-Sergeant, Rich Hickey & contributors.
Licensed under the EPL (see the file epl-v10.html).
Copyright © Nicola Mometto, Rich Hickey & contributors.
Licensed under the EPL (see the file epl-v10.html).
Copyright © Nicola Mometto, Rich Hickey & contributors.
Licensed under the EPL (see the file epl-v10.html).
Copyright © Nicola Mometto, Rich Hickey & contributors.
Licensed under the EPL (see the file epl-v10.html).
Can you improve this documentation?Edit on GitHub
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close