Typing -- protection against errors

  • static -- type checking at compile time
  • strong -- all expressions are type consistent

Untyped -- flexibility

  • bitstrings, sets, %l-calculus

Exceptions to monomorphic typing:

  • {\em overloading, coercion, subranging, value-sharing {\rm (nil)}}

slide: The nature of types