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=ham autolearn_force=no version=3.4.4 X-Google-Thread: 103376,73cb216d191f0fef X-Google-NewGroupId: yes X-Google-Attributes: gida07f3367d7,domainid0,public,usenet X-Google-Language: ENGLISH,ASCII-7-bit X-Received: by 10.180.94.41 with SMTP id cz9mr4419136wib.1.1363127053179; Tue, 12 Mar 2013 15:24:13 -0700 (PDT) Path: bp2ni88529wib.1!nntp.google.com!proxad.net!feeder1-2.proxad.net!feeder.erje.net!eu.feeder.erje.net!news.albasani.net!news2.arglkargh.de!noris.net!newsfeed.arcor.de!newsspool3.arcor-online.net!news.arcor.de.POSTED!not-for-mail Date: Tue, 12 Mar 2013 23:23:52 +0100 From: Georg Bauhaus User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:17.0) Gecko/20130307 Thunderbird/17.0.4 MIME-Version: 1.0 Newsgroups: comp.lang.ada Subject: Re: Is this expected behavior or not References: <8klywqh2pf$.1f949flc1xeia.dlg@40tude.net> <513f6e2f$0$6572$9b4e6d93@newsspool3.arcor-online.net> In-Reply-To: Message-ID: <513faaf7$0$6626$9b4e6d93@newsspool2.arcor-online.net> Organization: Arcor NNTP-Posting-Date: 12 Mar 2013 23:23:51 CET NNTP-Posting-Host: addca3e6.newsspool2.arcor-online.net X-Trace: DXC=9dl?3i[gm\ePXlQ;h]GTMdA9EHlD;3Ycb4Fo<]lROoRa8kFejVh^;ba9;cBJdiMJK0S?1``Xi X-Complaints-To: usenet-abuse@arcor.de Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Date: 2013-03-12T23:23:51+01:00 List-Id: On 12.03.13 19:21, Dmitry A. Kazakov wrote: > On Tue, 12 Mar 2013 19:04:31 +0100, Georg Bauhaus wrote: > >> On 12.03.13 18:42, Dmitry A. Kazakov wrote: >>> On Tue, 12 Mar 2013 13:19:06 -0400, Robert A Duff wrote: >>>>> The profile of 'Succ is given in RM-3.5(23): >>>>> >>>>> function S'Succ (Arg: S'Base) return S'Base; >>>>> >>>>> It's neither contravariant nor covariant -- it's invariant. >>> Invariant = contravariant. >> >> In Ada? For non-tagged types? > > Tagged is a special case, nothing more. > > When the compiler allows instances of Prime in an operation of Prime'Base > that means that Prime inherits the operation No inheritance involved here, in Ada, where the object involved simply is of an unconstrained subtype of the given type of Prime, which is not Prime. This type, not Prime (which isn't a type), has the attribute 'Succ, irrespective of the subtype, and irrespective of some differently formalizing theory of types that, I think, can only help to set things straight here if every word used in every non-Ada argument gets a subscript indicating its frame of reference.