comp.lang.ada
 help / color / mirror / Atom feed
From: "Robert I. Eachus" <rieachus@comcast.net>
Subject: Re: Other Ada Standards (was Re: SIGada Conference)
Date: Sun, 28 Dec 2003 13:14:04 -0500
Date: 2003-12-28T13:14:04-05:00	[thread overview]
Message-ID: <VPydnZhRwa3wgHKi4p2dnA@comcast.com> (raw)
In-Reply-To: <bsmfaq$d8f2i$1@ID-77047.news.uni-berlin.de>

Dmitry A. Kazakov wrote:

> With/use issue is rather a cosmetic one. It might be very important for
> language promoting, though for those who are using Ada on daily basis, it
> is uninteresting, yet. Another very important cosmetic thing, (Robert
> Eachus and me mentioned it before) could be an ability to bundle a set of
> with's and use's in one package with then could be with-ed / used-ed
> instead.

Not me!  Unless I mentioned that I often do just that, but in a 
different way.  If I am composing several ADTs to create a type I 
certainly will do:

with A; with B; with C;
package Multiple is

    type ADT is ...

    package New_A is new A(ADT);
    package New_B is new B(ADT);
    package New_C is new C(ADT);

    function ... renames New_A...
    procedure ... renames New_B...
    ...

end Multiple;

Now for types that use the ADT, I only have to say:

with Multiple;

of course I will often follow it with:

use type Multiple.ADT;

to make the interesting subset of the declarations in ADT visible.  (If 
I need one of the uncommon operations from one of the instances, I will 
either use dotted notation or a use clause in some nested scope.)

> And these cosmetic things are about
> 
> - information hiding,
> - refactoring,
> - reuse
> 
> of declarations. Isn't it more than just an issue of training a text editor?

Yes, it is.  But what does it mean if you have a large set of unrelated 
packages withed by a large number of different units?  Bad design.  So 
adding something to the language to make it easier for bad designers to 
implement their designs, and harder on the readers than the bad design 
would otherwise be is not something we want to do.

Now look at what I did above, and think about interfaces.  Interfaces 
will make it easier to aggregate related units and when interfaces are 
used to implement the above pattern, and will make it even easier on the 
reader.  Unless there is a with for one of the instances used to 
implement an instance of an interface, the reader only needs to 
understand the interface to understand a unit where an interface 
instance is withed.

This is what I meant when I said that I think that adding interfaces to 
Ada will be a big benefit without considering multiple inheritance. 
Interfaces make it easier for a writer to communicate his intentions to 
readers.

-- 
                                           Robert I. Eachus

"The war on terror is a different kind of war, waged capture by capture, 
cell by cell, and victory by victory. Our security is assured by our 
perseverance and by our sure belief in the success of liberty." -- 
George W. Bush




  reply	other threads:[~2003-12-28 18:14 UTC|newest]

Thread overview: 80+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <468D78E4EE5C6A4093A4C00F29DF513D04B82B08@VS2.hdi.tvcabo>
2003-12-17  1:01 ` SIGada Conference Stephen Leake
2003-12-17  3:19   ` Robert I. Eachus
2003-12-18  6:55     ` Robert C. Leif
2003-12-18 15:23       ` Other Ada Standards (was Re: SIGada Conference) Robert I. Eachus
2003-12-18 18:27         ` Robert A Duff
2003-12-19  7:38           ` Robert I. Eachus
2003-12-19 23:10             ` Robert A Duff
2003-12-19  8:51           ` Russ
2003-12-19 17:03             ` tmoran
2003-12-20  0:43               ` Russ
2003-12-19 23:18             ` Robert A Duff
2003-12-20  7:05               ` Russ
2003-12-20  9:06                 ` Nick Roberts
2003-12-20 17:43                   ` Robert I. Eachus
2003-12-22  0:07                     ` Russ
     [not found]                       ` <bfcib1-r43.ln1@beastie.ix.netcom.com>
