Skip to content
CAI
Produce a survey ↗Verify a survey

josefs/Gradualizer

Gradualizer is a static type-checking tool for Erlang that performs constraint-based type inference and exhaustiveness analysis. It provides a command-line interface and library API to validate Erlang code against user-defined and standard library type specifications. The system supports advanced features such as polymorphic call inference, type refinement, and intersection types, while also tracking known limitations through a comprehensive suite of passing and failing test cases.

65.7

Adequate · 6 August 2026

10k

lines of production code

Erlang

primary language

2

bus factor · 31 authors in all

4

measurements over time

CAI band scale
CAI trend line

How it got here

2017–2018 · Initial project scaffolding and type inference

This period established the project's foundational infrastructure, including CI workflows, documentation, and the core constraint-based type inference engine. It simultaneously built out a comprehensive test suite to validate type checking, pattern matching, and error handling across various Erlang constructs.

12 changes

2019–2023 · Type system expansion and test coverage

This period focused on expanding the Gradualizer's type system by introducing new annotation and assertion macros, alongside refining type specifications for OTP core and standard library modules. The work was supported by comprehensive test coverage, including property-based tests and helper modules, to ensure the correctness of type checking and error reporting.

6 changes

CAI lens gauges

Survey your own repository

josefs/Gradualizer was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point the surveyor at a repository you know and see whether you agree with it.

Survey a repository

About this page

  • The description of this project is derived from its own commit history, not from its README.
  • The score is its highest published measurement, taken on 6 August 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
  • Measured at commit 23533d7eb7 — the exact code this score is about.
  • Scored under rubric rubric-2026.08.19. Score the same commit under that rubric and you get the same number.
CAI link cards