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!news-1.dfn.de!news.dfn.de!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail From: Niklas Holsti Newsgroups: comp.lang.ada Subject: Re: Oberon and Wirthian languages Date: Sat, 26 Apr 2014 09:37:00 +0300 Organization: Tidorum Ltd Message-ID: References: <1ljwj8f.1wqbhvuabsdw1N%csampson@inetworld.net> <51c7d6d4-e3be-44d5-a4ce-f7e875345588@googlegroups.com> <%J32v.70539$kp1.45343@fx14.iad> <8761m535e4.fsf_-_@ludovic-brenta.org> <26F6v.230554$MG6.95623@fx04.iad> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Trace: individual.net AZoDdw66U8uvOrS8JES3nw2bS7cCsFPk4RBW6v2RkVMAM1bqHt Cancel-Lock: sha1:XnGQSDYhUnaINu5DAIT3MSUxSN4= User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:24.0) Gecko/20100101 Thunderbird/24.4.0 In-Reply-To: <26F6v.230554$MG6.95623@fx04.iad> X-Original-Bytes: 2849 Xref: number.nntp.dca.giganews.com comp.lang.ada:186097 Date: 2014-04-26T09:37:00+03:00 List-Id: On 14-04-26 05:46 , Shark8 wrote: > On 25-Apr-14 15:55, Randy Brukardt wrote: >> This is a case where the keyword will make all of the difference. If >> we were >> using a new keyword, perhaps something like: >> >> A := (A replacing C => D, E => F); >> >> would do the trick. > > Howabout reusing 'overriding'? (Assuming record A w/ components B, C, & D.) > > A := (Overriding B, C => <>, D = A.D); > > I'd assume that 'overriding' should be given to *every* replaced > component and "<>" or "RECORD.COMPONENT" for old [unchanged] values. > (Though, we'd have to decide whether '<>' meant "keep things the same" > or "use the component's default [or type's if not available, > compiler-error if no default]") I don't like that, because it is limited to use in assignment statements. I think the partial aggregate expression would be useful in other contexts, too, for example as an actual parameter in a call. I suggested (A overriding B => .., C => ...), which I don't like much (nor does Randy). Perhaps it would be better combined with "with": (A overriding with B => ..., C => ...) -- Niklas Holsti Tidorum Ltd niklas holsti tidorum fi . @ .