comp.lang.ada
 help / color / mirror / Atom feed
From: Robert A Duff <bobduff@shell01.TheWorld.com>
Subject: Re: Possible Ada deficiency?
Date: 10 Jan 2005 16:51:54 -0500
Date: 2005-01-10T16:51:54-05:00	[thread overview]
Message-ID: <wccbrbx3qbp.fsf@shell01.TheWorld.com> (raw)
In-Reply-To: k6CdnQZSnNOVf3_cRVn-1Q@megapath.net

"Randy Brukardt" <randy@rrsoftware.com> writes:

> "Robert A Duff" <bobduff@shell01.TheWorld.com> wrote in message
> news:wccwtun9481.fsf@shell01.TheWorld.com...
> ...
> > So I guess the Ada 83 designers invented the private part so the
> > compiler wouldn't have to look at the body to generate efficient code.
> > But the compiler has to look at the body anyway, in order to implement
> > generics (unless they are always code-shared) and pragmas Inline.
> > So the decision seems somewhat inconsistent to me.
> 
> I viewed the intent of the Ada 83 design to be exactly that: no looking at
> the body is required. Generics should be shared,

"Generics should be shared", says the man who wrote the only Ada
compiler in the world that always shares generics.  ;-)

I tend to agree, if we're talking about an "ideal world".  Ideally, the
semantics of generics would be defined in a way that makes sharing the
obvious default choice.  (Eiffel does this.)  Then macro expansion would
be an optimization, just like inlining.

And (in that ideal world) I would view a compiler that doesn't support
inlining, or doesn't support non-shared generics, as insufficient.

But this would be a radical change to the language.  For example, the
rules about whether parameters are passed by copy or reference should
not depend on the actual type passed to a generic formal type.

>... inline is a hint and the
> dependencies need not (and should not) be used. Do any inlining/macro
> expansion at link-time.

I don't see link-time as an improvement.  Whether you do this work at
compile time or link time, it still costs in terms of rebuild time.
And either way, you have to redo the work when the body changes.

>...Certainly I wasn't the only one who thought that was
> the intent.

But you're the only one who implemented it that way!

>...Machines of the era weren't really powerful enough to implement
> that intent, thus the hacks of the generic dependency and the inline
> dependency were allowed.
> 
> Of course, Ada 95 came along and changed that intent.

I don't understand that.  Maybe I don't understand what you mean by
"that intent".  Which rules of Ada 95 are you talking about, here?

>... Which is too bad, as
> machines now are powerful enough to implement the Ada 83 intent!

I don't understand that, either.  Are you saying that the run-time
overhead of the always-share model is now acceptable?

- Bob



  reply	other threads:[~2005-01-10 21:51 UTC|newest]