2003-12-22 17:10                         ` Robert I. Eachus
2003-12-22 18:25                           ` Larry Hazel
2003-12-23 16:55                             ` Chad R. Meiners
2003-12-24 13:17                               ` Marin David Condic
2003-12-24 14:57                                 ` Robert A Duff
2003-12-25  3:26                                   ` Marin David Condic
2004-01-03 19:03                                   ` Pascal Obry
2003-12-24 20:16                                 ` Russ
2003-12-24 21:41                                   ` Robert A Duff
2003-12-25  2:51                                     ` Robert I. Eachus
2003-12-25  3:42                                     ` Marin David Condic
2003-12-25  6:35                                       ` Russ
2003-12-25 12:34                                         ` Georg Bauhaus
2003-12-25 15:38                                           ` Marin David Condic
2003-12-26 20:09                                             ` Russ
2003-12-27  3:39                                               ` Georg Bauhaus
2003-12-27  7:40                                                 ` Russ
2003-12-27 11:18                                                   ` Georg Bauhaus
2003-12-28  5:56                                                     ` Russ
2003-12-27 11:24                                                 ` Dmitry A. Kazakov
2003-12-27 12:21                                                   ` Georg Bauhaus
2003-12-28 11:44                                                     ` Dmitry A. Kazakov
2003-12-28 13:59                                                       ` Georg Bauhaus
2003-12-28 19:43                                                         ` Robert A Duff
2003-12-28 20:47                                                           ` Dmitry A. Kazakov
2003-12-28 19:54                                                         ` Dmitry A. Kazakov
2003-12-29  6:07                                                           ` Georg Bauhaus
2003-12-29 11:28                                                             ` Dmitry A. Kazakov
2003-12-29 13:36                                                               ` Chad R. Meiners
2003-12-29  6:25                                                           ` Georg Bauhaus
2003-12-27 18:43                                                   ` Robert A Duff
2003-12-28 11:45                                                     ` Dmitry A. Kazakov
2003-12-28 19:59                                                       ` Robert A Duff
2003-12-30 18:03                                                     ` Peter Richtmyer
2003-12-30 23:02                                                       ` Alexandre E. Kopilovitch
2003-12-27 21:56                                                   ` Russ
2003-12-27 22:52                                                     ` Robert I. Eachus
2003-12-28 11:44                                                     ` Dmitry A. Kazakov
2003-12-28 18:14                                                       ` Robert I. Eachus [this message]
2003-12-28 19:55                                                         ` Dmitry A. Kazakov
2003-12-29  2:08                                                           ` Robert I. Eachus
2003-12-29 11:29                                                             ` Dmitry A. Kazakov
2003-12-29 13:44                                                               ` Chad R. Meiners
2003-12-29 17:07                                                                 ` Robert I. Eachus
2003-12-28 23:17                                                       ` Russ
2003-12-28 23:45                                                         ` Wes Groleau
2003-12-27 14:09                                                 ` Marin David Condic
2003-12-27 19:25                                                   ` Robert I. Eachus
2003-12-28  1:47                                                   ` Russ
2003-12-23 10:49                           ` come from joke (was " Peter Hermann
2003-12-23 12:19                             ` come from joke Samuel Tardieu
2003-12-23 17:00                               ` Arthur Evans Jr
2003-12-23 22:03                               ` Wes Groleau
2003-12-25  0:37                                 ` Stephane Richard
2003-12-27  1:00                                   ` John Woodruff
2003-12-24 18:48                               ` Simon Wright
2003-12-23 12:39                             ` come from joke (was Re: Other Ada Standards (was Re: SIGada Conference) Vinzent 'Gadget' Hoefler
2003-12-23 15:50                             ` Georg Bauhaus
2003-12-23 16:03                               ` Vinzent 'Gadget' Hoefler
2003-12-23 16:12                               ` Peter Hermann
2003-12-22 18:29                       ` Warren W. Gay VE3WWG
2003-12-20 19:44                   ` tmoran
2003-12-22 18:22                   ` Warren W. Gay VE3WWG
2003-12-20  0:39             ` Russ
2003-12-20  1:44               ` unknown
replies disabled

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