DPhil thesis Trinity 1993, 207 pages, ISBN 0-902928-90-2
This thesis is a detailed study of FOOPS, a "wide spectrum" object-oriented programming language. FOOPS supports all of the classical features of the object paradigm, including classes, overloading, polymorphism, and multiple class inheritance with overriding and dynamic binding. However, it goes beyond other object-oriented languages in its facilities for the specification, composition and reuse of modules. FOOPS is patterned after OBJ, a functional programming language, and from which it derives several of these facilities.
The thesis considers the design of FOOPS, explaining all its features and examining their application to the design and development of object-oriented systems. Also it describes a prototype implementation of FOOPS that was built using facilities given by the implementation of OBJ3, and which supports most features.
This paper can be ordered from the Oxford University Computing Lab, Programming Research Group.