comp.lang.ada
 help / color / mirror / Atom feed
From: lutz@iks-jena.de (Lutz Donnerhacke)
Subject: Re: Sugestion to Multiple Inheritance
Date: Thu, 17 Jan 2002 14:54:51 +0000 (UTC)
Date: 2002-01-17T14:54:51+00:00	[thread overview]
Message-ID: <slrna4dpdm.kn.lutz@taranis.iks-jena.de> (raw)
In-Reply-To: u3d15nj5n.fsf@gsfc.nasa.gov

* Stephen Leake wrote:
>lutz@iks-jena.de (Lutz Donnerhacke) writes:
>> >> They do not need to be types at all. They are abstactions => interfaces.
>> >> Example: A describes a sort algorithm. B describes stableness. C describes
>> >> in-place-ness. D describes stable, in-place sort algorithms.
>> >
>> >Well, if they don't have to be types, you can easily do it in Ada. But
>> >all your complaints were that it could not be done with abstract Ada
>> >types.
>> 
>> I'm sorry for providing my solutions in the same posting asking for hints.
>> How can this be done easily?
>
>Just write packages A, B, C, D, with appropriate subprogram
>declarations in the spec, and appropriate comments saying what they
>do. Then in the body of D, call the subprograms in B and C as
>appropriate.
>
>The Ada code will _not_ describe the inheritance structure, except in
>the comments. Perhaps that is why you don't want to do this.

Let's try to code this:

package Sorts is
   function Sort (col : Collection) return Collection is abstract;
   procedure Sort (col : in out Collection) is abstract;
end package Sorts;

with Sorts;
package Stable_Sorts is
   function Sort renames Sorts.Sort;
end package Stable_Sorts;

with Sorts;
package Inplace_Sorts is
   procedure Sort renames Sorts.Sort;
end package Stable_Sorts;

with Stable_Sorts, Inplace_Sorts;
package Stable_Inplace_Sorts is
   procedure Sort renames ?;
end package;





  reply	other threads:[~2002-01-17 14:54 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-01-11 10:20 Sugestion to Multiple Inheritance Lutz Donnerhacke
2002-01-11 17:21 ` Stephen Leake
2002-01-11 17:53   ` Lutz Donnerhacke
2002-01-11 19:57     ` Stephen Leake
2002-01-17  8:28       ` Lutz Donnerhacke
2002-01-17 14:31         ` Stephen Leake
2002-01-17 14:54           ` Lutz Donnerhacke [this message]
2002-01-17 20:52             ` Jim Rogers
2002-01-11 18:07 ` Mark Lundquist
2002-01-11 18:14 ` Richard Riehle
2002-01-11 20:56   ` Hyman Rosen
2002-01-12  7:35     ` Richard Riehle
2002-01-13  6:37       ` Hyman Rosen
2002-01-14 13:58         ` John English
2002-01-14 16:27           ` Ole-Hjalmar Kristensen
2002-01-12  2:09   ` Will
2002-01-11 22:04 ` Matthew Heaney
2002-01-15 15:32   ` Hyman Rosen
2002-01-15 16:03     ` Lutz Donnerhacke
2002-01-18 19:03       ` Matthew Heaney
2002-01-21 11:23         ` Lutz Donnerhacke
2002-01-21 16:43           ` Brian Rogoff
2002-01-21 17:00             ` Lutz Donnerhacke
2002-01-22 16:55               ` Brian Rogoff
2002-01-23  8:58                 ` Dmitry A. Kazakov
2002-01-25  0:09                   ` Brian Rogoff
2002-01-28 16:23                     ` Dmitry A. Kazakov
2002-01-12  0:28 ` Nick Roberts
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox