Refinement type
Types constrained by a predicate
- 1 min read
- 1 chapter
Related on Lably
Through Type theory
History
The concept of refinement types was first introduced in Freeman and Pfenning's 1991 Refinement types for ML, which presents a type system for a subset of Standard ML. The type system "preserves the decidability of ML's type inference" whilst still "allowing more errors to be detected at compile-time". In more recent times, refinement type systems have been developed (primary in academia) for languages such as Haskell, TypeScript, Rust, and as libraries for real world usage in Scala.