Thread overview: 103+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-12-31 18:15 Possible Ada deficiency? danmcleran
2004-12-31 19:12 ` Jeffrey Carter
2005-01-01  1:52   ` danmcleran
2005-01-01  2:37     ` Jeffrey Carter
2005-01-01  2:02   ` danmcleran
2005-01-01 14:11     ` Martin Krischik
2005-01-01 15:27       ` danmcleran
2005-01-02 17:49         ` Martin Krischik
2005-01-01 15:30     ` Stephen Leake
2005-01-01 15:57       ` danmcleran
2005-01-03 23:37         ` Randy Brukardt
2005-01-07 17:26           ` Nick Roberts
2005-01-07 18:26             ` danmcleran
2005-01-07 21:32             ` Randy Brukardt
2005-01-08  3:56               ` Nick Roberts
2005-01-08 18:15                 ` Robert A Duff
2005-01-08 19:11                   ` Jeffrey Carter
2005-01-08 20:03                     ` Robert A Duff
2005-01-09  3:40                       ` Jeffrey Carter
2005-01-09 17:30                         ` Robert A Duff
2005-01-09 19:24                           ` Jeffrey Carter
2005-01-09 21:56                           ` Nick Roberts
2005-01-10 13:47                             ` Dmitry A. Kazakov
2005-01-10 16:46                               ` Duncan Sands
2005-01-10 17:58                                 ` Pascal Obry
2005-01-10 18:45                                   ` Dmitry A. Kazakov
2005-01-10 19:44                                     ` Pascal Obry
2005-01-11 10:05                                       ` Dmitry A. Kazakov
2005-01-11  7:24                                     ` Vinzent 'Gadget' Hoefler
2005-01-11  9:48                                       ` Dmitry A. Kazakov
2005-01-11 13:57                                         ` Vinzent 'Gadget' Hoefler
2005-01-11 21:52                                           ` Robert A Duff
2005-01-12 11:22                                           ` Dmitry A. Kazakov
2005-01-09 17:23                   ` danmcleran
2005-01-09 17:46                     ` Robert A Duff
2005-01-10  3:05                       ` danmcleran
2005-01-09 18:41                   ` Nick Roberts
2005-01-09 19:06                     ` Martin Krischik
2005-01-09 20:10                     ` Robert A Duff
2005-01-09 20:15                     ` Robert A Duff
2005-01-11 14:13                       ` Possible Ada deficiency? (goto) Peter Hermann
2005-01-11 14:54                         ` Nick Roberts
2005-01-11 22:15                         ` Robert A Duff
2005-01-12 10:17                           ` Peter Hermann
2005-01-15 17:34                             ` Robert A Duff
2005-01-15 17:58                               ` Dmitry A. Kazakov
2005-01-15 19:34                                 ` Robert A Duff
2005-01-10 20:15                   ` Possible Ada deficiency? Randy Brukardt
2005-01-10 21:51                     ` Robert A Duff [this message]
2005-01-11 20:23                       ` Randy Brukardt
2005-01-11 21:24                         ` Robert A Duff
2005-01-12 19:57                           ` Randy Brukardt
2005-01-02 15:51       ` Adrian Hoe
2005-01-04 16:06       ` Peter Hermann
2005-01-01 23:36     ` tmoran
2005-01-02  3:38       ` danmcleran
2004-12-31 19:16 ` Martin Dowie
2005-01-01  2:32   ` Jeffrey Carter
2004-12-31 23:23 ` Nick Roberts
2005-01-01  1:56   ` danmcleran
2005-01-01 11:43 ` Dmitry A. Kazakov
2005-01-01 15:46   ` danmcleran
2005-01-01 17:58     ` Larry Kilgallen
2005-01-01 19:43       ` danmcleran
2005-01-02  0:36         ` Ed Falis
2005-01-02  3:36           ` danmcleran
2005-01-02 15:53             ` Ed Falis
2005-01-07 18:31               ` danmcleran
2005-01-07 18:44                 ` Pascal Obry
2005-01-07 19:29                   ` danmcleran
2005-01-07 21:28                     ` Pascal Obry
2005-01-01 23:28   ` danmcleran
2005-01-02 10:26     ` Dmitry A. Kazakov
2005-01-02 15:51       ` danmcleran
2005-01-03 23:48     ` Randy Brukardt
2005-01-01 14:06 ` Martin Krischik
2005-01-01 15:53   ` danmcleran
2005-01-07 21:33 ` Robert A Duff
2005-01-09 17:15   ` danmcleran
2005-01-09 17:38     ` Robert A Duff
2005-01-10  3:16       ` danmcleran
2005-01-09 18:41     ` Martin Dowie
2005-01-10  3:18       ` danmcleran
2005-01-10 20:32         ` Randy Brukardt
2005-01-10 21:42           ` danmcleran
2005-01-10 21:36         ` Robert A Duff
2005-01-10 21:44           ` danmcleran
2005-01-09 19:01     ` Jeffrey Carter
2005-01-10  3:20       ` danmcleran
2005-01-10 22:16         ` Robert A Duff
2005-01-10 22:29           ` danmcleran
2005-01-11 20:12             ` Georg Bauhaus
2005-01-11 20:30               ` danmcleran
2005-01-11 21:44               ` Robert A Duff
2005-01-11  0:06           ` Jeffrey Carter
2005-01-11  0:46             ` Robert A Duff
2005-01-11 20:37           ` danmcleran
2005-01-11 21:08             ` Robert A Duff
2005-01-17  4:40 ` Tucker
2005-01-18 13:46   ` danmcleran
2005-01-18 21:29     ` Nick Roberts
2005-01-24 17:23   ` danmcleran
  -- strict thread matches above, loose matches on Subject: below --
2004-12-31 19:06 danmcleran
replies disabled

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