comp.lang.ada
 help / color / mirror / Atom feed
From: "Randy Brukardt" <randy@rrsoftware.com>
Subject: Re: some trivial questions?
Date: Fri, 17 Nov 2017 19:27:20 -0600
Date: 2017-11-17T19:27:20-06:00	[thread overview]
Message-ID: <ouo29o$fsh$1@franka.jacob-sparre.dk> (raw)
In-Reply-To: oum79h$1c7v$1@gioia.aioe.org

"Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> wrote in message 
news:oum79h$1c7v$1@gioia.aioe.org...
> On 17/11/2017 01:57, Randy Brukardt wrote:
>
>> Janus/Ada doesn't
>> warn about most of those things (they're not wrong, and they don't cause 
>> any
>> performance problems, either at compile-time or runtime, so why worry?)
>
> Because if you support the view that "with" makes any sense then 
> with-clauses should be written consistently with that sense. If manual 
> maintaining of dependencies is felt so important then the compiler should 
> assist that practice unless considered wrong.
>
> I always remove redundant clauses because they are heavy maintenance 
> problem. Some stray "with" can cause elaboration order problem which may 
> stay undetected till the end of build cycle which in my case takes whole 
> week. It is very nasty, I has it a couple of times.

I didn't mean to imply that I leave junk withs around when I know about 
them. But elaboration problems only can come from withs in specifications, 
and most of the code I work on doesn't with much in each spec. (Janus/Ada 
has a handful of packages of type declarations that are withed into pretty 
much every unit, but pretty much everything else is only withed in bodies.)

But I can see how you could get elaboration problems, especially with an 
object-oriented design. (Janus/Ada predates object-oriented programming; the 
only object-oriented language that I had heard if in 1980 was Simula, and 
there was no practical implementations of that.) Our experience with 
elaboration and elaboration control in Janus/Ada was so bad that we 
essentially abandoned it for doing anything and went back to explicit 
initializer subprograms (which we could ensure got called in the correct 
order). As such, we rarely had elaboration issues.

                                            Randy.

P.S. A one week build? Yuck. I don't think we ever had anything longer than 
about 12 hours, even back on very early MS-DOS. Of course, the compiler was 
a lot smaller (and less complete) back then. Running the entire ACATS took a 
week, but you could run individual chapters in a few hours each.




  parent reply	other threads:[~2017-11-18  1:27 UTC|newest]

