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=0.4 required=5.0 tests=BAYES_00,FORGED_MUA_MOZILLA autolearn=no autolearn_force=no version=3.4.4 X-Google-Thread: 103376,ad06d2d7cb045687 X-Google-NewGroupId: yes X-Google-Attributes: gida07f3367d7,domainid0,public,usenet X-Google-Language: ENGLISH,ASCII-7-bit Received: by 10.68.213.68 with SMTP id nq4mr14196441pbc.2.1328024103037; Tue, 31 Jan 2012 07:35:03 -0800 (PST) Path: lh20ni245228pbb.0!nntp.google.com!news2.google.com!goblin3!goblin.stu.neva.ru!news.tu-darmstadt.de!news.belwue.de!newsfeed.ision.net!newsfeed2.easynews.net!ision!newsfeed.arcor.de!newsspool2.arcor-online.net!news.arcor.de.POSTED!not-for-mail Date: Tue, 31 Jan 2012 16:34:23 +0100 From: Georg Bauhaus User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:9.0) Gecko/20111222 Thunderbird/9.0.1 MIME-Version: 1.0 Newsgroups: comp.lang.ada Subject: Re: Silly and stupid =?UTF-8?B?cG9zdOKAkWNvbmRpdGlvbiBvciBub3TCoA==?= =?UTF-8?B?Pw==?= References: <12kegkefstjiy.115bw2vmx23ll.dlg@40tude.net> <4f27b5e8$0$6628$9b4e6d93@newsspool2.arcor-online.net> <19jyp0vyqkcop$.6oatj9p6pcp1$.dlg@40tude.net> <4f27dfa5$0$6570$9b4e6d93@newsspool4.arcor-online.net> <12pod8zxdo56v.16pnewlc853au$.dlg@40tude.net> In-Reply-To: <12pod8zxdo56v.16pnewlc853au$.dlg@40tude.net> Message-ID: <4f280a00$0$6583$9b4e6d93@newsspool3.arcor-online.net> Organization: Arcor NNTP-Posting-Date: 31 Jan 2012 16:34:24 CET NNTP-Posting-Host: 2f8fa7a6.newsspool3.arcor-online.net X-Trace: DXC=PB\\iVam6[8LNKYb?b>076McF=Q^Z^V384Fo<]lROoR18kFfN6nc\616M64>:Lh>_cHTX3j=k;eo7nM_\55 X-Complaints-To: usenet-abuse@arcor.de Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Date: 2012-01-31T16:34:24+01:00 List-Id: On 31.01.12 14:52, Dmitry A. Kazakov wrote: > Take another example, let you see: > > x := 1; > > The information about x is incomplete. You know that it could probably > accommodate the value 1, and that is. You may argue at nausea that this > "adds value", but that is not Ada, which requires the type of x manifested > before its use. And what does a type declaration? It lists all possible > values of x, exhaustively. Again, there are languages that take a different > path, so my comment is Ada's POV, of course. > OK, I see, even though the claim of Ada's POV is seems biased, see below. -- I will not presume any kind of formal logic when watching people judge software systems. We just say words and argue, referring to other things that seem relevant when discussing software systems. Words like "LRM" or "Ariane" or "engineering" or "constructivism" or "deadlines" or "cost" or "DRY", etc. The program below is also an example of Ada's POV. Alas, it exhibits the least desirable state of things. It must be Ada's POV, since the program is legal, is simple, and uses perfectly usual statements. Its effect is, however, unpredictable at any level of precision, because Ada does *not*, by default, require that variables be initialized. (And no exception propagates out of T_IO if X happens to be in T'Base, IINM.) One might say "predictable with precision" is still true when this label is attached to some set of all possible effects. But this doesn't sound right. Anyway, Ada's POV still requires (a) programmers to do the right thing, and (b) requires us to make good guesses as to what this right thing might be. In the program below, it might have been to see what the bits at X'Address happen to be. Notice that the declarations list the possible values, exhaustively. with Ada.Text_IO; procedure Ada_POV is use Ada.Text_IO; type T is range 1 .. 10; package T_IO is new Integer_IO (T); X : T; -- perfectly legal from Ada's POV begin Put ("X is "); T_IO.Put (X); New_Line; end Ada_POV;