Q: OO type systems

Daniel.Vogelheim@post.rwth-aachen.de (Daniel Vogelheim)
13 Sep 1998 23:00:54 -0400

          From comp.compilers

Related articles
Q: OO type systems Daniel.Vogelheim@post.rwth-aachen.de (1998-09-13)
Re: Q: OO type systems schnette@tat.physik.uni-tuebingen.de (Erik Schnetter) (1998-09-18)
| List of all articles for this month |

From: Daniel.Vogelheim@post.rwth-aachen.de (Daniel Vogelheim)
Newsgroups: comp.object,comp.compilers
Date: 13 Sep 1998 23:00:54 -0400
Organization: Aachen University of Technology / Rechnerbetrieb Informatik
Keywords: OOP, types

Hello y'all,

In most single-inheritance oject oriented languages, interface
inheritance and implementation (code) inheritance are identified in a
single construct. Many multiple-inheritance languages (like C++ and
Eiffel) have adapted this scheme to multiple inheritance, while others
chose allow arbitrary (non-cyclic) interface inheritance, but restrict
multiple code inheritance.

For example, the Sather language allows only classes at the bottom of
the hierarchy (ie, classes with no siblings) to have code, which must
be "inherited" via a separate statement. Java allows arbitrary
interface inheritance, but only single interface+implementation
inheritance, effectively embedding an implementation inheritance tree
in the interface inheritance DAG. Many research languages seem to
follow similar trends.

I wonder, why is this done? Especially, what are the implications for
compiler implementations of the respective languages?

Thank you,
Daniel Vogelheim

Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.