From: Keith Thompson <Keith.S.Thompson+u@gmail.com>
Subject: Re: Ichbiah 2022 compiler mode
Date: Sat, 21 Dec 2024 13:26:06 -0800 [thread overview]
Message-ID: <87frmgwwwh.fsf@nosuchdomain.example.com> (raw)
In-Reply-To: vk5tc9$3uoku$1@dont-email.me
"Randy Brukardt" <randy@rrsoftware.com> writes:
[...]
> A lot of "variables" in code actually are only written once. In Ada, those
> are better modeled as constants. A constant tells the reader that the value
> doesn't change during the life of the object, which is easier for analysis
> (both human and machine).
[...]
Agreed. But my understanding is that compilers typically do this kind
of analysis anyway, at least when optimization is enabled. For example,
if I write:
N : Integer := 42;
and later refer to the value of N, if the compiler is able to prove to
itself that N is never modified after its initialization, it can replace
a reference to N with the constant 42 (and possibly fold it into other
constant expressions).
Using "constant" for something that isn't going to be modified is good
practice, but I'd say it's for the benefit of the human reader.
--
Keith Thompson (The_Other_Keith) Keith.S.Thompson+u@gmail.com
void Void(void) { Void(); } /* The recursive call of the void */
next prev parent reply other threads:[~2024-12-21 21:26 UTC|newest]
Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-09-05 11:52 Ichbiah 2022 compiler mode Kevin Chadwick
2024-09-05 13:40 ` Jeffrey R.Carter
2024-09-05 13:49 ` Bill Findlay
2024-09-05 19:22 ` Jeffrey R.Carter
2024-09-05 14:05 ` Kevin Chadwick
2024-09-05 16:08 ` Kevin Chadwick
2024-09-05 19:24 ` Jeffrey R.Carter
2024-09-06 0:03 ` Randy Brukardt
2024-09-06 0:58 ` Lawrence D'Oliveiro
2024-09-12 4:39 ` Randy Brukardt
2024-09-12 22:24 ` Lawrence D'Oliveiro
2024-09-14 6:18 ` Randy Brukardt
2024-09-14 7:18 ` Lawrence D'Oliveiro
2024-09-06 21:22 ` Simon Wright
2024-09-07 17:13 ` Niklas Holsti
2024-09-07 20:34 ` Nioclás Pól Caileán de Ghloucester
2024-09-12 4:46 ` Randy Brukardt
2024-09-12 7:42 ` Niklas Holsti
2024-09-12 9:07 ` Dmitry A. Kazakov
2024-09-12 12:36 ` Kevin Chadwick
2024-09-12 15:43 ` Niklas Holsti
2024-09-13 20:45 ` Nioclás Pól Caileán de Ghloucester
2024-09-12 9:04 ` J-P. Rosen
2024-09-12 11:35 ` Niklas Holsti
2024-09-14 6:13 ` Randy Brukardt
2024-09-14 6:47 ` Dmitry A. Kazakov
2024-09-14 7:19 ` Lawrence D'Oliveiro
2024-09-14 8:12 ` Niklas Holsti
2024-12-20 23:26 ` Lioneldraghi
2024-12-21 8:14 ` Randy Brukardt
2024-12-21 9:50 ` Jeffrey R.Carter
2024-12-24 1:00 ` Randy Brukardt
2024-12-21 17:19 ` G.B.
2024-12-21 17:35 ` Chris Townley
2024-12-22 12:15 ` Simon Wright
2024-12-22 15:52 ` G.B.
2024-12-22 23:06 ` Simon Wright
2024-12-24 1:03 ` Randy Brukardt
2024-12-21 21:26 ` Keith Thompson [this message]
2024-12-22 9:32 ` Pascal Obry
2024-12-21 0:52 ` Lioneldraghi
2024-12-21 8:19 ` Randy Brukardt
2024-09-06 11:07 ` Jeffrey R.Carter
2024-09-06 20:26 ` Nioclás Pól Caileán de Ghloucester
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox