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,21960280f1d61e84 X-Google-Attributes: gid103376,public X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news2.google.com!news3.google.com!newsfeed2.dallas1.level3.net!news.level3.com!newsfeed-00.mathworks.com!nntp.TheWorld.com!not-for-mail From: Robert A Duff Newsgroups: comp.lang.ada Subject: Re: How come Ada isn't more popular? Date: Sat, 10 Feb 2007 08:22:59 -0500 Organization: The World Public Access UNIX, Brookline, MA Message-ID: References: NNTP-Posting-Host: shell01.theworld.com Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: pcls6.std.com 1171113779 4676 192.74.137.71 (10 Feb 2007 13:22:59 GMT) X-Complaints-To: abuse@TheWorld.com NNTP-Posting-Date: Sat, 10 Feb 2007 13:22:59 +0000 (UTC) User-Agent: Gnus/5.1008 (Gnus v5.10.8) Emacs/21.3 (irix) Cancel-Lock: sha1:oQd4yrZTaBDh795R2K1LbmuWCcE= Xref: g2news2.google.com comp.lang.ada:9227 Date: 2007-02-10T08:22:59-05:00 List-Id: "Dmitry A. Kazakov" writes: > On Fri, 9 Feb 2007 22:18:51 -0600, Randy Brukardt wrote: > >> Dmitry A. Kazakov writes: >> ... >>> Because it does not compose upon inheritance and aggregation. >>> >>> When inherited the constructing function need to be overridden, even if >>> null record was the only thing added. >> >> That's not true in Ada 2007. (That's a change I strongly opposed, BTW, >> because it makes prototyping much harder. I usually start an extension with >> a null record, figure out what needs to be overridden (giving those null >> bodies), and then implement the actual routines and data. This no longer >> works, because as soon as you add an extension component you are back to >> square one.) > > Yuck. Do I understand correctly, primitive operations are no more covariant > in the result? > > type T is tagged ...; > function Foo return T; > > type S is new T ...; > -- I don't need to override Foo???? It depends what the "..." is. You don't need to override Foo if it's "with null record", which is what you were wanting above ("even if ..."). - Bob