comp.lang.ada
 help / color / mirror / Atom feed
From: "Randy Brukardt" <randy@rrsoftware.com>
Subject: Re: New aggregates with Ada 2022.
Date: Thu, 23 Jun 2022 20:21:09 -0500	[thread overview]
Message-ID: <t933i7$n6g$1@dont-email.me> (raw)
In-Reply-To: t91gmo$rh1$1@dont-email.me

"G.B." <bauhaus@notmyhomepage.invalid> wrote in message 
news:t91gmo$rh1$1@dont-email.me...
> On 23.06.22 11:32, Dmitry A. Kazakov wrote:
>
>> In any case having an explicit array interface does not preclude built-in 
>> arrays.
>
> Indeed, if there were no built-in arrays, how would one
>
> - specify aspects like "contiguous memory",
> - permit implementations to create efficient addressing
>   for arrays' storage units
> - map to hardware?

With aspects, of course, that are part of the "interface". Why do you think 
that one needs a visible built-in array in order to support these (or any 
other) operations?

Again, at the implementation level, surely there is some sort of built-in 
array. But one does not need to expose that at the programmer level. 
"Efficient addressing" is the compiler's job, it will do whatever makes 
sense for the target (and those vary quite a bit).

For example, "contiguous" is an aspect that Ada is missing (but should 
have). Implementations should have the freedom to pick any implementation in 
the absence of such as aspect (which should be rarely needed, mainly for 
interfacing with hardware and foreign software).

Mapping to hardware could be handled with a "fixed vector" container (one 
that would be rarely used other than for interfacing). It doesn't require an 
array, just something with the right semantics.

                        Randy.


  reply	other threads:[~2022-06-24  1:21 UTC|newest]

Thread overview: 44+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-06-19  7:59 New aggregates with Ada 2022 Blady
2022-06-19 14:15 ` Simon Wright
2022-06-20 19:36   ` Blady
2022-06-20 22:01     ` Simon Wright
2022-06-20 21:47 ` Randy Brukardt
2022-06-20 22:18   ` Dmitry A. Kazakov
2022-06-21 23:28     ` Randy Brukardt
2022-06-22  9:04       ` Dmitry A. Kazakov
2022-06-23  1:06         ` Randy Brukardt
2022-06-23  9:32           ` Dmitry A. Kazakov
2022-06-23 10:53             ` G.B.
2022-06-24  1:21               ` Randy Brukardt [this message]
2022-06-24  1:24             ` Randy Brukardt
2022-06-24  6:50               ` Dmitry A. Kazakov
2022-06-25  3:13                 ` Randy Brukardt
2022-06-25  8:50                   ` Dmitry A. Kazakov
2022-06-27 21:37                     ` Randy Brukardt
2022-06-28  5:36                       ` Niklas Holsti
2022-06-29  4:01                         ` Randy Brukardt
2022-06-29  8:30                           ` Jeffrey R.Carter
2022-06-29  9:04                             ` Dmitry A. Kazakov
2022-06-30  5:03                               ` Randy Brukardt
2022-06-30  8:44                                 ` Dmitry A. Kazakov
2022-06-29 11:06                             ` Niklas Holsti
2022-06-29 12:53                               ` Jeffrey R.Carter
2022-06-30  5:07                                 ` Randy Brukardt
2022-06-30  5:14                               ` Randy Brukardt
2022-06-30  8:31                                 ` Marius Amado-Alves
2022-07-01  5:20                                   ` Randy Brukardt
2022-06-30 10:30                                 ` Jeffrey R.Carter
2022-06-30 15:48                                   ` Marius Amado-Alves
2022-06-30 16:39                                     ` Jeffrey R.Carter
2022-07-01  0:07                                       ` Marius Amado-Alves
2022-06-28  7:52                       ` Dmitry A. Kazakov
2022-06-29  4:07                         ` Randy Brukardt
2022-06-29  7:24                           ` Dmitry A. Kazakov
2022-06-30  5:00                             ` Randy Brukardt
2022-06-21 23:39     ` Randy Brukardt
2022-06-22  8:26       ` Dmitry A. Kazakov
2022-06-23  1:10         ` Randy Brukardt
2022-06-23  9:32           ` Dmitry A. Kazakov
2022-06-20 22:10 ` Jesper Quorning
2022-06-20 22:59   ` Jesper Quorning
2022-06-21 23:20     ` 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