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!news.eternal-september.org!news.eternal-september.org!feeder.eternal-september.org!news.swapon.de!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail From: Niklas Holsti Newsgroups: comp.lang.ada Subject: Re: Your wish list for Ada 202X Date: Tue, 22 Apr 2014 09:08:22 +0300 Organization: Tidorum Ltd Message-ID: 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> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Trace: individual.net hhgvi+H0G7u2p+1XURQkqw6Eb4VuVmaWHHyo8K2RNCXY1sh/LF Cancel-Lock: sha1:C4ENgTcf0E1bX2G/1xqimHmWb58= User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:24.0) Gecko/20100101 Thunderbird/24.4.0 In-Reply-To: Xref: news.eternal-september.org comp.lang.ada:19485 Date: 2014-04-22T09:08:22+03:00 List-Id: On 14-04-22 02:09 , Randy Brukardt wrote: > "Niklas Holsti" wrote in message > news:brepivFq9kcU1@mid.individual.net... >> On 14-04-19 00: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. >> >> This form would probably strongly discourage overloaded operation names. > > Possible, although in many instances, all of the overloaded routines do > essentially the same thing and thus either all need overriding or none do. So saying "inherits => Foo" would inherit all operations named Foo. That would work, but is a bit weak if the goal is to specify inheritance explicitly. > (After all, if you have overloaded routines doing *different* things, > something is wrong!) Yes. So if the goal of "with inherits" is to specify explicitly the "nature" of the inherited operations, for example all "read" operations but no "write" operations, it is ok to let one name stand for all operations with that name. -- Niklas Holsti Tidorum Ltd niklas holsti tidorum fi . @ .