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.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,3d6ef988ec3a5ef7 X-Google-Attributes: gid103376,public From: dewar@merv.cs.nyu.edu (Robert Dewar) Subject: Re: renaming Interfaces.Java.Ada_To_Java_String to the + operator Date: 1998/01/11 Message-ID: #1/1 X-Deja-AN: 315070184 References: <01bd1e34$1632c2c0$24326489@Westley-PC.calspan.com> <871zyej2sg.fsf@ix.netcom.com> <87vhvqhisy.fsf@ix.netcom.com> <87u3bah4k1.fsf@ix.netcom.com> X-Complaints-To: usenet@news.nyu.edu X-Trace: news.nyu.edu 884563909 24733 (None) 128.122.140.58 Organization: New York University Newsgroups: comp.lang.ada Date: 1998-01-11T00:00:00+00:00 List-Id: Chris said <> Well I am surprised that anyone would have taken this "previous" approach. Certainly the possibility of using array aggregates in this way is the reason that you don't need varargs type support in a language like Ada (this is not a new idea, this usage is completely familiar from Algol-68). So this is not some kind of "neat discovered trick" in the language, it is an important part of the intended design! Regarding the quadratic behavior, and your mention of efficiency in Ada 83, in fact if you think about a & b & c & d the natural implementation will definitely be quadratic, since this really means ((a & b) & c) & d) and in the general case, e.g. with user defined concatenation, must be done in three separate operations. A compiler can specially recognize this case, but it is not a trivial optimization (I just put it into GNAT, and it took a full day of work to get it right).