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: a07f3367d7,158ce2376534c35d X-Google-Attributes: gida07f3367d7,public,usenet X-Google-NewGroupId: yes X-Google-Language: ENGLISH,ASCII Path: g2news1.google.com!postnews.google.com!v12g2000vby.googlegroups.com!not-for-mail From: Adam Beneschan Newsgroups: comp.lang.ada Subject: Re: Derived private interface Date: Wed, 6 Jul 2011 16:56:03 -0700 (PDT) Organization: http://groups.google.com Message-ID: <425f89e6-8c77-4615-a717-f6991ca63b65@v12g2000vby.googlegroups.com> References: <27656578-65aa-48b9-9f89-4ebd4e0cb02a@glegroupsg2000goo.googlegroups.com> <0fe3b0f8-c064-444d-899d-640e891b58c3@w4g2000yqm.googlegroups.com> <128d8eb5-1cc6-47e3-a09b-b53a5ef289ce@m10g2000yqd.googlegroups.com> <4e141501$0$6629$9b4e6d93@newsspool2.arcor-online.net> <4b2728fc-6127-45d8-a314-9fc491701c26@g12g2000yqd.googlegroups.com> <4e145c3a$0$6542$9b4e6d93@newsspool4.arcor-online.net> <4e14dc0c$0$6565$9b4e6d93@newsspool3.arcor-online.net> NNTP-Posting-Host: 66.126.103.122 Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-Trace: posting.google.com 1309996563 8424 127.0.0.1 (6 Jul 2011 23:56:03 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: Wed, 6 Jul 2011 23:56:03 +0000 (UTC) Complaints-To: groups-abuse@google.com Injection-Info: v12g2000vby.googlegroups.com; posting-host=66.126.103.122; posting-account=duW0ogkAAABjRdnxgLGXDfna0Gc6XqmQ User-Agent: G2/1.0 X-Google-Web-Client: true X-Google-Header-Order: ARLUEHNKC X-HTTP-UserAgent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; WOW64; Trident/4.0; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; .NET CLR 3.5.21022; .NET CLR 3.5.30729; .NET CLR 3.0.30618; .NET4.0C),gzip(gfe) Xref: g2news1.google.com comp.lang.ada:20110 Date: 2011-07-06T16:56:03-07:00 List-Id: On Jul 6, 3:05=A0pm, Georg Bauhaus wrote: > But, seriously, as they reportedly say in ARG circles, almost no one > understands Ada. =A0Therefore, if a substantial amount of understanding > is necessary in order to use indicators properly, there is something > wrong somewhere, IMHO. Either I'm having difficulty following your argument, or you've totally lost the plot. You do not need a lot of understanding to use overriding indicators. If you declare an operation and you intend that this operation replaces (overrides) the same operation for the parent, then add "overriding". If you declare an operation and you intend that it be a NEW operation that did not exist for the parent type, then add "not overriding". Seems simple to me---you don't need a "substantial amount of understanding" for this! If you use one of these indicators, the compiler will then complain if your keyword doesn't match the compiler's concept of whether the declaration is overriding or not. Then you (1) check for typos, (2) check to make sure a new, conflicting operation hasn't been added for an ancestor or progenitor type, or (3) in the complex case where visibility rules cause an inherited operation to disappear, then you'll have to figure out what's going on. Case #3 is the difficult one. But in this case, if you *don't* use the overriding indicator, *then* you need a substantial amount of understanding of the language rules, because the compiler won't check for you; it will assume you know what you're doing. So I think you have it backwards---you need a substantial amount of understanding *NOT* to use overriding indicators. -- Adam