Types


- weak (a.k.a., untyped) usu. means run-time type checking
- strong vs. weak
- stic vs. dynamic type checking
- subtypes
- bottom element (null, or nil, element)
- ADT
- core dump (untyped) vs. exception thrown (dynamtically typed) vs.
 compiler
error (statically checked)
- type assertions (contrast/compare with data invariant)
- type checking
- base types, compound types, CLU types "has" clause
- structural vs. name
- type inference
- polymorphic types (templates)
- type equations, type expressions
- types rules
- inconsistencies, ambiguity
- Hindley-Milner type inference
- constrained types (hmmm... subtypes)
- computing closure, determining inconsistent.
- constrained polymorphic types as objects