home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: comp.lang.ada
- Path: sparky!uunet!haven.umd.edu!darwin.sura.net!Sirius.dfn.de!Urmel.Informatik.RWTH-Aachen.DE!smetana!pk
- From: pk@rwthi3.informatik.rwth-aachen.de (Peter Klein)
- Subject: MI - clutching at straws
- Message-ID: <1992Aug23.171350.27117@Urmel.Informatik.RWTH-Aachen.DE>
- Sender: news@Urmel.Informatik.RWTH-Aachen.DE (Newsfiles Owner)
- Nntp-Posting-Host: smetana
- Reply-To: pk@rwthi3.informatik.rwth-aachen.de
- Organization: Lehrstuhl fuer Informatik III, RWTH Aachen, Germany
- Date: Sun, 23 Aug 92 17:13:50 GMT
- Lines: 38
-
- Some time ago, I started a thread in comp.lang.modula3 about the non/sense
- of MI (Modula-3 has SI only). Although most responses were pretty anti-MI,
- some examples were supplied for which no satisfying alternatives were given.
- Since I am unsure yet whether I find MI neccessary, I try again here.
-
- To begin with, I don't think that *if* MI is useful, this use will be constrained
- to certain application areas. Just like SI, genericity and arrays, MI gives the
- programmer the opportunity to express a data design decision in a specific
- implementation language. So, either it is sensible as such or it is not.
-
- Exactly for this reason I wonder why you exclude academic implementations from
- your considerations. A whole lot of good software is written in universities,
- for very different application areas. Even more, I believe that the percentage
- of people who actually experienced MI is higher in the academic field.
-
- Well, I am convinced that MI is not neccessary for combining orthogonal classes.
- This is what records are for. But problems arise if several subclasses of a
- common superclass are combined into a MI subclass with the superclass fields
- shared.
-
- Consider the following example: I start with an abstract data type for a graph.
- Now I augment the basic type in several independant ways, let's say to make
- attributed, node- and edge-labeled graphs. Finally, I would like to have
- some special graphs, e.g. abstract syntax graphs or binary trees, which
- combine one or more of the above extensions. How can I express this without
- violating the abstractness of the involved data types? Maybe somebody's got
- some clever answer. Otherwise, I will keep thinking that MI is sometimes
- appropriate.
-
- Peter
- ---
- Peter Klein E-Mail: pk@rwthi3.informatik.rwth-aachen.de
- Lehrstuhl fuer Informatik III Tel.: +49/241/80-21320
- Ahornstrasse 55 Fax.: +49/241/80-21329
- RWTH Aachen
- D-5100 Aachen
- Germany
-
-