Extensions and foundations of object-oriented programming

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

This paper has three major objectives: (i) to provide several new features for object-oriented programming (OOP); (ii) to provide a rigorous logical semantics for OOP; and (in) to unify OOP with functional programming. FOOPS is a clean new programming language that embodies our approach to these objectives. Following a broad definition of "logical programming, " our main techniques are described: (1) subsorts (from order-sorted algebra) for multiple inheritance; (2) a distinction between "adt" (for abstract data type) modules and "object" modules; and (3) "reflection, " in the sense of providing a built-in data type for programs in a functional sublanguage. Among the features of FOOPS that are new to OOP are: (4) user-definable abstract data types; (5) generic modules; (6) strong but flexible typing, with overloaded mixfix operations; (7) integration of coding with specification; and (8) an operational semantics (based on term-rewriting) that should be very efficient on suitable parallel machines. In addition, (9) a logical basis is provided in "reflective" logic. Some examples of FOOPS are given.

Original languageEnglish (US)
Title of host publicationProceedings of the 1986 SIGPLAN Workshop on Object-Oriented Programming, OOPWORK 1986
PublisherAssociation for Computing Machinery
Pages153-162
Number of pages10
ISBN (Electronic)0897912055, 9780897912051
DOIs
StatePublished - Jun 1 1986
Externally publishedYes
Event1986 SIGPLAN Workshop on Object-Oriented Programming, OOPWORK 1986 - Yorktown Heights, United States
Duration: Jun 9 1986Jun 13 1986

Publication series

NameProceedings of the 1986 SIGPLAN Workshop on Object-Oriented Programming, OOPWORK 1986

Other

Other1986 SIGPLAN Workshop on Object-Oriented Programming, OOPWORK 1986
Country/TerritoryUnited States
CityYorktown Heights
Period6/9/866/13/86

ASJC Scopus subject areas

  • Computational Theory and Mathematics
  • Software
  • Computer Science Applications

Fingerprint

Dive into the research topics of 'Extensions and foundations of object-oriented programming'. Together they form a unique fingerprint.

Cite this