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-7-bit Path: g2news1.google.com!news3.google.com!border1.nntp.dca.giganews.com!border2.nntp.dca.giganews.com!nntp.giganews.com!wns13feed!worldnet.att.net!209.244.4.230!newsfeed1.dallas1.level3.net!news.level3.com!news.binc.net!kilgallen From: Kilgallen@SpamCop.net (Larry Kilgallen) Newsgroups: comp.lang.ada Subject: Re: Surprise in array concatenation Date: 24 Sep 2005 05:49:52 -0500 Organization: LJK Software Message-ID: References: <1125544603.561847.32140@g47g2000cwa.googlegroups.com> <14muavojz308w.1ouv7xin79rqu$.dlg@40tude.net> <87fyspgqrm.fsf@mid.deneb.enyo.de> NNTP-Posting-Host: eisner.encompasserve.org X-Trace: grandcanyon.binc.net 1127558894 18954 192.135.80.34 (24 Sep 2005 10:48:14 GMT) X-Complaints-To: abuse@binc.net NNTP-Posting-Date: Sat, 24 Sep 2005 10:48:14 +0000 (UTC) Xref: g2news1.google.com comp.lang.ada:5089 Date: 2005-09-24T05:49:52-05:00 List-Id: In article , "Randy Brukardt" writes: > wrote in message > news:zSFTe.4078$wk6.1150@newssvr11.news.prodigy.com... >> I recall a project where an Ada newbie, having learned about enumerated >> types, created one enumerated type that was three pages long. That is, >> the number of values in the type was so great that it took three pages >> of 11 X 14 standard printer paper to contain it. > > Hey, I resemble that remark! > > The intermediate code definition for Janus/Ada includes an enumeration of > 300 or so operations. The definition covers several pages (it has comments). > That's used as the discriminant on a giant variant record that covers more > than 6 pages. I have something quite similar in software of a different purpose... > It's very useful for this to be an enumeration; when new operations are > added, the case statements in the optimizer and elsewhere fail to compile > until they've been updated with the new operations. That's a short term > pain, but it avoids a lot of problems in the long run (because the > operations were added considering impacts, rather than either forgotten or > defaulted to something that's likely to be wrong). ..for the same reason.