Spectrum, a library for statically "typing" clojure.spec
summary
Spectrum is a prototype static “typing” library that type-checks clojure.spec at compile time, built from a pipeline: conform tools.analyzer flow check. It walks analyzed forms, attaches return specs, and uses pluggable “Transformer” hooks to reason about map, higher-order functions and branch predicates. It catches real bugs (the project type-checks itself) but produces false positives, is viral if not adopted widely, slows development during adoption, and is not yet recommended for production.
AI-written summary · about
chapters (4)
- 0:00Start
- 10:38CORRECTNESS REQUIREMENTS CHANGE OVER TIME
- 17:07COMPILING OFTEN COMPLECTS PERFORMANCE AND CORRECTNESS
- 18:47PROBLEMS W/ JAVA TYPING • Java's type system is more concerned with performance than correctness.
related talks
41mTyped Clojure
39mRobust APIs with clojure.spec & GraphQL
42mTyped Clojure in Practice
36mBare Metal Clojure with clojure.Spec
20mAutomatic and Incremental Repair for Speculative Information Leaks
24mBuilding Intelligible Systems
33mTyped Clojure: From Optional to Gradual Typing
17mCode-Specify-Test-Debug-Prove: Flexibly Integrating Separation Logic Specification into(…)