Thread overview: 101+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-11-01 18:44 some trivial questions? tclwarrior
2017-11-01 19:55 ` Shark8
2017-11-01 20:03 ` Dmitry A. Kazakov
2017-11-01 21:30 ` Luke A. Guest
2017-11-06 22:43   ` Robert A Duff
2017-11-01 21:39 ` Jeffrey R. Carter
2017-11-02  1:19 ` tclwarrior
2017-11-02  3:04   ` Luke A. Guest
2017-11-02  4:19   ` gautier_niouzes
2017-11-06 22:52     ` Robert A Duff
2017-11-17  0:45       ` Randy Brukardt
2017-11-02  8:27   ` Dmitry A. Kazakov
2017-11-02 13:21     ` Simon Wright
2017-11-02 13:34       ` Dmitry A. Kazakov
2017-11-06 22:58         ` Robert A Duff
2017-11-07 11:50           ` Simon Wright
2017-11-17  0:51     ` Randy Brukardt
2017-11-17  8:32       ` Dmitry A. Kazakov
2017-11-18  1:14         ` Randy Brukardt
2017-11-18  9:19           ` Dmitry A. Kazakov
2017-11-20  5:40             ` J-P. Rosen
2017-11-20  8:22               ` Dmitry A. Kazakov
2017-11-20 22:03             ` Randy Brukardt
2017-11-21 10:26               ` Dmitry A. Kazakov
2017-11-22  0:56                 ` Randy Brukardt
2017-11-22  1:14                   ` Paul Rubin
2017-11-23  0:15                     ` Randy Brukardt
2017-11-23  0:19                       ` Victor Porton
2017-11-23  1:09                       ` Paul Rubin
2017-11-28  0:24                         ` Randy Brukardt
2017-11-22  8:42                   ` Dmitry A. Kazakov
2017-11-23  0:19                     ` Randy Brukardt
2017-11-23  1:11                       ` Paul Rubin
2017-11-23  8:37                       ` Dmitry A. Kazakov
2017-11-28  0:19                         ` Randy Brukardt
2017-11-23  8:42                       ` G. B.
2017-11-23 19:57                   ` Blady
2017-11-23 21:30                     ` J-P. Rosen
2017-11-23 23:24                       ` Shark8
2017-11-23 22:13                     ` Dennis Lee Bieber
2017-11-28  0:34                     ` Randy Brukardt
2017-11-02  8:39   ` Stefan.Lucks
2017-11-02 10:29   ` Simon Wright
2017-11-02 10:37     ` Dmitry A. Kazakov
2017-11-02 16:54   ` Jeffrey R. Carter
2017-11-02 17:17     ` Simon Wright
2017-11-02  3:53 ` gautier_niouzes
2017-11-02 11:15 ` joakimds
2017-11-06 19:33 ` G. B.
2017-11-06 20:53 ` Pascal Obry
2017-11-06 21:07   ` Dmitry A. Kazakov
2017-11-06 21:14     ` Pascal Obry
2017-11-06 21:21       ` Dmitry A. Kazakov
2017-11-17  0:57       ` Randy Brukardt
2017-11-17  8:40         ` Dmitry A. Kazakov
2017-11-17  9:12           ` Simon Wright
2017-11-18  1:27           ` Randy Brukardt [this message]
2017-11-18  2:29             ` Dennis Lee Bieber
2017-11-18  9:32             ` Dmitry A. Kazakov
2017-11-06 21:16   ` Simon Wright
2017-11-06 21:43     ` Pascal Obry
2017-11-17  0:59       ` Randy Brukardt
2017-11-06 22:37 ` Robert A Duff
2017-11-07  2:25   ` Dennis Lee Bieber
2017-11-07  8:34   ` Dmitry A. Kazakov
2017-11-08 22:49     ` Robert A Duff
2017-11-09  8:49       ` Dmitry A. Kazakov
2017-11-09 15:36         ` AdaMagica
2017-11-09 16:58           ` Dmitry A. Kazakov
2017-11-09 18:10             ` AdaMagica
2017-11-09 20:05               ` Dmitry A. Kazakov
2017-11-09 21:11                 ` AdaMagica
2017-11-09 21:38                   ` Dmitry A. Kazakov
2017-11-09 22:52                     ` AdaMagica
2017-11-10  8:18                       ` Dmitry A. Kazakov
2017-11-10 18:21                 ` J-P. Rosen
2017-11-10 19:34                   ` Dmitry A. Kazakov
2017-11-11 11:32                     ` AdaMagica
2017-11-11 12:17                       ` Dmitry A. Kazakov
2017-11-11 15:38                         ` AdaMagica
2017-11-11 21:36                           ` Dmitry A. Kazakov
2017-11-12  5:21                       ` J-P. Rosen
2017-11-14 16:49                       ` Robert Eachus
2017-11-14 17:34                         ` Jeffrey R. Carter
2017-11-17  1:11                     ` Randy Brukardt
2017-11-17  8:42                       ` Dmitry A. Kazakov
2017-11-10 20:30                   ` G. B.
2017-11-17  1:08                 ` Randy Brukardt
2017-11-09 22:43               ` Robert A Duff
2017-11-09 22:56                 ` AdaMagica
2017-11-10  8:22                   ` Dmitry A. Kazakov
2017-11-10 15:47                   ` Robert A Duff
2017-11-10 15:54                     ` Dmitry A. Kazakov
2017-11-14 15:58                       ` Robert Eachus
2017-11-14 16:22                         ` Dmitry A. Kazakov
2017-11-17  1:16                     ` Randy Brukardt
2017-11-17  1:06             ` Randy Brukardt
2017-11-09 18:08         ` Simon Wright
2017-11-09 20:07           ` Dmitry A. Kazakov
2017-11-07 17:41   ` Jeffrey R. Carter
2017-11-08 10:20     ` Brian Drummond
replies disabled

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