comp.lang.ada
 help / color / mirror / Atom feed
From: "Randy Brukardt" <randy@rrsoftware.com>
Subject: Re: Proposal: Auto-allocation of Indefinite Objects
Date: Sat, 22 Aug 2020 23:48:13 -0500	[thread overview]
Message-ID: <rhssee$ar5$1@franka.jacob-sparre.dk> (raw)
In-Reply-To: rhnqjf$bga$2@gioia.aioe.org

"Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> wrote in message 
news:rhnqjf$bga$2@gioia.aioe.org...
> On 21/08/2020 01:30, Randy Brukardt wrote:
...
>> There's no reason that a compiler couldn't "build-in" a simple bounded
>> vector container as the basic building block.
>
> That simply replaces the word "array" with four words "simple bounded 
> vector container." The construct is still there and it is still built-in. 
> The syntax and usability are drastically worse, though.

??? The syntax of use is the same (as it is in Ada 2012). Declaration would 
be an instance, about the same length and wordiness as an array declaration. 
Yes, junk like slices, settable/retrievable bounds, and built-in operations 
that are rarely used would be gone, but so would the rather substantial 
overhead that those things entail. There'd be a lot more flexibility in 
implementation, which would allow better implementations.

Virtually every array that I write has a fixed size (capacity really) and a 
usage high-water mark (a "length"). Having that generated automatically 
would be usually better than having to reinvent it literally every time I 
program something. (And as you've noticed repeatedly, Ada's type abstraction 
isn't good enough to make it practical to build anything reusable to do 
that.)

>> One could do something similar for records, although I would probably 
>> leave
>> them as in Ada and just allow user-definition of "." (via a getter/setter
>> pair).
>
> Ditto.

???

The basic idea would be to eliminate the huge number of special cases that 
exist in Ada resolution and essentially make *everything* a subprogram call 
at it's heart. Ada did that for enumeration literals and that model makes 
sense for pretty much everything: object usage, indexing, selection, etc. It 
would be much easier to prove that resolution is doing the right thing (I 
don't think that would be practically possible for Ada).

                                 Randy.


  reply	other threads:[~2020-08-23  4:48 UTC|newest]

Thread overview: 47+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-04-03 22:48 Proposal: Auto-allocation of Indefinite Objects Stephen Davies
2020-04-03 23:45 ` Stephen Leake
2020-04-04 10:54   ` Jeffrey R. Carter
2020-04-04 20:55     ` Stephen Davies
2020-04-04  8:31 ` Dmitry A. Kazakov
2020-07-27  7:47 ` Yannick Moy
2020-07-27  9:21   ` J-P. Rosen
2020-07-27  9:49     ` Dmitry A. Kazakov
2020-07-27 17:48   ` Brian Drummond
2020-07-27 20:02     ` Dmitry A. Kazakov
2020-07-28 14:28       ` Brian Drummond
2020-07-28 14:59         ` Dmitry A. Kazakov
2020-07-29 15:33           ` Brian Drummond
2020-07-29 16:20             ` Dmitry A. Kazakov
2020-07-30 13:37               ` Stephen Davies
2020-07-30 14:23                 ` Dmitry A. Kazakov
2020-07-30 17:04               ` Brian Drummond
2020-07-30 18:28                 ` Dmitry A. Kazakov
2020-08-10  0:39                   ` Randy Brukardt
2020-08-10  8:57                     ` Dmitry A. Kazakov
2020-08-20  0:10                       ` Randy Brukardt
2020-08-20 17:49                         ` Dmitry A. Kazakov
2020-08-20 20:19                           ` Dennis Lee Bieber
2020-08-20 23:33                             ` Randy Brukardt
2020-08-21  6:45                               ` Dmitry A. Kazakov
2020-08-23  4:52                                 ` Randy Brukardt
2020-08-23 12:28                                   ` Dmitry A. Kazakov
2020-08-20 23:30                           ` Randy Brukardt
2020-08-21  6:46                             ` Dmitry A. Kazakov
2020-08-23  4:48                               ` Randy Brukardt [this message]
2020-08-23 12:29                                 ` Dmitry A. Kazakov
2020-08-10  0:31               ` Randy Brukardt
2020-08-10  8:58                 ` Dmitry A. Kazakov
2020-08-20  0:13                   ` Randy Brukardt
2020-08-20 17:49                     ` Dmitry A. Kazakov
2020-08-20 23:25                       ` Randy Brukardt
2020-08-21  7:08                         ` Dmitry A. Kazakov
2020-08-23  5:03                           ` Randy Brukardt
2020-08-23 12:28                             ` Dmitry A. Kazakov
2020-07-27 20:31     ` Jeffrey R. Carter
2020-07-31  9:25 ` Stephen Davies
2020-07-31 10:20   ` Dmitry A. Kazakov
2020-08-01 11:22     ` Stephen Davies
2020-08-01 12:58       ` Dmitry A. Kazakov
2020-08-01 20:35         ` Stephen Davies
2020-08-01 20:56           ` Dmitry A. Kazakov
2020-09-03  4:30 ` linda white
replies disabled

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