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-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,60e2922351e0e780 X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2003-11-07 14:47:03 PST Path: archiver1.google.com!news2.google.com!news.maxwell.syr.edu!newsfeed.stueberl.de!newsr1.ipcore.viaginterkom.de!btnet-peer1!btnet-peer0!btnet-feed5!btnet!news.btopenworld.com!not-for-mail From: "Martin Dowie" Newsgroups: comp.lang.ada Subject: Re: Clause "with and use" Date: Fri, 7 Nov 2003 22:46:22 +0000 (UTC) Organization: BT Openworld Message-ID: References: <3FA50083.10709@noplace.com> <3FA777E9.4030605@noplace.com> NNTP-Posting-Host: host81-129-48-51.in-addr.btopenworld.com X-Trace: hercules.btinternet.com 1068245182 16003 81.129.48.51 (7 Nov 2003 22:46:22 GMT) X-Complaints-To: news-complaints@lists.btinternet.com NNTP-Posting-Date: Fri, 7 Nov 2003 22:46:22 +0000 (UTC) X-Newsreader: Microsoft Outlook Express 6.00.2800.1158 X-MSMail-Priority: Normal X-Priority: 3 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1165 Xref: archiver1.google.com comp.lang.ada:2239 Date: 2003-11-07T22:46:22+00:00 List-Id: "Robert I. Eachus" wrote in message news:M5SdnWLXHfI4aTaiRVn-hQ@comcast.com... > Martin Dowie wrote: > > I was also wondering how it would cope with non-limited types in > > situations like: > > > > A := A * B; > > -- A and B are for the sake of arguement 'matrices', see the AI on > > -- matrices & vectors ;-) > > > > In this case could you safely manipulate A 'in-situ'?.. > > You see why ammending the reference manual is no easy task. I've tried to write an AI *once*! :-) (for a cr*ppy little pragma) and it took forever and no one was interested anyway (apart from me ;-) > Of course > we don't want to allow or require a compiler to mess up in that case, > but want to permit it to do: A := B * C; right. (That doesn't mean I > can easily define what "right" means if A, B, and C are bit vectors.) > > Oh, and just to rain a bit more on the parade, if A in your example is a > 3x4 matrix and B is 4x3, then is it legal to raise Constraint_Error > before doing the arithmetic? Absolutely - just like the AI for matrices/vectors says! > A more interesting question is that > obviously if A in A := B * C; is indefinite, you want it to get the > "right" constraint from the "*" function. But what if the return value > is declared indefinite? Can it take its constraints from the target object? Sorry, it is v.late, I'm not sure what you mean here... Do you mean 'what if "B" and "C" are functions returning indefinite values?'