Re: Single Inheritance OO implementation history (Per Bothner)
18 Feb 1998 23:04:23 -0500

          From comp.compilers

Related articles
Single Inheritance OO implementation history (Christian Fabre) (1998-02-12)
Re: Single Inheritance OO implementation history (1998-02-18)
| List of all articles for this month |

From: (Per Bothner)
Newsgroups: comp.compilers
Date: 18 Feb 1998 23:04:23 -0500
Organization: Cygnus Solutions, CA
References: 98-02-057
Keywords: OOP, history

Christian Fabre <> wrote:
>For methods, each class has a table of pointers to the methods' code,
>the ancestors' methods are assigned the lower indexes in the table,
>and the new methods introduced get the first one avalaible.
>Redefinition of a parent's method meaning reusing the same index as
>the redefined method but changing the pointed method.
>All right. I have to assert that all this is well known and is public
>knowledge, thus my question is this: who has described this technique
>for the first time in a paper and when? Or which "classical" or
>"authoritative" book can you think of -the older the better-, that has
>a description of this implementation strategy?

I would look into Simula67, done by Dahl and Nygaard in Oslo in the
1960s. Simula was the first object-oriented language. It was
compiled, and was a major influence on Stroustrup in designing C++.
While I am not familiar with Simula67 internals, I have always assumed
that they used (and invented) these now "classical" techniques.

Simula is still in use. The classical textbook is "SIMULA BEGIN".
Krogdahl in the late 70s described multiple inheritance as an
extension of the classical single-inheritance techniques. That paper
may have references to older papers. Your best bet are old papers
from either the University of Oslo or Norwegian Computing Centre
(Norsk Regnecentral). Academic libraries in the US may have some of
them. Dahl or Nygaard may be able to help you.

You can rest assured that the techniques you describe are over thirty
years old, and any patentable ideas have long since expired. (I'm
guessing that is your concern.)
--Per Bothner
Cygnus Solutions

Post a followup to this message

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