Types
Bad programmers worry about the code.
Good programmers worry about data structures and their relationships.
(
Linus Torvalds )
Where do they come from?
If R is the set of all sets which don't contain themselves.
Does R contain itself?
Bertrand Russell
Lambda calculus
Type theories
STLC
System F
Hindley–Milner
(1970s)
Martin-Löf Dependent Type Theory
(1970s)
Homotopy Type Theory (2000s)
What are types
a : A
Given
A : Type and B : Type
Type of a fn from A to B
A→B
Algebraic Data Types
Introducing
+ and ×