From: Robert A Duff <bobduff@shell01.TheWorld.com>
Subject: Re: Bus error
Date: Fri, 29 Jun 2007 22:02:24 -0400
Date: 2007-06-29T22:02:24-04:00 [thread overview]
Message-ID: <wccfy4a6vyn.fsf@shell01.TheWorld.com> (raw)
In-Reply-To: 1183104348.439715.173430@q75g2000hsh.googlegroups.com
Maciej Sobczak <see.my.homepage@gmail.com> writes:
> On 28 Cze, 23:19, Robert A Duff <bobd...@shell01.TheWorld.com> wrote:
>
>> >> No. You can have an untagged private type whose full type is tagged.
>>
>> > You mean - untagged *public*, I suppose?
>>
>> Yeah, the terminology is confusing.
>
> Yes, I meant "untagged public view". If any such thing exists. :-)
The RM term is "partial view".
>> I mean:
>>
>> package P is
>> type T is limited private;
>> private
>> type T is tagged limited ...;
>> end P;
>>
>> or:
>>
>> with Ada.Finalization; use Ada;
>> package P is
>> type T is limited private;
>> private
>> type T is new Finalization.Limited_Controlled with ...;
>> end P;
>
> Yes, or even stricter:
>
> with Ada.Finalization; use Ada;
> package P is
> type T (<>) is limited private;
> private
> type T is new Finalization.Limited_Controlled with ...;
> end P;
>
> which prevents uninitialized objects.
As written, it prevents clients from creating ANY objects of
type T. Clients cannot create uninitialized objects ("X:T;",
or "new T;") because of the (<>). And clients cannot create
initialized objects, because no functions are exported.
In a real example, T might be Set, and there would be some
functions like:
function Empty_Set return Set;
function Intersection (...) return Set;
The (<>) means clients can't create objects of type Set without
initializing them with some function under control of the Sets
package.
>> Most AdaCore folks do not read comp.lang.ada at all.
>
> Interesting.
> Do they have so many official user complaints to read that they don't
> have any time left? :-)
>
> Hey, I can afford this joke, if they don't read it, right?
;-)
- Bob
next prev parent reply other threads:[~2007-06-30 2:02 UTC|newest]
Thread overview: 51+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-06-27 14:23 Bus error Maciej Sobczak
2007-06-27 15:45 ` Georg Bauhaus
2007-06-27 17:19 ` Maciej Sobczak
2007-06-28 1:58 ` Robert A Duff
2007-06-28 20:06 ` Maciej Sobczak
2007-06-28 21:19 ` Robert A Duff
2007-06-29 8:05 ` Maciej Sobczak
2007-06-29 9:42 ` Georg Bauhaus
2007-06-29 16:59 ` Adam Beneschan
2007-06-30 12:33 ` Georg Bauhaus
2007-06-30 2:02 ` Robert A Duff [this message]
2007-06-29 8:04 ` Dmitry A. Kazakov
2007-06-29 9:23 ` AW: " Grein, Christoph (Fa. ESG)
2007-06-29 10:17 ` Dmitry A. Kazakov
2007-06-27 20:02 ` Anh Vo
2007-06-27 20:48 ` Maciej Sobczak
2007-06-28 2:01 ` Robert A Duff
[not found] <0367891DA5DA7E408D42A860FA002F44B0CC48@sma2901.cr.eurocopter.corp>
2007-06-29 9:35 ` AW: " Duncan Sands
2007-06-29 12:55 ` Dmitry A. Kazakov
2007-06-29 15:37 ` Markus E Leypold
2007-06-29 15:44 ` Georg Bauhaus
2007-06-29 20:07 ` Dmitry A. Kazakov
2007-06-30 1:37 ` Robert A Duff
2007-06-30 8:44 ` Dmitry A. Kazakov
2007-06-30 11:52 ` Georg Bauhaus
2007-06-30 13:16 ` Georg Bauhaus
2007-06-30 14:31 ` Dmitry A. Kazakov
2007-06-30 18:07 ` Georg Bauhaus
2007-06-30 19:31 ` Robert A Duff
2007-07-01 9:07 ` Dmitry A. Kazakov
2007-06-30 15:40 ` Robert A Duff
2007-06-30 17:54 ` Georg Bauhaus
2007-07-02 8:01 ` Jean-Pierre Rosen
2007-07-02 12:00 ` Dmitry A. Kazakov
2007-07-02 12:30 ` Jean-Pierre Rosen
2007-07-02 14:22 ` Robert A Duff
2007-06-30 13:14 ` Georg Bauhaus
2007-06-30 14:31 ` Dmitry A. Kazakov
2007-06-30 15:34 ` Robert A Duff
2007-07-01 8:34 ` Dmitry A. Kazakov
2007-07-01 15:39 ` Robert A Duff
2007-07-01 19:41 ` Dmitry A. Kazakov
2007-06-30 15:29 ` Robert A Duff
2007-06-30 17:41 ` Georg Bauhaus
2007-06-30 13:31 ` Markus E Leypold
2007-07-02 0:16 ` Robert A Duff
-- strict thread matches above, loose matches on Subject: below --
1990-08-27 23:48 BUS ERROR J o s e D u a r t e ! ! !
1990-08-16 14:52 saharbaugh%roo.dnet
1990-08-13 21:11 J o s e D u a r t e !!!
1990-08-10 12:32 bus error saharbaugh%roo.dnet
1990-08-09 14:50 saharbaugh%roo.dnet
1990-08-10 21:38 ` Chuck Peterson
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox