comp.lang.ada
 help / color / mirror / Atom feed
From: Mark Lorenzen <mark.lorenzen@gmail.com>
Subject: Re: Why can't objects be static in Ada?
Date: Tue, 16 Apr 2019 05:11:33 -0700 (PDT)
Date: 2019-04-16T05:11:33-07:00	[thread overview]
Message-ID: <1127d366-d36c-4abf-8590-4b8c0e2b5446@googlegroups.com> (raw)
In-Reply-To: <q93bqr$qj3$1@franka.jacob-sparre.dk>

On Tuesday, April 16, 2019 at 3:40:45 AM UTC+2, Randy Brukardt wrote:
> >
> > package Static is
> >  pragma Preelaborate;
> 
> I view this as self-inflicted, because there's no little value to pragma 
> Preelaborate. As I previously noted, compilers will almost always generate 
> the best possible elaboration code whether or not that pragma is applied. 
> And regardless of C.4, not all preelaborated code can be done before load 
> time, so it isn't providing a benefit in forcing that sort of code, either.
> 
> It's one of the ideas where Ada tried to accomplish something, but didn't 
> quite succeed. Pure is like that as well, but at least it provides some 
> benefits for Annex E code. Preelaborate doesn't even do that.

How can it be ensured that a library written in Ada does not require any elaboration. Pragma Pure? I think that such libraries are "nice" but pragma Pure is too restrictive for that purpose. In such cases it would be good, if e.g. the OP's problem could be solved at compile time without any elaboration.

Regards,
Mark L

  reply	other threads:[~2019-04-16 12:11 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-04-11 12:40 Why can't objects be static in Ada? Lucretia
2019-04-11 12:56 ` Mark Lorenzen
2019-04-11 13:31   ` Lucretia
2019-04-11 22:49 ` Randy Brukardt
2019-04-12  1:56   ` Lucretia
2019-04-12  7:33     ` Dmitry A. Kazakov
2019-04-12 22:38     ` Randy Brukardt
2019-04-13  9:14       ` Lucretia
2019-04-12  6:59   ` Mark Lorenzen
2019-04-12  8:12     ` Simon Wright
2019-04-12 22:02     ` Randy Brukardt
2019-04-13 13:07 ` Jere
2019-04-13 13:48   ` Lucretia
2019-04-15 17:46     ` G. B.
2019-04-14  3:47 ` Keith Thompson
2019-04-16  0:08 ` sbelmont700
2019-04-16  1:40   ` Randy Brukardt
2019-04-16 12:11     ` Mark Lorenzen [this message]
2019-04-16 16:19       ` Simon Wright
2019-04-16 20:56       ` Lucretia
2019-04-16 21:07         ` Niklas Holsti
2019-04-16 21:16           ` Lucretia
2019-04-16 21:40             ` Niklas Holsti
2019-04-16 23:26             ` Randy Brukardt
2019-04-23 14:30           ` Mark Lorenzen
2019-04-16 23:09       ` Randy Brukardt
2019-04-22 20:05       ` Norman Worth
2019-04-16 20:54     ` Lucretia
2019-04-16 23:15       ` Randy Brukardt
2019-04-16 20:53   ` Lucretia
2019-04-18 13:32 ` sbelmont700
replies disabled

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