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,db88d0444fafe8eb X-Google-Attributes: gid103376,public X-Google-Language: ENGLISH,ASCII Path: g2news1.google.com!news1.google.com!proxad.net!usenet-fr.net!news.agarik.com!skynet.be!newspost001!tjb!not-for-mail Sender: thierry@TPvaio Newsgroups: comp.lang.ada Subject: Re: Surprise in array concatenation References: <1125610942.747981.280770@f14g2000cwb.googlegroups.com> <431d6095$0$24157$9b4e6d93@newsread4.arcor-online.net> From: Thierry Pirot User-Agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.2 Date: 07 Sep 2005 13:02:59 +0200 Message-ID: <83u0gx87j0.fsf@skynet.be> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit Organization: -= Belgacom Usenet Service =- NNTP-Posting-Host: c34ccb93.news.skynet.be X-Trace: 1126090980 news.skynet.be 327 81.241.158.185:1938 X-Complaints-To: usenet-abuse@skynet.be Xref: g2news1.google.com comp.lang.ada:4494 Date: 2005-09-07T13:02:59+02:00 List-Id: Robert A Duff writes: > It breaks the abstraction called "subprogram". As I showed in my > example, a procedure is handed an integer value (X'First), which is an > offset from the beginning of some object it knows nothing about, and > should know nothing about. > Do you mean : the calling subprogram knows about that object (of which a slice is passed) and the called subprogram doesn't and shouldn't ? I tend to agree, however, if I got it right, I wonder : what about a recursive subprogram ? It is both the called and calling program. (This may indeed be a bit sophistic, actually I have found Ada's passing of slice bounds quite elegant within recursive subprograms --- wherein a string is conveniently rendered a recursive object by Ada's slices, i.e. strings include slices which are (sub)strings). -- Take it Easy Don't worry Be Happy Thierry �������o�o��������o�o��������o�o��������o�o��������o�o�������