- Pure type systems (PTS) provide a unified framework for understanding type systems and functional programming languages like Haskell.
- A PTS is defined by a set of sorts, axioms relating sorts, and rules for forming quantified types; this allows modeling features like polymorphism, dependent types, type constructors.
- Examples like the simply typed lambda calculus and System F can be modeled as PTSes. Properties like normalization are important but not always predictable from a PTS definition.
- PTSes can capture features of modern languages like predicative polymorphism, separating type- and term-level data, but consistency questions remain open for some extensions.