core.typed is an optional static type system for Clojure, providing gradual typing features like type declarations, checking, and inference. It supports modules for development-time checking and runtime typing, though note that it's deprecated as of Clojure 1.11 in favor of Typed Clojure. core.typed is separated into modules. You'll want the full type checker at development time, and the runtime dependencies in production. 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.
Features
- Optional static type checking using type annotations in Clojure
- Provides separate modules for development (checker) and runtime (runtime.jvm)
- Offers macros and functions to annotate and check namespaces (check-ns, etc.)
- Supports both JVM Clojure and has planned—but unreleased—JS targets (analyzer.js, checker.js)
- Facilitates gradual typing JavaScript-like environments in Clojure
- Encourages more type safety in dynamic codebases, though uptake has been limited
Categories
SystemLicense
Eclipse Public LicenseFollow core.typed
Other Useful Business Software
$300 Free Credits for Your Google Cloud Projects
Launch your next project with $300 in free Google Cloud credits—no strings attached. Test, build, and deploy without risk. Use your credits across the entire Google Cloud platform to find what works best for your needs. After your credits are used, continue with always-free tier services. Only pay when you're ready to scale. Sign up in minutes and start exploring.
Rate This Project
Login To Rate This Project
User Reviews
Be the first to post a review of core.typed!