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.3 required=5.0 tests=BAYES_00, REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 X-Google-Thread: 103376,334f9012742e58fc X-Google-NewGroupId: yes X-Google-Attributes: gida07f3367d7,domainid0,public,usenet X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news1.google.com!news3.google.com!feeder1-2.proxad.net!proxad.net!feeder2-2.proxad.net!newsfeed.arcor.de!newsspool2.arcor-online.net!news.arcor.de.POSTED!not-for-mail From: "Dmitry A. Kazakov" Subject: Re: Gnat GPL 2010 available soon (conditional expressions) Newsgroups: comp.lang.ada User-Agent: 40tude_Dialog/2.0.15.1 MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Reply-To: mailbox@dmitry-kazakov.de Organization: cbb software GmbH References: <2010061621145016807-sjs@essexacuk> <0fa4c574-9539-492f-8514-d32c68beb22a@w31g2000yqb.googlegroups.com> <1frrgtpa5dycl$.12kl72iqsg3dx$.dlg@40tude.net> <4c270613$0$6974$9b4e6d93@newsspool4.arcor-online.net> <1wuwvzgwlwgli$.1birkinieia0d$.dlg@40tude.net> <1ur19ais2ejih.mjbgdsv9pr66.dlg@40tude.net> <4c275562$0$6987$9b4e6d93@newsspool4.arcor-online.net> <4c276114$0$2378$4d3efbfe@news.sover.net> <4rdrvu1jskwp.1aomtio1yk12o.dlg@40tude.net> <4c2885df$0$2386$4d3efbfe@news.sover.net> <4c28b616$0$6874$9b4e6d93@newsspool2.arcor-online.net> <4c28d603$0$6878$9b4e6d93@newsspool2.arcor-online.net> Date: Mon, 28 Jun 2010 19:37:03 +0200 Message-ID: NNTP-Posting-Date: 28 Jun 2010 19:37:02 CEST NNTP-Posting-Host: 165c149f.newsspool4.arcor-online.net X-Trace: DXC=Q]c0eY[>=j\<<0iRN7DLEQ4IUK On Mon, 28 Jun 2010 19:04:03 +0200, Georg Bauhaus wrote: > On 28.06.10 18:36, Dmitry A. Kazakov wrote: >> On Mon, 28 Jun 2010 16:47:50 +0200, Georg Bauhaus wrote: >> >>> On 29.06.10 16:08, Dmitry A. Kazakov wrote: >>> >>>>> The use of conditional expressions in "normal" code is optional (I >>>>> think) but I can see that once you add them to the language, forbidding >>>>> them from normal code would seem oddly inconsistent. >>>> >>>> Yes. This is exactly same as anonymous access types and other "workaround" >>>> things. Once you let them in, they won't leave. >>> >>> Conditional expressions will not be everywhere if your project uses >>> a source code analysis tool with suitable settings. >> >> The only code analysis tool is the compiler, otherwise the language is to >> be fixed. > > Or let industry decide which Ada language profiles they would like > standardized. I don't think that industry is capable of making wise decisions. So far they have chosen MISRA C. > A language profile such as the subset of Ada defined by SPARK, > with recursion and named pointers added. Maybe including generics > with formal types only. I don't like the idea of breaking language into many clades. Especially Ada, of which user base is pretty thin. In my view instead of specifying undesired constructs (the profile), the programmer should do what he wants to be proved. The compiler should try and then, if proof is not possible, because of the construct X, point this out to the programmer. I like to compare this with: My_Real is digits 6 range 0.0...100.0; -- This is what I need, tell me if you cannot vs. double // This is what limits me, guess why. IMO, the first is the Ada way. -- Regards, Dmitry A. Kazakov http://www.dmitry-kazakov.de