comp.lang.ada
 help / color / mirror / Atom feed
From: "Randy Brukardt" <randy@rrsoftware.com>
Subject: Re: Ichbiah 2022 compiler mode
Date: Mon, 23 Dec 2024 19:00:32 -0600	[thread overview]
Message-ID: <vkd13i$1fk3i$1@dont-email.me> (raw)
In-Reply-To: vk631h$3vfb4$1@dont-email.me

"Jeffrey R.Carter" <spam.jrcarter.not@spam.acm.org.not> wrote in message 
news:vk631h$3vfb4$1@dont-email.me...
...
> I put a lot of effort into making sure that all constants are so declared, 
> because I have the rule that (with certain exceptions) no non-local 
> variables may be referenced from subprograms, but constants may be 
> referenced from anywhere.

Precisely. The idea is to encourage use of constants by eliminating the 
unnatural advantage to writing uninitialized variables. If everything is 
equally easy/hard to write, then one is more likely to make the best choice 
for the program.

> However, I sometimes have constants that cannot be initialized with a 
> single expression, resulting in
>
> C : T; -- Constant after initialization
>
> Once C has been initialized, I treat it as a constant. Would your approach 
> allow the compiler to know that C is really a constant?

Not with the approach I was envisioning. Of course, Ada 2022 and beyond 
already make it possible to initialize a lot more objects (especially with 
the introduction of container aggregates), so hopefully it will be less 
necessary to write things like your example.

                           Randy.

> -- 
> Jeff Carter
> "Anyone who cannot cope with mathematics
> is not fully human."
> The Notebooks of Lazarus Long
> 214 


  reply	other threads:[~2024-12-24  1:00 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 [this message]
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
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