From: "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de>
Subject: Re: discriminant questions
Date: Tue, 20 Sep 2011 14:57:23 +0200
Date: 2011-09-20T14:57:23+02:00 [thread overview]
Message-ID: <1gti2q424e3tt$.18e95xse1r7j8$.dlg@40tude.net> (raw)
In-Reply-To: 3d49749a-1da5-49b9-bc68-5d9befb4ed62@hb5g2000vbb.googlegroups.com
On Tue, 20 Sep 2011 05:31:34 -0700 (PDT), AdaMagica wrote:
>> P.S. I also see little or no point in using "accessors". Primitive
>> operations Set and Get would be as good/bad.
>
> No, here it's you who misunderstands. Get is still present and returns
> an accessor instead of an access type and thus makes accesses safe (no
> way to deallocate the accessed object). And Get *is* primitive.
Get that returns an independent type breaks inheritance.
Without accessor you have two hierarchies
Object : T <-- S <-- Q
Handles : T_Handle <-- S_Handle <-- Q_Handle
with accessors you add here a third one:
Accessors : Ref_T <-- Ref_S <-- Ref_Q
Now, because Ada does not support MD in any usable form, the above would
quickly turn into an utter mess. Get a primitive operation of T_Handle is
contravariant in its result, it will always return Ref_T or at best
Ref_T'Class. It cannot return Ref_S.
> And with reference types and objects in Ada 2012, there is no more
> need for explicit dereference:
What is wrong with Get returning the target: P.Get?
The accessor-kludge does not eliminate anything, it does dereference the
reference it has first introduced!
--
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de
next prev parent reply other threads:[~2011-09-20 12:57 UTC|newest]
Thread overview: 89+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-09-17 16:30 discriminant questions ytomino
2011-09-17 17:19 ` Dmitry A. Kazakov
2011-09-17 17:46 ` ytomino
2011-09-17 19:41 ` Dmitry A. Kazakov
2011-09-17 22:55 ` ytomino
2011-09-18 8:50 ` Dmitry A. Kazakov
2011-09-18 10:54 ` ytomino
2011-09-18 11:35 ` Dmitry A. Kazakov
2011-09-18 12:41 ` ytomino
2011-09-18 13:17 ` Dmitry A. Kazakov
2011-09-18 16:22 ` ytomino
2011-09-18 16:32 ` ytomino
2011-09-18 18:15 ` Dmitry A. Kazakov
2011-09-18 23:44 ` ytomino
2011-09-19 7:27 ` Dmitry A. Kazakov
2011-09-18 14:43 ` Dmitry A. Kazakov
2011-09-18 16:46 ` Robert A Duff
2011-09-18 18:01 ` Dmitry A. Kazakov
2011-09-18 19:20 ` Maciej Sobczak
2011-09-19 7:39 ` Dmitry A. Kazakov
2011-09-19 20:00 ` Maciej Sobczak
2011-09-20 7:33 ` Dmitry A. Kazakov
2011-09-20 15:45 ` Maciej Sobczak
2011-09-20 16:48 ` Dmitry A. Kazakov
2011-09-20 20:19 ` Maciej Sobczak
2011-09-21 7:48 ` Dmitry A. Kazakov
2011-09-21 20:51 ` Maciej Sobczak
2011-09-22 8:07 ` Dmitry A. Kazakov
2011-09-22 20:57 ` Maciej Sobczak
2011-09-23 7:59 ` Dmitry A. Kazakov
2011-09-23 10:57 ` Georg Bauhaus
2011-09-23 22:30 ` Randy Brukardt
2011-09-23 22:50 ` Randy Brukardt
2011-09-24 6:46 ` Dmitry A. Kazakov
2011-09-26 22:48 ` Randy Brukardt
2011-09-27 8:10 ` Dmitry A. Kazakov
2011-09-27 10:18 ` Georg Bauhaus
2011-09-27 12:14 ` Dmitry A. Kazakov
2011-09-27 15:11 ` Georg Bauhaus
2011-09-27 15:38 ` Dmitry A. Kazakov
2011-09-27 18:06 ` Georg Bauhaus
2011-09-27 19:06 ` Dmitry A. Kazakov
2011-09-29 0:01 ` Georg Bauhaus
2011-09-29 8:26 ` Dmitry A. Kazakov
2011-09-30 1:24 ` Randy Brukardt
2011-09-30 8:10 ` Dmitry A. Kazakov
2011-09-30 10:07 ` Georg Bauhaus
2011-09-30 12:38 ` Dmitry A. Kazakov
2011-09-30 17:40 ` Georg Bauhaus
2011-09-30 18:55 ` Dmitry A. Kazakov
2011-09-23 9:23 ` Stephen Leake
2011-09-23 9:48 ` Dmitry A. Kazakov
2011-09-23 22:42 ` Randy Brukardt
2011-09-24 6:56 ` Dmitry A. Kazakov
2011-09-26 22:43 ` Randy Brukardt
2011-09-24 10:47 ` Stephen Leake
2011-09-24 12:54 ` Simon Wright
2011-09-24 14:46 ` Dmitry A. Kazakov
2011-09-24 16:21 ` Simon Wright
2011-09-24 16:43 ` Dmitry A. Kazakov
2011-09-22 2:52 ` Randy Brukardt
2011-09-22 8:11 ` Dmitry A. Kazakov
2011-09-20 0:01 ` Randy Brukardt
2011-09-20 7:38 ` Dmitry A. Kazakov
2011-09-20 11:11 ` AdaMagica
2011-09-20 12:09 ` Dmitry A. Kazakov
2011-09-20 12:31 ` AdaMagica
2011-09-20 12:57 ` Dmitry A. Kazakov [this message]
2011-09-20 23:28 ` ytomino
2011-09-21 5:03 ` AdaMagica
2011-09-21 8:08 ` Dmitry A. Kazakov
2011-09-21 10:03 ` Georg Bauhaus
2011-09-21 10:29 ` Dmitry A. Kazakov
2011-09-22 3:21 ` Randy Brukardt
2011-09-22 3:05 ` Randy Brukardt
2011-09-19 23:35 ` Randy Brukardt
2011-09-20 21:39 ` ytomino
2011-09-22 3:32 ` Randy Brukardt
2011-09-18 16:32 ` ytomino
2011-09-19 14:46 ` ytomino
2011-09-19 15:14 ` Dmitry A. Kazakov
2011-09-19 17:49 ` ytomino
2011-09-20 7:29 ` Georg Bauhaus
2011-09-20 19:50 ` ytomino
2011-09-20 8:08 ` Dmitry A. Kazakov
2011-09-20 18:47 ` ytomino
2011-09-21 8:16 ` Dmitry A. Kazakov
2011-09-21 9:55 ` ytomino
2011-09-22 3:26 ` Randy Brukardt
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox