Study Guide 12
Covers 6.4.4-6.5
Explicit State (6.4.4-6.5)
- Understand and be able to correctly label examples of ad-hoc versus universal polymorphism. Overloading is a subtype of which kind of polymorphism? What about coercion? Parametric polymorphism? Inclusion? How are they similar and different?
- Understand five different parameter passing mechanisms: by-reference, by-value, by-value-result, by-name, by-need.
- Be able to trace each mechanism's effect within code.
- Know how to create the same effect within Oz.
- Different kinds of indexed collections (tuples, records, arrays, dictionaries) vary according to whether they are 1) stateless or stateful, and 2) whether the index is integers or literals. Classify each kind of collection according to these two aspects.
- What are the tradeoffs for each in terms of possible operations, memory use, and execution time?