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,FREEMAIL_FROM autolearn=ham autolearn_force=no version=3.4.4 X-Google-Thread: 103376,81bb2ce65a3240c3 X-Google-NewGroupId: yes X-Google-Attributes: gida07f3367d7,domainid0,public,usenet X-Google-Language: ENGLISH,UTF8 Received: by 10.68.213.106 with SMTP id nr10mr3810988pbc.2.1335387218037; Wed, 25 Apr 2012 13:53:38 -0700 (PDT) X-FeedAbuse: http://nntpfeed.proxad.net/abuse.pl feeded by 88.191.131.2 Path: r9ni98147pbh.0!nntp.google.com!news1.google.com!news4.google.com!proxad.net!feeder1-2.proxad.net!nntpfeed.proxad.net!88.191.131.2.MISMATCH!news.chainon-marquant.org!usenet.pasdenom.info!aioe.org!.POSTED!not-for-mail From: =?utf-8?Q?Yannick_Duch=C3=AAne_=28Hibou57?= =?utf-8?Q?=29?= Newsgroups: comp.lang.ada Subject: Re: What would you like in Ada202X? Date: Wed, 25 Apr 2012 22:53:36 +0200 Organization: Ada @ Home Message-ID: References: <3637793.35.1335340026327.JavaMail.geo-discussion-forums@ynfi5> <4f97bf40$0$6559$9b4e6d93@newsspool4.arcor-online.net> NNTP-Posting-Host: ONmq6WKLpt7fkfZHL79Etw.user.speranza.aioe.org Mime-Version: 1.0 X-Complaints-To: abuse@aioe.org User-Agent: Opera Mail/11.62 (Linux) X-Notice: Filtered by postfilter v. 0.8.2 Content-Type: text/plain; charset=utf-8; format=flowed; delsp=yes Content-Transfer-Encoding: Quoted-Printable Date: 2012-04-25T22:53:36+02:00 List-Id: Le Wed, 25 Apr 2012 20:14:59 +0200, Jeffrey Carter = a =C3=A9crit: > On 04/25/2012 02:09 AM, Georg Bauhaus wrote: >> >> 0) Which features do you think can be dropped from Ada? > > Interfaces > Tagged types (but retaining finalization for record types) Less radical, I was wondering about some redundancies between both. > Child packages with visibility of their ancestors > > These would return Ada to its original vision as a language for = > programming by composition. You mean visibility of the ancestor's private part to the child package,= = is that it? Programming by composition welcome means to express worlds and domains = with shared internal secrets. On the other hand, package are king of = structure, and Ada's tagged type does not provide visibility of the = internals of one's ancestor. On the third hand (alien talking here), = tagged types don't have this, precisely because it's provided by package= = hierarchy. Imagine a simple case: a serialization of some private object type, with= = multiple codecs. I instinctively make each codecs, a child package of th= e = package defining the serialized type, so that they can build an instance= = of type. Or else, you would have to expose to the big world, methods = intended for serialization only, and serialization is often related to t= he = internal representation of the serialized item (although not required). = = Can't give an easy example, but I also believe this would make some = bindings more difficult. I feel to anticipate removing child package with visibility to their = ancestor's private part, would force people to expose too much in their = = specifications, or worst, to fake this feature using export/import behin= d = the scene. But I may be wrong, and will more deeply think this case later. I'm so = much made to this, and can't easily think without it. For the time, I ha= ve = some personal pending stuff to do a later day, with 5 levels of child = package all with visibility to their parent's privates :-P . -- = =E2=80=9CSyntactic sugar causes cancer of the semi-colons.=E2=80=9D [1] =E2=80=9CStructured Programming supports the law of the excluded muddle.= =E2=80=9D [1] [1]: Epigrams on Programming =E2=80=94 Alan J. =E2=80=94 P. Yale Univers= ity