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: 1108a1,59ec73856b699922 X-Google-Attributes: gid1108a1,public X-Google-Thread: 103376,583275b6950bf4e6 X-Google-Attributes: gid103376,public X-Google-Thread: fdb77,5f529c91be2ac930 X-Google-Attributes: gidfdb77,public X-Google-ArrivalTime: 2003-04-27 09:11:07 PST Path: archiver1.google.com!news1.google.com!newsfeed.stanford.edu!news.uchicago.edu!newsswitch.lcs.mit.edu!newsfeed.mathworks.com.MISMATCH!newsfeed!nntp.TheWorld.com!not-for-mail From: Robert A Duff Newsgroups: comp.lang.java.advocacy,comp.object,comp.lang.ada Subject: Re: the Ada mandate, and why it collapsed and died (was): 64 bit addressing and OOP Date: 27 Apr 2003 12:11:01 -0400 Organization: The World Public Access UNIX, Brookline, MA Message-ID: References: <3E4E8F8C.9C096985@adaworks.com> <9fa75d42.0302250710.5549baaf@posting.google.com> <3E5C7033.BD5DC462@adaworks.com> <9fa75d42.0302260618.7506cba7@posting.google.com> <3E5CF5C6.84822F57@adaworks.com> <8qkczsAcGcn+Ew83@nildram.co.uk> <3EA04A1E.CAFC1FEF@adaworks.com> <9fa75d42.0304221126.7112b7d5@posting.google.com> NNTP-Posting-Host: shell01.theworld.com Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: pcls4.std.com 1051459866 8077 199.172.62.241 (27 Apr 2003 16:11:06 GMT) X-Complaints-To: abuse@TheWorld.com NNTP-Posting-Date: Sun, 27 Apr 2003 16:11:06 +0000 (UTC) User-Agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.2 Xref: archiver1.google.com comp.lang.java.advocacy:62774 comp.object:62107 comp.lang.ada:36648 Date: 2003-04-27T12:11:01-04:00 List-Id: "Chad R. Meiners" writes: > "Robert A Duff" wrote in message > news:wccadeiglef.fsf@shell01.TheWorld.com... > > Really!? I think of array slicing as a pretty minor feature of Ada, > > which causes a lot of trouble for compiler writers, that could be > > dispensed with. After all, you could write a function that grabs those > > components. > > > I'm thinking particularly of slices as L-values. Do you ever use that? > > Usually I pass slices of arrays as parameters to procedures and functions. > For example Ada.Strings.Fixed would be far less convenient without the > ability to pass part of an array to a procedure or function. As for > L-values I assume you mean something like > > x(1..80) := (others => y); > ? > If so, I use slices less often for that purpose. Yes, by "L-value", I meant on the left-hand side of an assignment, or an 'out' parameter, or similar things. If X(1..80) is just syntactic sugar for a function call Slice(X, 1, 80) or Slice(X, First => 1, Last => 80), then it would be little trouble for the Ada compiler. And I would think it would be but a minor convenience for the programmer. But when slices are used as L-values, there are various interactions with packing and whatnot that cause compiler complexity. - Bob