From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-0.3 required=5.0 tests=BAYES_00, REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 Path: backlog1.nntp.dca.giganews.com!backlog3.nntp.dca3.giganews.com!border2.nntp.dca.giganews.com!nntp.giganews.com!goblin3!goblin2!goblin.stu.neva.ru!aioe.org!.POSTED!not-for-mail From: "Dmitry A. Kazakov" Newsgroups: comp.lang.ada Subject: Re: Your wish list for Ada 202X Date: Thu, 27 Mar 2014 17:02:40 +0100 Organization: cbb software GmbH Message-ID: References: <7f1c01c5-3563-4b94-9831-152dbbf2ecdc@googlegroups.com> <206rutb9pqak$.11a3dufqvmrm4.dlg@40tude.net> <3a071d1c-b6d1-4596-83f9-355bc9c29deb@googlegroups.com> <71gmwppfsr52.1n74jhbe1j1ga.dlg@40tude.net> <5023a141-977a-484e-b081-feb0554525d3@googlegroups.com> Reply-To: mailbox@dmitry-kazakov.de NNTP-Posting-Host: I5Na6+WsEzT8WoegI0VZTA.user.speranza.aioe.org Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Complaints-To: abuse@aioe.org User-Agent: 40tude_Dialog/2.0.15.1 X-Notice: Filtered by postfilter v. 0.8.2 Xref: number.nntp.dca.giganews.com comp.lang.ada:185376 Date: 2014-03-27T17:02:40+01:00 List-Id: On Thu, 27 Mar 2014 08:03:54 -0700 (PDT), Dan'l Miller wrote: > On Wednesday, March 26, 2014 12:04:44 PM UTC-5, Dmitry A. Kazakov wrote: >> >> Now is 2014 and there is still no ad-hoc subtypes and supertypes. Subtypes >> are still tightly coupled to the type representation. There is still no >> procedural [sub/super]types. Initialization/finalization is still a mess. >> Renaming to a subtype is still broken and so on and so forth. > > Dmitry, for each of these 4 negatively-bashing topics above, please > provide positively-enlightening details (e.g., revealing examples with > lucid explanation) of precisely what is wrong with the following as well > as the desired state that is impossible in Ada 2012 as defined: I am not a member of ARG. Even if I were, it would be pointless to make any language proposals in c.l.a. > 1) how subtypes could be less-tightly coupled to the type [without > damaging the rest of Ada]; Every aspect of a subtype must be formalized as an interface open to user implementation. Existing constructs must be treated as shortcuts providing predefined implementations of these interfaces. > 2) how procedural sub-/supertypes would differ from today's runtime > polymorphism of subroutines in subtypes overriding same-named subroutines > in supertypes [without damaging the rest of Ada]; They will not be access types. Which would eliminate need of accessibility checks in downward closures. Relation to dynamic polymorphism is not direct. One could consider classes of subprograms as polymorphic bodies with some argument type varying across the class. I didn't think much about it. > 3) precisely in what ways could initialization & finalization be changed > to dismantle the mess [without damaging the rest of Ada]; 1. Every type must support user-defined initialization (with arguments) and finalization; 2. This includes class-wide types; 3. User-defined initialization/finalization must be enforced; 4. Initialization roll-back (on exception) must be supported. > 4) how renaming to a subtype a subtype could be fixed [without damaging > the rest of Ada] (or equivalently: what are your refutations to the ARG's > current inhibition of renaming to a subtype, i.e., where did the ARG go > excessively restrictive in their thinking regarding renaming to a > subtype). Renaming must either respect declared constraints and bounds [including bounds shifts] or else reject them. It is intolerable that these are simply ignored. -- Regards, Dmitry A. Kazakov http://www.dmitry-kazakov.de