comp.lang.ada
 help / color / mirror / Atom feed
From: "Randy Brukardt" <randy@rrsoftware.com>
Subject: Re: Parameterised 'Image Attributes
Date: Wed, 6 Sep 2023 20:04:00 -0500	[thread overview]
Message-ID: <udb7hb$2n54o$1@dont-email.me> (raw)
In-Reply-To: uchukd$1lnvp$1@dont-email.me

"Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> wrote in message 
news:uchukd$1lnvp$1@dont-email.me...
> On 2023-08-28 11:18, Stephen Davies wrote:
>
...
>Neither there is one why 'Image must be a non-overridable attribute

There actually is a good reason for this. Attributes have global visibility. 
So if you allowed overriding of attributes, then a with added or removed in 
a remote part of a program could silently change the behavior of code that 
has no knowledge of of the change. That would be bad for "programming in the 
large". Note that Ada 95 was proven to have no such cases, and we've tried 
very hard to avoid them.

One could imagine adding rather severe restrictions to overriding of 
attributes to eliminate this problem (for instance, only allowing it for 
primitive operations of the type), but that would eliminate all real value 
of the feature (you can always use a primitive function and "use all" to get 
the same effect without any new features).

For 'Image specifically, the design of the attribute doesn't work well for 
composition (for Image for composite types), which is why Ada 2022 has a 
separate attribute that can be overridden similar to a stream attribute.

                          Randy. 


  parent reply	other threads:[~2023-09-07  1:04 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-08-18  7:18 Parameterised 'Image Attributes Rod Kay
2023-08-18  8:25 ` Luke A. Guest
2023-08-19  9:14   ` J-P. Rosen
2023-08-19 10:03     ` Dmitry A. Kazakov
2023-08-19 11:45       ` Luke A. Guest
2023-08-19 11:56       ` J-P. Rosen
2023-08-19 13:01         ` Dmitry A. Kazakov
2023-08-19 15:27     ` Jeffrey R.Carter
2023-08-20  7:53       ` G.B.
2023-08-20  9:27         ` Dmitry A. Kazakov
2023-08-21 23:11           ` Randy Brukardt
2023-08-21 23:37           ` Randy Brukardt
2023-08-22  7:38             ` Dmitry A. Kazakov
2023-08-19 16:49     ` moi
2023-08-20  7:25       ` Randy Brukardt
2023-08-20  9:43         ` Dmitry A. Kazakov
2023-08-21 23:34           ` Randy Brukardt
2023-08-22  8:13             ` Dmitry A. Kazakov
2023-08-23 10:20               ` Stephen Davies
2023-08-23 16:16                 ` Dmitry A. Kazakov
2023-08-24 19:59                   ` Stephen Davies
2023-08-25  7:26                     ` Dmitry A. Kazakov
2023-08-25  9:04                       ` Stephen Davies
2023-08-25 13:02                         ` Dmitry A. Kazakov
2023-08-28  9:18                           ` Stephen Davies
2023-08-28 10:58                             ` Dmitry A. Kazakov
2023-08-28 15:42                               ` Stephen Davies
2023-08-28 16:09                                 ` Dmitry A. Kazakov
2023-08-28 17:33                                   ` G.B.
2023-08-28 19:08                                     ` Dmitry A. Kazakov
2023-08-28 17:58                               ` Niklas Holsti
2023-08-28 19:08                                 ` Dmitry A. Kazakov
2023-09-07  1:04                               ` Randy Brukardt [this message]
2023-09-07  9:01                                 ` Dmitry A. Kazakov
2023-08-18 18:53 ` Keith Thompson
2023-09-23 10:00 ` Rod Kay
2023-09-26  5:47   ` Vadim Godunko
2023-09-26 10:15     ` Rod Kay
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox