comp.lang.ada
 help / color / mirror / Atom feed
From: Victor Porton <porton@narod.ru>
Subject: Re: Controlled types as interfaces
Date: Wed, 20 Aug 2014 15:49:36 +0300
Date: 2014-08-20T15:49:36+03:00	[thread overview]
Message-ID: <lt25h5$m32$1@speranza.aioe.org> (raw)
In-Reply-To: 17zg1do470nci.15209dgoz3ktk.dlg@40tude.net

Dmitry A. Kazakov wrote:

> On Wed, 20 Aug 2014 04:09:15 +0300, Victor Porton wrote:
> 
>> Victor Porton wrote:
>>> I think in Ada 202X we can invent Limited_Controlled_Interface and
>>> Controlled_Interface types derived from which could become controlled.
> 
> Yes, but that would be very complicated, because you could add an
> interface very late, making a descendant of a non-controlled type
> controlled.
> 
> A better solution would be fixing initialization (AKA constructors) and
> leaving controlled kludge as is.

I don't see any reason not to make descendant of a non-controlled type 
controlled.

Let T is a non-controlled tagged type.

It descendant Q is like a record

record
   Old: T;
   Ext: Q1;
end record;

(where Q1 is the difference of Q and T).

Q1 is controlled.

As there is no problem that this record becomes controlled, there are no 
reason not to make Q controlled despite of T was non-controlled.

-- 
Victor Porton - http://portonvictor.org


  reply	other threads:[~2014-08-20 12:49 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-08-20  1:05 Controlled types as interfaces Victor Porton
2014-08-20  1:09 ` Victor Porton
2014-08-20  7:29   ` Dmitry A. Kazakov
2014-08-20 12:49     ` Victor Porton [this message]
2014-08-20 13:47       ` Dmitry A. Kazakov
2014-08-21 23:16         ` Randy Brukardt
2014-08-29 15:01           ` Robert A Duff
2014-08-29 23:54             ` Randy Brukardt
2014-08-20 12:50     ` Victor Porton
2014-08-20 13:38       ` Dmitry A. Kazakov
2014-08-20 13:56       ` Brad Moore
2014-08-21 22:48         ` Randy Brukardt
2014-08-20  1:41 ` Victor Porton
replies disabled

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