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 ×