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

Project Samples

Project Activity

See All Activity >

Categories

System

License

Eclipse Public License

Follow core.typed

core.typed Web Site

Other Useful Business Software
Auth0 B2B Essentials: SSO, MFA, and RBAC Built In Icon
Auth0 B2B Essentials: SSO, MFA, and RBAC Built In

Unlimited organizations, 3 enterprise SSO connections, role-based access control, and pro MFA included. Dev and prod tenants out of the box.

Auth0's B2B Essentials plan gives you everything you need to ship secure multi-tenant apps. Unlimited orgs, enterprise SSO, RBAC, audit log streaming, and higher auth and API limits included. Add on M2M tokens, enterprise MFA, or additional SSO connections as you scale.
Sign Up Free
Rate This Project
Login To Rate This Project

User Reviews

Be the first to post a review of core.typed!

Additional Project Details

Operating Systems

Linux, Mac, Windows

Registered

2025-08-20