comp.lang.ada
 help / color / mirror / Atom feed
From: Brian Drummond <brian@shapes.demon.co.uk>
Subject: Re: Proposal: Auto-allocation of Indefinite Objects
Date: Mon, 27 Jul 2020 17:48:40 -0000 (UTC)	[thread overview]
Message-ID: <rfn41o$ccv$1@dont-email.me> (raw)
In-Reply-To: 8a502b6c-4609-4cd8-b292-5797fe6421e1n@googlegroups.com

On Mon, 27 Jul 2020 00:47:30 -0700, Yannick Moy wrote:

>> My proposal is that it should (sometimes?) be possible to declare
>> objects of indefinite types such as String and have the compiler
>> automatically declare the space for them without the programmer having
>> to resort to access types.

In one sense we already have this ... in that we can do this in a Declare 
block, where stack allocation is a practical implementation.

But what about cases where (for whatever reason) we want it allocated on 
the heap?

In another sense we have it as JP Rosen said, for the specific example 
Unbounded_String.

Is there any way we could generalise the (storage, access and lifetime 
aspects of) Unbounded_String for unconstrained arrays and discriminated 
records in such a way that Unbounded_String can be a simple instantiation 
of one of these? 

But without the full flexibility (or overhead) of controlled types. So, 
somewhere in between, as:

1. Controlled type
|
---2.Unconstrained Array or Discriminated Record 
   |
   ---3. Unbounded String (instance of 2)

2) can be implemented internally using pointers, but externally appears 
to be a data object, just like Unbounded_String does, with similar 
semantics. 

-- Brian

  parent reply	other threads:[~2020-07-27 17: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 [this message]
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
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