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, MSGID_RANDY autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,c63aa81a67eceb8f X-Google-Attributes: gid103376,public From: Robert Dewar Subject: Re: Ragged Array Proposal Date: 1999/09/25 Message-ID: <7sij92$sv8$1@nnrp1.deja.com>#1/1 X-Deja-AN: 529389110 References: <37e7c08e@eeyore.callnetuk.com> <7satei$e2q$1@nnrp1.deja.com> <37EA4E91.1D4D1FC@averstar.com> <37eaa24b@eeyore.callnetuk.com> <7sgbke$ci5$1@nnrp1.deja.com> <37EBD2F3.E1E32672@ftw.rsc.raytheon.com> X-Http-Proxy: 1.0 x40.deja.com:80 (Squid/1.1.22) for client 205.232.38.14 Organization: Deja.com - Before you buy. X-Article-Creation-Date: Sat Sep 25 13:38:43 1999 GMT X-MyDeja-Info: XMYDJUIDrobert_dewar Newsgroups: comp.lang.ada X-Http-User-Agent: Mozilla/4.04 [en] (OS/2; I) Date: 1999-09-25T00:00:00+00:00 List-Id: In article <37EBD2F3.E1E32672@ftw.rsc.raytheon.com>, Wes Groleau wrote: > > In this particular case, there is a significant implementation > > burden (wait till you are really working on your Ada compiler > > to appreciate that :-). In particular, getting the debugger to > > understand this completely new type would be significant work. > > In the cases of gdb and Apex Duo, where the same debugger understands > both C and Ada, then the debugger should be able to understand > > char *fruits[] = { "apple", "orange", "pear" }; > > So how much work would it be to handle an Ada syntax that has the > same underlying implementation? Oops, I got mixed up, and thought that Nick had written this, so please ignore my suggestion of implementing a debugger (that was intended for Nick :-) Wes, if you are seriously proposing that the ragged arrays be implemented with a storage structure identical to that used for fruits above, then you have suddenly enormously increased the implementation burden. That's because the C structure depends on the notion of simple machine addresses that point to a null terminated string. This means you have to introduce a whole new concept at both the Ada semantic level (strings that are not allowed to contain the null character), and at the implementation level (string pointers with implicit bounds that are incompatible with normal pointer-to-unconstrained). It's doable, I suppose, but you have enormously increased the complexity of the proposal, probably unintentially (that's the trouble in language design, things that seem so simple and straightforward turn out to be much more messy than you think). Robert Sent via Deja.com http://www.deja.com/ Before you buy.