Chapter 16

Generic Modula-2


16.0 Chapter Goals
16.1 Generics In the Base Language (Revisited)
     16.1.1 Semi Generic Methods and Structures
     16.1.2 Limitations of Fully Generic Techniques
     16.1.3 Limitations of Fully Generic Structures
     16.1.4 Summary
16.2 Generic Separate Library Modules
     16.2.1 Generic Definition Modules
     16.2.2 Generic Implementation Modules
     16.2.3 Formal Module Parameters
16.3 Refining Separate Library Modules
     16.3.1 Refining Definition Modules
     16.3.2 Refining Implementation Modules
     16.3.3 Multiple Refinements
     16.3.4 Actual Parameters
16.4 Refining Within a Program Module
16.5 Refining Within an Implementation Module
16.6 Making New ADTs from Old With Generics
16.7 Extended ADT Examples
     16.7.1 Generic Lists
     16.7.2 Generic Queues
     16.7.3 Generic Stacks
16.8 Dependency and Order in Generic Modula-2
     16.8.1 Module Dependencies
     16.8.2 Nested Module Refinement Order
     16.8.3 Module Initialization and Termination Order
     16.8.4 Import and Export Lists
16.9 Summary and Comparison With Other Notations
16.10 Chapter Summary
16.11 Assignments
Contents