comp.lang.ada
 help / color / mirror / Atom feed
From: "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de>
Subject: Re: Is this a bug in my code or the compiler?
Date: Sat, 13 Jun 2015 12:32:40 +0200
Date: 2015-06-13T12:32:40+02:00	[thread overview]
Message-ID: <12d47zawbqsu2$.fba3cmxkkrq1.dlg@40tude.net> (raw)
In-Reply-To: mlgv5n$hqp$1@dont-email.me

On Sat, 13 Jun 2015 12:04:57 +0200, Georg Bauhaus wrote:

> On 12.06.15 20:00, Dmitry A. Kazakov wrote:
>> On Fri, 12 Jun 2015 19:25:00 +0200, G.B. wrote:

>>>      Foo (A) and Foo (A)  -- Legal
>>
>> Only if A is a constant access. Illegal otherwise.
> 
> Is there chapter and verse in the 83 LRM for this?

Constant access was introduced in Ada 95, I believe.

>>  parallelism is a can of worms.
> 
> ... if designed without regard to parallel evaluation/execution.
> That's a matter of course, isn't it?

Well, the parallelism of that kind is too low-level.

There could be different approaches to the issue. One is a contract on the
arguments evaluation order, which is usually proposed. It does not make
much sense because the operation usually has no idea about the semantics of
the actual arguments.

Another approach would be properties of the operation's results influencing
the order, e.g. purity. By-value vs. by-reference mode is an example of
this approach. I.e. instead of stating any order, the set of possible
orders would be deduced from the expressions of actual arguments.

The third approach is explicit ordering syntax, e.g. some extended syntax
of the keyed argument association.

-- 
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de

  reply	other threads:[~2015-06-13 10:32 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-06-12 15:56 Is this a bug in my code or the compiler? David Botton
2015-06-12 16:15 ` Dmitry A. Kazakov
2015-06-12 17:25   ` G.B.
2015-06-12 18:00     ` Dmitry A. Kazakov
2015-06-13 10:04       ` Georg Bauhaus
2015-06-13 10:32         ` Dmitry A. Kazakov [this message]
2015-06-15 10:37           ` G.B.
2015-06-15 12:27             ` Dmitry A. Kazakov
2015-06-15 12:31               ` Simon Wright
2015-06-15 13:16                 ` Dmitry A. Kazakov
2015-06-15 14:56                   ` Simon Wright
2015-06-15 15:03                     ` G.B.
2015-06-13 19:42       ` Brad Moore
2015-06-12 17:53   ` David Botton
2015-06-12 18:11     ` Dmitry A. Kazakov
2015-06-12 18:43       ` marciant
2015-06-12 19:37     ` Jeffrey R. Carter
2015-06-12 19:55       ` Simon Wright
2015-06-12 20:40         ` Jeffrey R. Carter
2015-06-12 21:40           ` Simon Wright
2015-06-12 19:39     ` jan.de.kruyf
2015-06-12 22:10       ` David Botton
2015-06-13  0:19         ` Dennis Lee Bieber
2015-06-13 14:21         ` jan.de.kruyf
2015-06-14  3:13     ` Randy Brukardt
2015-06-14  3:21     ` Randy Brukardt
2015-06-12 16:48 ` Jeffrey R. Carter
2015-06-13 13:33 ` Jacob Sparre Andersen
2015-06-13 15:15   ` J-P. Rosen
2015-06-13 16:43     ` Jacob Sparre Andersen
2015-06-13 20:50       ` J-P. Rosen
2015-06-14  3:18   ` Randy Brukardt
2015-06-14  3:10 ` Randy Brukardt
2015-06-14  9:02   ` Jacob Sparre Andersen
2015-06-14 12:48     ` brbarkstrom
2015-06-15 22:06     ` Randy Brukardt
replies disabled

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