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: Fri, 12 Jun 2015 20:11:20 +0200
Date: 2015-06-12T20:11:20+02:00	[thread overview]
Message-ID: <xbgrg1rqjz4n$.141vkthh9qg38$.dlg@40tude.net> (raw)
In-Reply-To: afb6fe82-1f67-49a8-b4b1-f814a71ba8fd@googlegroups.com

On Fri, 12 Jun 2015 10:53:04 -0700 (PDT), David Botton wrote:

>> That is one of the reasons why in-out's were not allowed for functions in
>> Ada 83. The code is clearly erroneous because the computation order is not
>> defined. Possibly Token_End is called before Token_Start!
> 
> A programmer having to worry about order of operation in a concatenation
> operation is a language flaw in my opinion.

Yes, but in Ada 83 side effects in functions were frowned at. The troubles
arose first with side effects used quite liberally in the standard library
and by most programmers.

> I can accept the issue in
> evaluation order of Boolean expressions or numerics (and knew of that),
> but not in non numeric types.

The name suggests that short-cut logical operations were considered as a
syntax sugar to save keystrokes - a replacement for nested IFs. Quickly
enough it was discovered that in some contexts you cannot have IFs (e.g. in
barriers) and that people disliked nested IFs anyway.

But the issues of ordering and re-ordering, eager vs. lazy evaluation,
aliasing, purity, atomicity are not limited to Boolean types.

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


  reply	other threads:[~2015-06-12 18:11 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
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 [this message]
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