• Markus Klingspor and Juergen Wolff von Gudenberg "Modula-2O: An object oriented extension of Modula-2" The ModulaTor Nr. 1, Feb-1994 view details Abstract: In this paper we summarize some ideas which currently are discussed concerning the extension of the ISO-Modula-2 Standard [iso] and combine  these with our opinion how a type safe object oriented modular language with  separate compilation should be defined. One of the main design principles of  Modula-2O was to generate a genuine object oriented language and maintain  upward compatibility to Modula-2 by introducing the extensions orthogonally.  Although many of the key object oriented features can be simulated by  procedural components of records with slight extensions [wm2oop], we propose  the introduction of class types as the main building block which enables us to  define dynamic entities, realize late binding and polymorphism, and allows for  multiple inheritance and generic data types. Many of the newly introduced  features are well known from other object oriented languages [cpp, eiffel,  oberon2, modula3] but some ideas are new like the solution of constrained  genericity, the covariant type-checked refinement of methods or the means of  handling VAR parameters together with polymorphism.