From: Stefan.Lucks@uni-weimar.de
Subject: Re: Running a preprocessor from GPS?
Date: Wed, 29 Jul 2015 09:15:18 +0200
Date: 2015-07-29T09:15:18+02:00 [thread overview]
Message-ID: <alpine.DEB.2.20.1507290857520.3461@debian> (raw)
In-Reply-To: <75a31df9-801e-4e7f-8e29-403c0650c891@googlegroups.com>
[-- Attachment #1: Type: text/plain, Size: 1708 bytes --]
On Tue, 28 Jul 2015, EGarrulo wrote:
> On Tuesday, July 28, 2015 at 2:54:50 PM UTC+2, Dmitry A. Kazakov wrote:
>
>> You can inline the suggested wrapper and hope that the compiler indeed does
>> inlining than effectively will make it lazily evaluated.
>
> I can't understand what you mean here. Would you please explain
> further? Thank you.
I am not Dmitry, but here is what I frequently do (I actually have a
package Debug for that). The declaration is as follows:
procedure Trace(Do_It: Boolean; Message: String) with Inline;
The implementation is
procedure Trace(Do_It: Boolean; Message: String) is
begin
if Do_It then
Ada.Text_IO.Put_Line(Trace_File, Message);
end if;
end Trace;
In your program, you just write
Me_Active: Constant Boolean := True;
-- change this to False if you don't want to trace Me.
Debug.Trace(Me_Active, "Performing Step " & Step(Me));
Now the compiler (well, gnat -- I have no clue what other compilers will
do) will first inline the code inside Debug.Trace and, if Active_Me is
False, and the function Step has no side effects, the compiler will
eliminate the dead code -- at least, if you switch on the optimization.
Actually, this is *not* lazy evaluation: If Step has side effects, Ada
requires to evaluate it, even if Me_Active is False. A lazy language would
not evaluate Step. But in the given case, who would want to call some
function Step with side effects?
-------- I love the taste of Cryptanalysis in the morning! --------
www.uni-weimar.de/de/medien/professuren/mediensicherheit/people/stefan-lucks
----Stefan.Lucks (at) uni-weimar.de, Bauhaus-Universität Weimar, Germany----
next prev parent reply other threads:[~2015-07-29 7:15 UTC|newest]
Thread overview: 175+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-07-27 14:28 Running a preprocessor from GPS? EGarrulo
2015-07-27 16:47 ` David Botton
2015-07-27 17:17 ` EGarrulo
2015-07-27 20:26 ` Randy Brukardt
2015-07-27 21:14 ` Jeffrey R. Carter
2015-07-27 22:23 ` EGarrulo
2015-07-28 7:23 ` Simon Wright
2015-07-28 11:36 ` EGarrulo
2015-07-28 21:12 ` Randy Brukardt
2015-07-28 22:11 ` EGarrulo
2015-07-28 22:41 ` EGarrulo
2015-07-29 9:52 ` G.B.
2015-07-29 20:32 ` Randy Brukardt
2015-07-29 22:32 ` EGarrulo
2015-07-29 23:51 ` Jeffrey R. Carter
2015-07-30 0:10 ` EGarrulo
2015-07-30 6:01 ` Niklas Holsti
2015-07-30 7:33 ` Björn Lundin
2015-07-30 8:03 ` EGarrulo
2015-07-30 8:08 ` Jacob Sparre Andersen
2015-07-30 8:37 ` EGarrulo
2015-07-30 8:49 ` Georg Bauhaus
2015-07-30 12:15 ` EGarrulo
2015-07-30 14:11 ` G.B.
2015-07-30 19:29 ` Jeffrey R. Carter
2015-07-30 20:53 ` EGarrulo
2015-07-30 22:52 ` Jeffrey R. Carter
2015-07-31 7:29 ` Georg Bauhaus
2015-07-31 7:53 ` gautier_niouzes
2015-07-31 8:26 ` Simon Wright
2015-07-31 9:13 ` Dmitry A. Kazakov
2015-07-31 9:31 ` EGarrulo
2015-07-31 11:01 ` Dmitry A. Kazakov
2015-07-31 13:50 ` EGarrulo
2015-07-31 16:29 ` Dmitry A. Kazakov
2015-07-31 11:26 ` Brian Drummond
2015-07-31 12:12 ` EGarrulo
2015-07-31 12:15 ` EGarrulo
2015-07-31 17:54 ` Jeffrey R. Carter
2015-07-31 18:20 ` EGarrulo
2015-07-31 18:51 ` Jeffrey R. Carter
2015-08-01 7:20 ` Simon Wright
2015-08-01 8:06 ` EGarrulo
2015-08-01 8:33 ` Simon Wright
2015-08-01 10:47 ` EGarrulo
2015-08-01 11:27 ` Simon Wright
2015-08-01 11:44 ` Niklas Holsti
2015-08-01 12:19 ` EGarrulo
2015-08-01 17:49 ` Jeffrey R. Carter
2015-08-01 18:15 ` Paul Rubin
2015-08-01 18:59 ` Jeffrey R. Carter
2015-08-01 20:30 ` Georg Bauhaus
2015-08-01 20:44 ` EGarrulo
2015-08-01 22:44 ` Jeffrey R. Carter
2015-08-01 23:39 ` EGarrulo
2015-08-02 0:02 ` Jeffrey R. Carter
2015-08-02 0:18 ` EGarrulo
2015-08-02 0:30 ` EGarrulo
2015-08-02 6:05 ` Jeffrey R. Carter
2015-08-02 8:29 ` EGarrulo
2015-08-02 19:21 ` Jeffrey R. Carter
2015-08-02 21:37 ` EGarrulo
2015-08-03 2:35 ` Jeffrey R. Carter
2015-08-02 2:53 ` Paul Rubin
2015-08-02 6:07 ` Jeffrey R. Carter
2015-08-02 8:36 ` EGarrulo
2015-08-01 16:53 ` Jeffrey R. Carter
2015-08-01 17:00 ` Jeffrey R. Carter
2015-08-01 7:48 ` Dmitry A. Kazakov
2015-07-30 8:23 ` Georg Bauhaus
2015-07-30 8:45 ` EGarrulo
2015-07-30 9:19 ` Dmitry A. Kazakov
2015-07-30 11:22 ` Niklas Holsti
2015-07-30 13:00 ` EGarrulo
2015-07-30 13:30 ` Dmitry A. Kazakov
2015-07-30 13:51 ` EGarrulo
2015-07-30 14:13 ` Dmitry A. Kazakov
2015-07-30 14:46 ` Simon Wright
2015-07-30 14:31 ` G.B.
2015-07-30 18:46 ` Randy Brukardt
2015-07-30 9:18 ` EGarrulo
2015-07-30 18:55 ` Randy Brukardt
2015-07-30 19:32 ` EGarrulo
2015-07-31 0:10 ` Randy Brukardt
2015-07-30 11:35 ` Brian Drummond
2015-07-30 13:30 ` EGarrulo
2015-07-31 11:07 ` Brian Drummond
2015-07-30 8:28 ` Pascal Obry
2015-07-30 12:00 ` EGarrulo
2015-07-30 10:01 ` Björn Lundin
2015-07-30 10:59 ` Pascal Obry
2015-07-30 11:21 ` gautier_niouzes
2015-07-30 18:35 ` Randy Brukardt
2015-07-31 15:21 ` Stefan.Lucks
2015-07-31 17:28 ` Pascal Obry
2015-08-01 11:38 ` Björn Lundin
2015-08-01 20:07 ` Stefan.Lucks
2015-08-03 23:26 ` Randy Brukardt
2015-07-30 6:08 ` Dmitry A. Kazakov
2015-07-30 6:37 ` Georg Bauhaus
2015-07-30 8:27 ` Pascal Obry
2015-07-30 9:22 ` Dmitry A. Kazakov
2015-07-30 11:51 ` EGarrulo
2015-07-30 12:23 ` Dmitry A. Kazakov
2015-07-30 13:55 ` Niklas Holsti
2015-08-30 7:03 ` David Thompson
2015-07-30 14:07 ` EGarrulo
2015-07-30 18:12 ` Jeffrey R. Carter
2015-07-30 18:51 ` EGarrulo
2015-07-30 19:27 ` Jeffrey R. Carter
2015-07-30 19:54 ` EGarrulo
2015-07-30 22:53 ` Jeffrey R. Carter
2015-07-30 23:58 ` Randy Brukardt
2015-07-30 11:54 ` EGarrulo
2015-07-30 12:42 ` Pascal Obry
2015-07-30 13:21 ` EGarrulo
2015-07-30 13:38 ` Dmitry A. Kazakov
2015-07-30 13:55 ` EGarrulo
2015-07-30 15:23 ` Niklas Holsti
2015-07-30 19:32 ` Randy Brukardt
2015-07-30 20:10 ` EGarrulo
2015-07-31 0:23 ` Randy Brukardt
2015-07-31 6:29 ` Dmitry A. Kazakov
2015-08-02 10:08 ` EGarrulo
2015-08-02 12:15 ` EGarrulo
2015-07-29 23:45 ` EGarrulo
2015-07-30 0:25 ` Jeffrey R. Carter
2015-07-30 8:12 ` EGarrulo
2015-07-30 18:01 ` Jeffrey R. Carter
2015-07-29 6:46 ` Simon Wright
2015-07-29 7:17 ` Dmitry A. Kazakov
2015-07-29 19:57 ` Randy Brukardt
2015-07-29 20:09 ` Jeffrey R. Carter
2015-07-30 18:16 ` Randy Brukardt
2015-07-29 20:38 ` Simon Wright
2015-07-30 7:50 ` Jacob Sparre Andersen
2015-07-30 14:48 ` G.B.
2015-07-30 15:58 ` Simon Wright
2015-07-30 15:13 ` EGarrulo
2015-07-30 15:21 ` EGarrulo
2015-07-30 15:29 ` G.B.
2015-07-30 16:02 ` Simon Wright
2015-07-30 16:15 ` Simon Wright
2015-07-30 16:29 ` EGarrulo
2015-07-30 17:31 ` Simon Wright
2015-07-28 10:28 ` Brian Drummond
2015-07-28 11:39 ` EGarrulo
2015-07-29 10:02 ` Brian Drummond
2015-07-29 10:29 ` Brian Drummond
2015-07-29 12:00 ` EGarrulo
2015-07-29 19:23 ` gautier_niouzes
2015-07-28 11:43 ` Björn Lundin
2015-07-28 11:51 ` Dmitry A. Kazakov
2015-07-28 12:06 ` EGarrulo
2015-07-28 12:54 ` Dmitry A. Kazakov
2015-07-28 13:18 ` EGarrulo
2015-07-28 13:49 ` EGarrulo
2015-07-28 14:02 ` Bob Duff
2015-07-28 14:57 ` G.B.
2015-07-28 15:36 ` Dmitry A. Kazakov
2015-07-29 7:15 ` Stefan.Lucks [this message]
2015-07-29 7:52 ` EGarrulo
2015-07-29 17:30 ` Stefan.Lucks
2015-07-29 18:49 ` Jeffrey R. Carter
2015-07-29 20:40 ` Randy Brukardt
2015-07-30 7:40 ` gautier_niouzes
2015-07-30 19:22 ` Randy Brukardt
2015-07-28 13:06 ` G.B.
2015-07-28 13:19 ` EGarrulo
2015-07-28 20:55 ` Randy Brukardt
2015-07-28 22:31 ` EGarrulo
2015-07-29 20:09 ` Randy Brukardt
2015-07-29 22:40 ` EGarrulo
2015-07-28 12:07 ` Björn Lundin
2015-07-31 19:44 ` Per Sandberg
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox