From: tmoran@bix.com
Subject: Re: Naming of Tagged Types and Associated Packages
Date: 1998/07/26
Date: 1998-07-26T00:00:00+00:00 [thread overview]
Message-ID: <6pfs36$8rh@lotho.delphi.com> (raw)
>The addition of tagged types in Ada 95 is good, but it doesn't change
>implementation techniques that much from Ada 83, because you should
>already be using type-based abstractions where that makes sense.
There are some things Ada 95 lets you do that were *extremely*
inconvenient, in Ada 83. Controlled types, which let a task execute
code after an "or terminate" select alternative, and "access T'Class"
which lets you link heterogenous data simply, come to mind. For a
slightly more complex example, a system I'm working on has a
library-level task and task safety (and the OS, in this case) requires
that certain things only be done by that task. Occasionaly, we've
needed to add a new operation. At first we added a new 'entry' and
recompiled the world. Then we realized that there can be one entry
that takes a classwide parameter and calls a standard "Do_Whatever"
procedure, passing that parameter. Now a new operation merely
requires a new descendant of the (abstract) root type with appropriate
information in the new extension part, and an overriding "Do_Whatever"
that will be run from the correct task. No spec changes to the task
and thus no recompilation. Tagged types are a new tool. There's no
requirement to limit their use to what the designers, or OO
philosophy, intended.
next reply other threads:[~1998-07-26 0:00 UTC|newest]
Thread overview: 135+ messages / expand[flat|nested] mbox.gz Atom feed top
1998-07-26 0:00 tmoran [this message]
1998-07-27 0:00 ` Naming of Tagged Types and Associated Packages dennison
-- strict thread matches above, loose matches on Subject: below --
1998-07-16 0:00 taashlo
1998-07-25 0:00 ` Matthew Heaney
1998-07-25 0:00 ` Jean-Pierre Rosen
1998-07-25 0:00 ` Brian Rogoff
1998-07-26 0:00 ` Matthew Heaney
1998-07-26 0:00 ` Matthew Heaney
1998-07-26 0:00 ` nabbasi
1998-07-26 0:00 ` Matthew Heaney
1998-07-26 0:00 ` Robert Dewar
1998-07-27 0:00 ` Jean-Pierre Rosen
1998-07-28 0:00 ` Matthew Heaney
1998-07-28 0:00 ` Jean-Pierre Rosen
1998-07-28 0:00 ` dennison
1998-07-29 0:00 ` Jean-Pierre Rosen
1998-07-29 0:00 ` dennison
1998-07-29 0:00 ` Jean-Pierre Rosen
1998-07-30 0:00 ` dennison
1998-07-30 0:00 ` Jean-Pierre Rosen
1998-07-29 0:00 ` Robert I. Eachus
1998-07-30 0:00 ` Jean-Pierre Rosen
1998-07-30 0:00 ` Robert I. Eachus
1998-07-31 0:00 ` Jean-Pierre Rosen
1998-07-31 0:00 ` Robert I. Eachus
1998-08-01 0:00 ` Jean-Pierre Rosen
1998-08-04 0:00 ` Matthew Heaney
1998-08-04 0:00 ` Jean-Pierre Rosen
1998-08-10 0:00 ` Robert I. Eachus
1998-07-30 0:00 ` Matthew Heaney
1998-07-27 0:00 ` dennison
1998-07-27 0:00 ` Stephen Leake
1998-07-27 0:00 ` dennison
1998-07-27 0:00 ` Brian Rogoff
1998-07-28 0:00 ` dennison
1998-07-28 0:00 ` Brian Rogoff
1998-07-28 0:00 ` dennison
1998-07-29 0:00 ` Matthew Heaney
1998-07-29 0:00 ` Chris Brand
1998-07-30 0:00 ` Matthew Heaney
1998-07-30 0:00 ` dennison
1998-07-30 0:00 ` Matthew Heaney
1998-07-30 0:00 ` dennison
1998-08-01 0:00 ` Simon Wright
1998-08-02 0:00 ` Matthew Heaney
1998-08-03 0:00 ` dennison
1998-08-03 0:00 ` Matthew Heaney
1998-08-04 0:00 ` dennison
1998-08-04 0:00 ` Jean-Pierre Rosen
1998-08-04 0:00 ` Brian Rogoff
1998-08-05 0:00 ` Don Harrison
1998-08-05 0:00 ` Matthew Heaney
1998-08-07 0:00 ` Don Harrison
1998-08-13 0:00 ` Robert A Duff
1998-08-14 0:00 ` Don Harrison
1998-08-14 0:00 ` adam
1998-08-05 0:00 ` Brian Rogoff
1998-08-07 0:00 ` doylep
1998-08-07 0:00 ` Brian Rogoff
1998-08-08 0:00 ` Matthew Heaney
1998-08-10 0:00 ` doylep
1998-08-10 0:00 ` Brian Rogoff
1998-08-10 0:00 ` John Volan
1998-08-10 0:00 ` John Volan
1998-08-11 0:00 ` doylep
1998-08-11 0:00 ` Brian Rogoff
1998-08-13 0:00 ` Robert A Duff
1998-08-13 0:00 ` Brian Rogoff
1998-09-01 0:00 ` Matthew Heaney
1998-09-01 0:00 ` Dale Stanbrough
1998-09-01 0:00 ` Matthew Heaney
1998-09-01 0:00 ` Bob Collins
1998-09-02 0:00 ` Matthew Heaney
1998-09-04 0:00 ` John G. Volan
1998-08-11 0:00 ` Don Harrison
1998-08-11 0:00 ` Pat Rogers
1998-08-11 0:00 ` Don Harrison
1998-09-01 0:00 ` Matthew Heaney
1998-08-13 0:00 ` Robert A Duff
1998-08-13 0:00 ` Brian Rogoff
1998-08-15 0:00 ` Don Harrison
1998-08-15 0:00 ` Jean-Pierre Rosen
1998-08-18 0:00 ` Don Harrison
1998-08-14 0:00 ` Don Harrison
1998-08-17 0:00 ` doylep
1998-08-19 0:00 ` Don Harrison
1998-08-12 0:00 ` Don Harrison
1998-08-08 0:00 ` Matthew Heaney
1998-08-08 0:00 ` John G. Volan
1998-08-09 0:00 ` Matthew Heaney
1998-08-10 0:00 ` John G. Volan
1998-08-11 0:00 ` John Volan
1998-08-11 0:00 ` Don Harrison
1998-08-11 0:00 ` geoff
1998-08-31 0:00 ` Matthew Heaney
1998-08-31 0:00 ` Tucker Taft
1998-09-06 0:00 ` John G. Volan
1998-09-06 0:00 ` Matthew Heaney
1998-09-04 0:00 ` John G. Volan
1998-09-05 0:00 ` Matthew Heaney
1998-09-05 0:00 ` John G. Volan
1998-09-04 0:00 ` John G. Volan
1998-09-06 0:00 ` Matthew Heaney
1998-09-06 0:00 ` John G. Volan
1998-09-06 0:00 ` Brian Rogoff
1998-09-06 0:00 ` John G. Volan
1998-09-07 0:00 ` Brian Rogoff
1998-09-07 0:00 ` John G. Volan
1998-09-16 0:00 ` Matthew Heaney
1998-09-06 0:00 ` John G. Volan
1998-09-04 0:00 ` John G. Volan
1998-09-05 0:00 ` John G. Volan
1998-09-06 0:00 ` Matthew Heaney
1998-09-06 0:00 ` Matthew Heaney
1998-09-05 0:00 ` John G. Volan
1998-09-05 0:00 ` John G. Volan
1998-08-11 0:00 ` doylep
1998-08-07 0:00 ` Don Harrison
1998-07-28 0:00 ` Brian Rogoff
1998-07-29 0:00 ` Matthew Heaney
1998-07-29 0:00 ` Brian Rogoff
1998-07-28 0:00 ` Norman H. Cohen
1998-07-28 0:00 ` Stephen Leake
1998-07-28 0:00 ` Matthew Heaney
1998-07-28 0:00 ` Matthew Heaney
1998-07-28 0:00 ` Jean-Pierre Rosen
1998-07-28 0:00 ` Matthew Heaney
1998-07-28 0:00 ` dennison
1998-07-29 0:00 ` Matthew Heaney
1998-07-30 0:00 ` Robert Dewar
1998-07-30 0:00 ` Matthew Heaney
1998-08-06 0:00 ` Robert A Duff
1998-08-06 0:00 ` Matthew Heaney
1998-08-06 0:00 ` Tucker Taft
1998-08-31 0:00 ` Matthew Heaney
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox