From: "Randy Brukardt" <randy@rrsoftware.com>
Subject: Re: Enforcing initialization protocol for protected type
Date: Fri, 11 Sep 2009 17:24:57 -0500
Date: 2009-09-11T17:24:57-05:00 [thread overview]
Message-ID: <h8eiq8$sjb$1@munin.nbi.dk> (raw)
In-Reply-To: 1rusjydws2ko.rpfwzoyv4bzj$.dlg@40tude.net
"Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> wrote in message
news:1rusjydws2ko.rpfwzoyv4bzj$.dlg@40tude.net...
...
> P.S. It looks like a language design bug. If allowed then at least it
> should have been like:
>
> Obj: subtype Rec (new Disc);
> -- An anonymous subtype is declared for Obj
I think most of us consider "coextensions" a language design bug. Indeed,
that is about the nicest thing I can say about them. There are many of us
who think that allocators of anonymous access types should simply be illegal
(in all contexts), because what they mean currently depends so heavily on
context and that makes them a maintenance nightmare (at best).
Morevoer, the rules for coextensions are a constantly shifting complex
morrass. So, if you want to give yourself and your vendor a constant supply
of headaches, then by all means use coextensions. Otherwise, I highly
suggest you avoid them.
(For the record, Janus/Ada does not support coextensions -- recent versions
make the allocators illegal since they don't have the correct semantics.
Implementation is currently scheduled for approximately the year 2092. ;-)
Randy.
next prev parent reply other threads:[~2009-09-11 22:24 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-09-07 15:15 Enforcing initialization protocol for protected type Maciej Sobczak
2009-09-07 17:01 ` Georg Bauhaus
2009-09-07 20:19 ` Maciej Sobczak
2009-09-10 17:07 ` Georg Bauhaus
2009-09-11 5:01 ` AdaMagica
2009-09-11 9:03 ` Dmitry A. Kazakov
2009-09-11 15:25 ` AdaMagica
2009-09-11 16:27 ` Dmitry A. Kazakov
2009-09-11 22:24 ` Randy Brukardt [this message]
2009-09-12 8:44 ` Dmitry A. Kazakov
2009-09-10 16:39 ` Per Sandberg
2009-09-14 21:15 ` Adam Beneschan
2009-09-15 0:27 ` 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