From: "Steve" <nospam_steved94@comcast.net>
Subject: Re: and then... (a curiosity)
Date: Mon, 1 Sep 2008 20:41:33 -0700
Date: 2008-09-01T20:41:33-07:00 [thread overview]
Message-ID: <57qdnfULQ9tzKCHVnZ2dnUVZ_tHinZ2d@comcast.com> (raw)
In-Reply-To: 18b41828-bda4-4484-8884-ad62ce1c831d@f36g2000hsa.googlegroups.com
"mockturtle" <framefritti@gmail.com> wrote in message
news:18b41828-bda4-4484-8884-ad62ce1c831d@f36g2000hsa.googlegroups.com...
> Dear.all,
> today while I was writing in my favorite language
> (PERL with C extensions, of course :-)))) I wondered why in Ada the
> "shortcut and" is "and then", while the simple "and" has not
> a shortcut behaviour. My curiosity stems from the fact that
> I am not able to envision any situation where the "non shortcut"
> version would preferable, but I immagine that there was some
> reason for this choice. Do anyone have any hint?
>
> Thank you in advance.
There are cases where both arguments to an "and" operator should always be
used. For example if you have Function A and Functon B involved in a
condition:
if A(x) and B(y) then
... do something
end if;
If short circuit evalution is permitted then more complex logic is required
to assure that both arguments are evaluated:
resultA := A(x);
resultB := B(z);
if resultA and resultB then
... do something
end if;
With Ada you can choose whether or not you want short circuit evaluation.
If you require short circuit evaluation you must convey that information to
the compiler. If you do not require short circuit evaluation you can convey
that information as well. The more the compiler knows about your
requirements, the greater the potential for optimization.
The form used also conveys information about the code to programmers reading
the code.
Regards,
Steve
next prev parent reply other threads:[~2008-09-02 3:41 UTC|newest]
Thread overview: 93+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-08-29 21:06 and then... (a curiosity) mockturtle
2008-08-29 21:47 ` Samuel Tardieu
2008-08-30 21:28 ` Maciej Sobczak
2008-08-31 8:28 ` Georg Bauhaus
2008-08-31 23:21 ` Ray Blaak
2008-09-01 8:05 ` Martin Krischik
2008-09-01 17:56 ` Ray Blaak
2008-09-02 6:53 ` Martin Krischik
2008-09-02 14:56 ` Adam Beneschan
2008-09-02 16:28 ` Ray Blaak
2008-09-02 16:26 ` Ray Blaak
2008-09-02 20:50 ` Robert A Duff
2008-09-03 12:35 ` Brian Drummond
2008-09-03 15:56 ` Robert A Duff
2008-09-04 22:09 ` Brian Drummond
2008-09-03 21:01 ` Vinzent Hoefler
2008-09-02 14:50 ` Adam Beneschan
2008-08-29 22:28 ` Adam Beneschan
2008-08-30 1:06 ` Jeffrey R. Carter
2008-08-30 11:21 ` Dmitry A. Kazakov
2008-08-30 15:35 ` Peter C. Chapin
2008-09-02 15:06 ` Adam Beneschan
2008-09-02 3:41 ` Steve [this message]
2008-09-02 7:48 ` stefan-lucks
2008-09-02 8:57 ` Martin Krischik
2008-09-02 10:50 ` stefan-lucks
2008-09-02 10:33 ` Ludovic Brenta
2008-09-02 13:32 ` stefan-lucks
2008-09-02 12:53 ` Ludovic Brenta
2008-09-02 17:32 ` Georg Bauhaus
2008-09-03 13:14 ` stefan-lucks
2008-09-03 12:44 ` Dmitry A. Kazakov
2008-09-02 13:39 ` stefan-lucks
2008-09-02 13:40 ` stefan-lucks
2008-09-02 16:48 ` Dmitry A. Kazakov
2008-09-02 17:00 ` Keith Thompson
2008-09-02 19:15 ` Simon Wright
2008-09-02 20:37 ` Robert A Duff
2008-09-02 20:58 ` Jeffrey R. Carter
2008-09-02 21:08 ` Robert A Duff
2008-09-03 12:24 ` Pascal Obry
2008-09-02 22:34 ` Santiago Urueña
2008-09-03 5:56 ` Robert A Duff
2008-09-03 6:55 ` Santiago Urueña
2008-09-03 14:14 ` Adam Beneschan
2008-09-03 0:11 ` Randy Brukardt
2008-09-02 17:20 ` Georg Bauhaus
2008-09-04 1:05 ` Stephen Leake
2008-09-04 6:45 ` stefan-lucks
2008-09-04 7:35 ` Dmitry A. Kazakov
2008-09-04 12:04 ` stefan-lucks
2008-09-04 13:00 ` Dmitry A. Kazakov
2008-09-04 19:05 ` stefan-lucks
2008-09-04 20:28 ` Dmitry A. Kazakov
2008-09-05 6:57 ` stefan-lucks
2008-09-05 6:34 ` Ray Blaak
2008-09-05 14:14 ` Robert A Duff
2008-09-05 15:04 ` Dmitry A. Kazakov
2008-09-07 16:45 ` stefan-lucks
2008-09-05 15:14 ` Hyman Rosen
2008-09-05 15:59 ` Adam Beneschan
2008-09-05 16:10 ` Hyman Rosen
2008-09-07 16:36 ` stefan-lucks
2008-09-07 16:08 ` Gautier
2008-09-04 7:39 ` Karel Th�nissen
2008-09-04 12:12 ` stefan-lucks
2008-09-04 15:13 ` Georg Bauhaus
2008-09-04 15:16 ` Karel Th�nissen
2008-09-04 15:42 ` Dmitry A. Kazakov
2008-09-04 19:27 ` stefan-lucks
2008-09-04 19:43 ` stefan-lucks
2008-09-04 19:40 ` Georg Bauhaus
2008-09-05 7:00 ` stefan-lucks
2008-09-05 6:35 ` Ray Blaak
2008-09-04 20:06 ` Karel Th�nissen
2008-09-05 7:44 ` stefan-lucks
2008-09-05 6:41 ` Vinzent Hoefler
2008-09-04 20:09 ` Karel Th�nissen
2008-09-05 7:25 ` stefan-lucks
2008-09-05 6:37 ` Ray Blaak
2008-09-05 8:20 ` stefan-lucks
2008-09-05 13:57 ` Robert A Duff
2008-09-04 16:33 ` Dmitry A. Kazakov
2008-09-04 19:31 ` stefan-lucks
2008-09-04 19:59 ` Karel Th�nissen
2008-09-05 7:27 ` stefan-lucks
2008-09-05 8:38 ` Ludovic Brenta
2008-09-04 20:17 ` Dmitry A. Kazakov
2008-09-05 13:26 ` Robert A Duff
2008-09-05 13:49 ` Robert A Duff
2008-09-03 1:24 ` Stephen Leake
2008-09-03 3:31 ` tmoran
2008-09-03 13:22 ` stefan-lucks
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox