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: 103376,ae9506fd4dcf7090 X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2002-10-18 14:33:04 PST Path: archiver1.google.com!news1.google.com!newsfeed.stanford.edu!logbridge.uoregon.edu!arclight.uoregon.edu!wn13feed!worldnet.att.net!204.127.198.204!attbi_feed4!attbi_feed3!attbi.com!sccrnsc02.POSTED!not-for-mail Message-ID: <3DB079ED.2070200@attbi.com> From: Mark Biggar User-Agent: Mozilla/5.0 (Windows; U; Win 9x 4.90; en-US; rv:1.0.0) Gecko/20020530 X-Accept-Language: en-us, en MIME-Version: 1.0 Newsgroups: comp.lang.ada Subject: Re: Concatenation and Characters References: <44hp9.807$_u6.205@nwrddc01.gnilink.net> <3DA5AE5F.3030902@attbi.com> <3DB03EF1.EE771923@mmm.com> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit NNTP-Posting-Host: 12.235.91.30 X-Complaints-To: abuse@attbi.com X-Trace: sccrnsc02 1034976783 12.235.91.30 (Fri, 18 Oct 2002 21:33:03 GMT) NNTP-Posting-Date: Fri, 18 Oct 2002 21:33:03 GMT Organization: AT&T Broadband Date: Fri, 18 Oct 2002 21:33:03 GMT Xref: archiver1.google.com comp.lang.ada:29926 Date: 2002-10-18T21:33:03+00:00 List-Id: Programmer Dude wrote: > Mark Biggar wrote: > > >>Becasue evaluating an uninitialized variable is only a bounded error, >>which is handled at run-time. > > > I'm new to, and just beginning to explore, Ada. It surprised me that > Ada allows evalutation of an uninitialized variable without saying > *something* about it during compile. > > Surely I'm missing something? It should be obvious that the general problem of detecting all accesses to uninitialized variables is equivalent to the halting problem. So it is impossible for a compiler to do a perfect job, thus some form of run-time detection or action is necessary anyway. So the LRM can't require compile time detection, so it makes it optional. The LRM does allow compilers to warn you when you write code that will always raise an expection and as raising Program_Error is one of the allowed run-time responses to accessing an uninitialized variable the LRM does allows for optional warnings for this case. If your complier doesn't issue such warnings, it's only a "quality of implementation" issue not a compiler bug. -- Mark Biggar mark.a.biggar@attbi.com