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,26a21b9e317dc639 X-Google-NewGroupId: yes X-Google-Attributes: gida07f3367d7,domainid0,public,usenet X-Google-Language: ENGLISH,ASCII-7-bit Received: by 10.68.248.34 with SMTP id yj2mr3955855pbc.2.1353448303586; Tue, 20 Nov 2012 13:51:43 -0800 (PST) MIME-Version: 1.0 Path: s9ni2388pbb.0!nntp.google.com!news.glorb.com!news.ecp.fr!news.jacob-sparre.dk!munin.jacob-sparre.dk!pnx.dk!.POSTED!not-for-mail From: "Randy Brukardt" Newsgroups: comp.lang.ada Subject: Re: Access type to member procedure of instance (Object Oriented programming in Ada) Date: Tue, 20 Nov 2012 15:51:41 -0600 Organization: Jacob Sparre Andersen Research & Innovation Message-ID: References: <9b0bcb37-8ae3-440f-af4f-a796702e4250@googlegroups.com> <49cdda31-d0bd-42f2-8076-65504105d07e@googlegroups.com> <2d141696-2cd2-4805-8c51-cf6620abc9ce@googlegroups.com> <1ilx4ms9xk5h8.pz5jsnqrogye.dlg@40tude.net> NNTP-Posting-Host: static-69-95-181-76.mad.choiceone.net X-Trace: munin.nbi.dk 1353448303 10474 69.95.181.76 (20 Nov 2012 21:51:43 GMT) X-Complaints-To: news@jacob-sparre.dk NNTP-Posting-Date: Tue, 20 Nov 2012 21:51:43 +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 Date: 2012-11-20T15:51:41-06:00 List-Id: "Dmitry A. Kazakov" wrote in message news:1ilx4ms9xk5h8.pz5jsnqrogye.dlg@40tude.net... ... >No idea. It is a great mystery to me what makes into the language and what >does not. Considering this one: Obviously, you can read the AIs and the meeting minutes to find out why things were done the way they are. That's one reason that the associated AIs are linked in the AARM for every changed paragraph. > 1. Why closures at all? I assume we're talking about Ada's "prefixed views" (closures are something else to me). A combination of popular demand and the fact that Ada 83 already had them for tasks. > 2. Why some arguments are more important than others, unless the > programmer > specifies so? No good reason, IMHO, other than that that was the way it worked for tasks in Ada 83. > 3. Why closures must support only tagged types? We tried to allow prefixed views for all types, but we ran into problems because Ada always allows an implicit conversion at a dot, and we didn't want these to be different. In the end, we decided on restricting it to just tagged types because the rules worked well with them. Almost all new types ought to be tagged (and controlled) anyway [yes, I realize that some language rules don't allow that in some cases - grumble]. One advantage of restricting prefixed views to tagged types is that it leaves the door open for future extensions to other kinds of types. If we allowed it on other kinds of types and got it wrong, we'd be stuck with it forever (compatibility concerns would not allow us to change the meaning in the future). And we certainly were not sure how the rules should work for untagged types. So this is a case where doing nothing was better than doing something we were not sure about. Randy.