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=-1.9 required=5.0 tests=BAYES_00 autolearn=unavailable autolearn_force=no version=3.4.4 Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!feeder.eternal-september.org!aioe.org!.POSTED!not-for-mail From: "Dmitry A. Kazakov" Newsgroups: comp.lang.ada Subject: Re: about inheritance of subtypes and entities (such as constants) related to a type in the same package Date: Thu, 31 May 2018 10:54:21 +0200 Organization: Aioe.org NNTP Server Message-ID: References: NNTP-Posting-Host: MyFhHs417jM9AgzRpXn7yg.user.gioia.aioe.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit X-Complaints-To: abuse@aioe.org User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.8.0 X-Notice: Filtered by postfilter v. 0.8.3 Content-Language: en-US Xref: reader02.eternal-september.org comp.lang.ada:52802 Date: 2018-05-31T10:54:21+02:00 List-Id: On 2018-05-30 10:53 PM, Dan'l Miller wrote: > Yes, I realize that this thread is speaking colloquially in retrospect about Ada83 features as primordial pre-OO. But the OP's entire topic is predicated on subtyping and type-derivation of non-tagged types that then abuses the OO/Ada95 term "inheritance" as a proleptic anachronism, back misapplying inheritance to the entirely-different Ada83 language that clearly lacks inheritance, in both name and spirit (or primordial soup thereof). No, it is still inheritance. Ada 83 subtype inherits operations and representation of the base type. Similarly Ada 83 cloned type (type X is new Y) inherits (clones) both. > Rather, Ada83 has type derivation and subtyping, which despite the similarity of the name subtyping with OO's subclassing (made worse by C++'s & then later Java's abuse of the term class to mean a single type instead of a tree of types), subtyping in Ada83 has nothing to do with subclassing in Ada95 or any other OO language. Yes, but these are names for the same concept of a types algebra operation when a new type is produced from an old type by *inheriting* some of the operations and representations of the old. Different are the ways of inheritance and methods of achieving substitutability. Ada 95 introduced a new (for Ada) method in addition to the methods Ada 83 already had. -- Regards, Dmitry A. Kazakov http://www.dmitry-kazakov.de