Abstract data types -- foundational perspective
- unambiguous values in some semantic domain
Mathematical models -- types as constraints
- algebra -- set oriented
- second order lambda calculus -- polymorphic types
- constructive mathematics -- formulas as types