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: border1.nntp.dca3.giganews.com!backlog3.nntp.dca3.giganews.com!border2.nntp.dca.giganews.com!nntp.giganews.com!usenet.blueworldhosting.com!feeder01.blueworldhosting.com!feeder.erje.net!eu.feeder.erje.net!newsreader4.netcologne.de!news.netcologne.de!newsfeed.arcor.de!newsspool4.arcor-online.net!news.arcor.de.POSTED!not-for-mail Date: Sat, 19 Apr 2014 12:02:36 +0200 From: Georg Bauhaus User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:24.0) Gecko/20100101 Thunderbird/24.4.0 MIME-Version: 1.0 Newsgroups: comp.lang.ada Subject: Re: Your wish list for Ada 202X References: <7f1c01c5-3563-4b94-9831-152dbbf2ecdc@googlegroups.com> <8bhozh836pyt$.1qctlysud0s2q$.dlg@40tude.net> <1cdsyxjzsfgzm.1synpaujysv21$.dlg@40tude.net> <1aa804jg9qq4o$.wdiq33yo621l.dlg@40tude.net> <1w6eh0aiksmdh$.1h16p7y0b8c6h.dlg@40tude.net> <17twpp4p8u7o$.1idvzaaio4f3t$.dlg@40tude.net> <1wjmcbk375lzk.6o7dpqcp3va3.dlg@40tude.net> In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Message-ID: <535249bd$0$6715$9b4e6d93@newsspool2.arcor-online.net> Organization: Arcor NNTP-Posting-Date: 19 Apr 2014 12:02:37 CEST NNTP-Posting-Host: fea01d7e.newsspool2.arcor-online.net X-Trace: DXC=m3@U1b_VNXGgj[ZPFj7ehOA9EHlD; 3YcB4Fo<]lROoRA8kFd2bkNPCY\c7>ejVHoGHV1S8c2`O; WK@joBFAHD X-Complaints-To: usenet-abuse@arcor.de X-Original-Bytes: 2661 Xref: number.nntp.dca.giganews.com comp.lang.ada:185843 Date: 2014-04-19T12:02:37+02:00 List-Id: On 18/04/14 23:28, Randy Brukardt wrote: > I'd prefer a much simpler declaration of inheritance, something like: > type Child is new Parent with ... > with inherits => Foo, Bar, Blech; > > where names not listed are hidden from all visibility unless overridden. FTR, Eiffel has something like this, it's called Feature Adaptation. Specifically, Eiffel allows renaming primitive operations on this occasion. class Child inherit Parent redefine Foo, Bar end rename Blech as Sheet_Metal end is ... Feature_adaptation ::= [Undefine] [Redefine] [Rename] [New_exports] [Select]