Types
Types are one of the most powerful notions developed in programming language research
- Rich in theory and rich in practice
- There are lots of disagreements about what is the right way to handle types
Most simply, a type represents a collection of values
- Integers, cartesian points, polygons, employees, etc.
Types can be useful to the programmer, to the compiler, and as documentation