9/5/21
Mini-ML is nicely placed:-
- it is easily extended to recursion and other constructs that programmers might be use
- it is rich enough to provide much of the actual polymorphism that practical programming might desire
- it can calculate by algorithm the types of all expressions that have types— the typing is decidable
- it does not need annotation to calculate a type
- one point that has not been emphasized earlier it that most expressions that have a type can have many types; these types differ in their level of generality; among them there is a principal type scheme which is the most general of the possibilities; the algorithm in use here will find the principal type scheme for each individual expression that has a type