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.
next prev parent 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