comp.lang.ada
 help / color / mirror / Atom feed
From: "Randy Brukardt" <randy@rrsoftware.com>
Subject: Re: Visibility of Indexing aspects
Date: Thu, 26 Jul 2018 14:09:52 -0500
Date: 2018-07-26T14:09:52-05:00	[thread overview]
Message-ID: <pjd6a1$863$1@franka.jacob-sparre.dk> (raw)
In-Reply-To: aeeb29f7-86d1-4b18-9312-03e1239f22b0@googlegroups.com

"Dan'l Miller" <optikos@verizon.net> wrote in message 
news:aeeb29f7-86d1-4b18-9312-03e1239f22b0@googlegroups.com...
On Wednesday, July 25, 2018 at 7:12:24 PM UTC-5, Randy Brukardt wrote:
> "Dan'l Miller" wrote in message
> news:3eebe2fb-f066-4248-9b2f-1db32497fd82@googlegroups.com...
...
>> ...
>> >The _LRM_'s forcing of {Reference, Reference_Holder, Container_Array, 
>> >...}
>> >to be public declarations ...
>>
>> ...is perfectly fine -- there's nothing wrong or dangerous with using 
>> them
>> directly. Indeed, "indexing" is just a shorthand for a longer call 
>> involving
>> Reference -- you're always allowed to make the longer call
>
>Yeah, unyieldingly demanding that unnecessary feature is the root-cause of 
>the
>violation of Steelman 3-5B detailed far below.

(1) No one reads any of your babble, simply because it is way too long for a 
"fun", non-required site. Say something consisely and stop! I struggle with 
this myself at times, but you're 10 times worse (which I didn't think was 
possible. :-)

(2) Steelman is only relevant (if it is relevant at all) for evaluating a 
new language design. Ada hasn't been a new design for decades --  
compatibility with existing code and existing Ada principles is what matters 
today. I cannot recall the last time that Steelman even came up in language 
discussions - there hasn't been a significant consideration of it in 
decades. (In part because it hasn't been updated in decades -- it predates 
OOP, for instance.)

(3) It's most important for a language to be self-consistent, rather than 
following some external model of purity. And it's definitely possible to 
hide too much.

(4) Ada doesn't really have user-defined indexing; it has some syntactic 
sugar that gives the illusion of user-defined indexing. The rules (static 
and dynamic) for it all stem from the underlying mechanism; it has rather 
little on its own.

Languages with true user-defined indexing existed before Ada; Ichbiah must 
have intentionally chosen not to include that feature. A language defined 
today around such a feature would be very different than Ada -- it probably 
wouldn't even have built-in array type. (An array is just another kind of 
container, and it's very inconsistent to have it be wildly different in 
definition than other containers.) Ada has so many bizarre rules around the 
use of built-ins that trying to reproduce it in a consistent way would lead 
to madness (dozens of special-case rules that exist only for compatibility). 
[Dmitry is right that it could be done, in the sense that anything can be 
done given enough money  and/or desire. But it wouldn't make any realistic 
sense to be done.]

I need to write that long-thought about blog entry outlining how I would 
change Ada given a blank slate. It would be something on the line of what 
Dmitry suggests, but almost all aspect-based (explicit interfaces are 
useless IMHO).

                                           Randy.





  reply	other threads:[~2018-07-26 19:09 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-07-14 14:18 Visibility of Indexing aspects Jere
2018-07-14 17:04 ` Shark8
2018-07-14 18:29   ` Jere
2018-07-14 18:41     ` Dmitry A. Kazakov
2018-07-14 23:00     ` Shark8
2018-07-14 23:28       ` Jere
2018-07-15 14:41 ` AdaMagica
2018-07-15 15:33   ` Jere
2018-07-16  3:22     ` AdaMagica
2018-07-17  0:35       ` Jere
2018-07-17  9:46         ` AdaMagica
2018-07-17 10:11           ` AdaMagica
2018-07-20 12:08             ` Jere
2018-07-20 16:11               ` AdaMagica
2018-07-20 22:03                 ` Dan'l Miller
2018-07-20 22:07                 ` Jere
2018-07-21 10:33                   ` AdaMagica
2018-07-24  3:32                   ` Randy Brukardt
2018-07-24 17:15                     ` Dan'l Miller
2018-07-25  5:37                       ` Randy Brukardt
2018-07-25 18:26                         ` Dan'l Miller
2018-07-25 19:58                           ` AdaMagica
2018-07-25 20:57                             ` Dan'l Miller
2018-07-26  0:12                               ` Randy Brukardt
2018-07-26  2:41                                 ` Dan'l Miller
2018-07-26 19:09                                   ` Randy Brukardt [this message]
2018-07-26 20:31                                 ` Shark8
2018-07-26 21:25                                   ` Dan'l Miller
2018-07-27 22:05                                     ` Randy Brukardt
2018-07-28  0:35                                       ` Dan'l Miller
2018-07-27 21:58                                   ` Randy Brukardt
2018-07-20 22:23                 ` Jere
2018-07-20 22:25                   ` Jere
2018-07-21  5:58                   ` J-P. Rosen
  -- strict thread matches above, loose matches on Subject: below --
2018-08-02 20:31 Randy Brukardt
2018-08-03  0:43 ` Dan'l Miller
2018-08-03 20:56   ` Randy Brukardt
2018-08-03 21:32     ` Dan'l Miller
2018-08-06 21:46       ` Randy Brukardt
2018-08-06 22:12         ` Dmitry A. Kazakov
2018-08-07 15:13         ` Dan'l Miller
2018-08-07 22:41           ` Randy Brukardt
replies disabled

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