comp.lang.ada
 help / color / mirror / Atom feed
From: "Randy Brukardt" <randy@rrsoftware.com>
Subject: Re: Ada Pure or Preelaborate or ? in Adare_net
Date: Wed, 5 Jan 2022 17:40:04 -0600	[thread overview]
Message-ID: <sr5a8l$eua$1@franka.jacob-sparre.dk> (raw)
In-Reply-To: 378bc69a-8388-4daf-b13f-523fd1defa12n@googlegroups.com

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 1571 bytes --]

"Daniel Norte Moraes" <danielcheagle@gmail.com> wrote in message 
news:378bc69a-8388-4daf-b13f-523fd1defa12n@googlegroups.com...
>Em terça-feira, 4 de janeiro de 2022 às 10:52:42 UTC-3, Fabien Chouteau 
>escreveu:
>> On Friday, December 31, 2021 at 5:13:33 PM UTC+1, daniel...@gmail.com 
>> wrote:
>> > For this reason, if really 'is' pure, not pure, preelaborate or what 
>> > (?), pleeeeeeaaase, we ask the group's Ada Language Lawyers to help 
>> > analyze and suggest modifications if necessary.
>> I recommend reading this: 
>> https://stackoverflow.com/questions/19353228/when-to-use-pragma-pure-preelaborate
>>
>> If your units are declared as Pure, the compiler considers that they have 
>> no side effect and can decided to call the sub-programs only once and 
>> cache the result, or not even call the sub-program if the result is not 
>> used after.

>Thanks!
>I read the post and believe that because most variables are either streamed 
>or aliased and imported, lib works as it should.
>However, there is still the possible problem of omitting the same 
>subprograms with the same parameters (by compiler), although in the tests 
>this did not happen, would replacing aspect 'pure' by 'preelaborate' solve 
>this possible problem?

Yes. The permission to omit calls only applies to Pure (see 10.2.1(18/3)). 
http://www.ada-auth.org/standards/2xaarm/html/AA-10-2-1.html#p18. (I gave a 
reference to the Ada 2022 AARM, but this rule hasn't changed in spirit since 
it was introduced in Ada 95.)

                        Randy.


  reply	other threads:[~2022-01-05 23:40 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-12-31 16:13 Ada Pure or Preelaborate or ? in Adare_net Daniel Norte Moraes
2022-01-04  1:11 ` Simon Belmont
2022-01-05 16:11   ` Daniel Norte Moraes
2022-01-04 13:52 ` Fabien Chouteau
2022-01-05 16:33   ` Daniel Norte Moraes
2022-01-05 23:40     ` Randy Brukardt [this message]
2022-01-06 20:39       ` Daniel Norte Moraes
replies disabled

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