comp.lang.ada
 help / color / mirror / Atom feed
From: "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de>
Subject: Re: High-Integrity OO and controlled types
Date: Mon, 2 May 2011 09:59:33 +0200
Date: 2011-05-02T09:59:33+02:00	[thread overview]
Message-ID: <cyto1lalneg3$.lfdeey81xgqv.dlg@40tude.net> (raw)
In-Reply-To: wccoc3mcdp5.fsf@shell01.TheWorld.com

On Sun, 01 May 2011 17:29:10 -0400, Robert A Duff wrote:

> Maciej Sobczak <see.my.homepage@gmail.com> writes:
> 
>> "Controlled types are not supported since they require extensive run-
>> time support."

A prejudice

>> This is surprising to me. I don't see anything in controlled types
>> that would require "extensive run-time support".
> 
> Most of the "extensive run-time support" comes from heap-allocated
> objects containing controlled parts.
> 
> If you say (for example, perhaps in a nested scope):
> 
>     type A is access T'Class;
>     type T2 is new T with ...;
>     X : A := new T2'(...);
[...]
> Finalization also needs to deal with partially-initialized objects,
> and finalize exactly those subcomponents that were successfully
> initialized.
>
> That's all "extensive run-time support".

No, that is an extensive run-time support of dynamically allocated
controlled objects. Any dynamically allocated object requires run-time
support (e.g. heap), which can be considered extensive.

Regarding Finalization, that is not "support", it is a part of the type's
semantics. In this sense the ADD instruction is a run-time support of
Integer type, and thus the whole program's code is "support" of itself. 

-- 
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de



  parent reply	other threads:[~2011-05-02  7:59 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-05-01 20:38 High-Integrity OO and controlled types Maciej Sobczak
2011-05-01 21:29 ` Robert A Duff
2011-05-01 22:44   ` Simon Wright
2011-05-02  7:59   ` Dmitry A. Kazakov [this message]
2011-05-02 16:32     ` Robert A Duff
2011-05-02 19:39       ` Dmitry A. Kazakov
2011-05-03  0:08         ` Robert A Duff
2011-05-03  7:30           ` Dmitry A. Kazakov
2011-05-03 16:51             ` Robert A Duff
2011-05-02  9:50 ` Cyrille
2011-05-02 10:01   ` Cyrille
2011-05-02 19:25     ` Maciej Sobczak
2011-05-03  9:32       ` Cyrille
2011-05-03  9:59         ` Maciej Sobczak
2011-05-03 10:24           ` Dmitry A. Kazakov
2011-05-03 16:53             ` Robert A Duff
2011-05-03 17:37               ` Dmitry A. Kazakov
2011-05-03 11:28           ` Georg Bauhaus
2011-05-03 12:27             ` Dmitry A. Kazakov
2011-05-03 15:22               ` Georg Bauhaus
2011-05-03 16:28                 ` Dmitry A. Kazakov
2011-05-04  8:48                   ` Georg Bauhaus
2011-05-04  9:28                     ` Dmitry A. Kazakov
2011-05-04 14:46                       ` Georg Bauhaus
2011-05-04 15:01                         ` Dmitry A. Kazakov
2011-05-04 15:25                           ` Georg Bauhaus
2011-05-04 16:23                             ` Dmitry A. Kazakov
2011-05-04 17:06                               ` Georg Bauhaus
2011-05-04 20:16                                 ` Dmitry A. Kazakov
2011-05-05  7:13                                   ` Maciej Sobczak
2011-05-05 10:58                                     ` Cyrille
2011-05-05 12:35                                       ` Dmitry A. Kazakov
replies disabled

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