FOOPS: A Functional Object Oriented Programming System

FOOPS is a very high level object-oriented specification language with an executable subset. It provides:

FOOPS also provides many additional features that go beyond what other current-generation object-oriented languages offer, including: FOOPS is patterned after and built upon OBJ, a declarative specification language, from which it derives many of the above features.

A brief FOOPS bibliography

A manual, Introducing FOOPS, by Lucia Rapanotti and Adolfo Socorro is available as a compressed PostScript file.

Adolfo Socorro. Design, implementation and evaluation of a declarative object-oriented programming language, PRG Technical Monograph PRG-113, Oxford University Computing Laboratory, Programming Research Group, 1993; click here for the abstract, and click here to order a copy from Oxford.

Paulo Borba and Joseph A. Goguen. Refinement of Concurrent Object Oriented Programs. Chapter 11 of Formal Methods in Object Technology, Stephen Goldsack and Stuart Kent (eds.), Springer, 1996. Also appears as Technical Report TR-18-95, Oxford University Computing Laboratory, Programming Research Group, November 1995; click here for the abstract, and here for the compressed postscript file.

Paulo Borba, Semantics and Refinement for a Concurrent Object Oriented Language, DPhil thesis, Oxford University Computing Laboratory, July 1995.

Paulo Borba and Joseph Goguen, An operational semantics for FOOPS, In Roel Wieringa and Remco Feenstra, editors, International Workshop on Information Systems - Correctness and Reusability, IS-CORE'94, Technical Report IR-357. Vrije Universiteit, Amsterdam, September 1994. A longer version appeared as Technical Monograph PRG-115, Oxford University Computing Laboratory, November 1994; click here for the abstract.

Corina Cirstea. A Distributed Semantics for FOOPS. PRG Technical Report PRG-TR-20-95, 1995.


The latest version of FOOPS is available by anonymous ftp. (N.B. This version requires Version 2.02 or later of OBJ3.)


To Systems index page
To Joseph Goguen homepage
Maintained by Joseph Goguen
Last modified 23 February 1999