From: Niklas Holsti <niklas.holsti@tidorum.invalid>
Subject: Re: Ada202X: Easy to use "UML private"-like components
Date: Sat, 22 Jun 2013 19:41:00 +0300
Date: 2013-06-22T19:41:00+03:00 [thread overview]
Message-ID: <b2m2csFh64iU1@mid.individual.net> (raw)
In-Reply-To: <wccwqpnux8n.fsf@shell01.TheWorld.com>
On 13-06-21 21:36 , Robert A Duff wrote:
> I share your disdain for what you called "opaque" types -- it forces you
> into heap management, which leads to extra trouble. But I object to
> calling them "opaque" types. Ada folks usually call them "stt access
> types" and "stt incomplete types", or "Taft amendment types", because
> they were invented by Tucker Taft and added to Ada 83 at the last minute
> when nobody realized all the headaches they cause for compiler writers.
> The term "opaque type" comes from Modula-2, IIRC, and is more like
> an Ada private type, with some annoying restrictions added.
According to the Modula-2 Reference at
http://www.modula2.org/reference/modules.php, when a Modula-2 definition
module declares an opaque type,
"The corresponding implementation module must contain a full type
declaration for any opaque types declared in the definition module. The
full type declaration must define a pointer type."
I take this to mean that a Modula-2 opaque type uses indirection through
a pointer type, just as the "stt access types" in Ada, and unlike Ada
private types in general.
--
Niklas Holsti
Tidorum Ltd
niklas holsti tidorum fi
. @ .
next prev parent reply other threads:[~2013-06-22 16:41 UTC|newest]
Thread overview: 54+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-06-21 8:43 Ada202X: Easy to use "UML private"-like components Martin
2013-06-21 9:23 ` Dmitry A. Kazakov
2013-06-21 9:33 ` Martin
2013-06-21 10:14 ` G.B.
2013-06-21 11:19 ` Martin
2013-06-21 14:51 ` Dmitry A. Kazakov
2013-06-22 11:16 ` Martin
2013-06-22 12:10 ` Dmitry A. Kazakov
2013-06-21 18:36 ` Robert A Duff
2013-06-22 16:41 ` Niklas Holsti [this message]
2013-06-22 19:05 ` Dennis Lee Bieber
2013-06-22 22:57 ` Niklas Holsti
2013-06-23 3:26 ` Dennis Lee Bieber
2013-06-23 7:32 ` Niklas Holsti
2013-06-23 13:12 ` Robert A Duff
2013-06-23 14:06 ` Dmitry A. Kazakov
2013-06-23 15:15 ` Robert A Duff
2013-06-23 18:52 ` Dmitry A. Kazakov
2013-06-23 23:38 ` Robert A Duff
2013-06-24 7:16 ` Dmitry A. Kazakov
2013-06-24 20:11 ` Randy Brukardt
2013-06-25 7:21 ` Dmitry A. Kazakov
2013-06-25 19:06 ` Randy Brukardt
2013-06-24 20:07 ` Randy Brukardt
2013-06-23 14:40 ` Shark8
2013-06-23 15:28 ` Robert A Duff
2013-06-23 18:14 ` Bill Findlay
2013-06-23 23:43 ` Robert A Duff
2013-06-23 23:48 ` Bill Findlay
2013-06-24 20:16 ` Randy Brukardt
2013-06-24 20:05 ` Randy Brukardt
2013-06-25 1:09 ` Robert A Duff
2013-06-25 19:37 ` Randy Brukardt
2013-06-23 12:28 ` Robert A Duff
2013-06-24 20:20 ` Randy Brukardt
2013-06-24 21:40 ` Niklas Holsti
2013-06-25 0:43 ` Robert A Duff
2013-06-25 19:23 ` Randy Brukardt
2013-06-25 19:19 ` Randy Brukardt
2013-07-09 11:24 ` Martin
2013-07-09 14:39 ` Simon Wright
2013-07-10 7:03 ` Martin
2013-07-09 21:43 ` Robert A Duff
2013-07-10 6:34 ` Martin
2013-07-10 8:24 ` Dmitry A. Kazakov
2013-07-10 13:06 ` Martin
2013-07-10 16:12 ` Simon Wright
2013-07-10 18:22 ` Martin
2013-07-10 19:41 ` Simon Wright
2013-07-11 18:28 ` Martin
2013-07-11 19:37 ` Simon Wright
2013-07-11 20:43 ` Martin
2013-07-12 6:57 ` Simon Wright
2013-07-12 8:05 ` Martin
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox