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!news.eternal-september.org!mx02.eternal-september.org!feeder.eternal-september.org!gandalf.srv.welterde.de!news.jacob-sparre.dk!loke.jacob-sparre.dk!pnx.dk!.POSTED!not-for-mail From: "Randy Brukardt" Newsgroups: comp.lang.ada Subject: Re: Task interface and entries with aliased parameters Date: Wed, 28 Oct 2015 12:48:05 -0500 Organization: JSA Research & Innovation Message-ID: References: <98fcf225-fdec-401c-80b3-321e2ac65f6b@googlegroups.com> <1e09jksdqcfyv.8f80k06gl5ye$.dlg@40tude.net> NNTP-Posting-Host: rrsoftware.com X-Trace: loke.gir.dk 1446054486 28061 24.196.82.226 (28 Oct 2015 17:48:06 GMT) X-Complaints-To: news@jacob-sparre.dk NNTP-Posting-Date: Wed, 28 Oct 2015 17:48:06 +0000 (UTC) X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2900.5931 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.6157 X-RFC2646: Format=Flowed; Original Xref: news.eternal-september.org comp.lang.ada:28090 Date: 2015-10-28T12:48:05-05:00 List-Id: "Dmitry A. Kazakov" wrote in message news:1e09jksdqcfyv.8f80k06gl5ye$.dlg@40tude.net... > On Wed, 21 Oct 2015 10:01:01 -0700, Jeffrey R. Carter wrote: > >> On 10/21/2015 01:54 AM, Hadrien Grasland wrote: >>> >>> Using GNAT GPL 2015, I am having some trouble with task interfaces which >>> feature entries that take aliased parameters. >> >> "IMHO, Interfaces are worthless." -- Randy Brukardt > > He possibly meant Java interfaces as opposed to existing Ada 95 abstract > types. Ada 95 abstract type did everything Java interface do and more. Yes, precisely. Ada 95 already had a more powerful feature needed to share implementations. Sharing interfaces *sounds* nice, but it's impossible in practice because in almost all circumstances you need parameters of different types for different "instances" ("instances" not in the Ada sense). Think container interfaces, for example - the element type is almost always different. Interfaces might work in a language where all types are necessarily tagged and all derived from a common ancestor, but that language is not at all Ada. (And you'd have forced most type checking to runtime, going the wrong way.) Randy.