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: a07f3367d7,6327f05d4989a68d X-Google-Attributes: gida07f3367d7,public,usenet X-Google-NewGroupId: yes X-Google-Language: ENGLISH,ASCII-7-bit X-Received: by 10.181.12.35 with SMTP id en3mr9738076wid.2.1356837412322; Sat, 29 Dec 2012 19:16:52 -0800 (PST) Path: i11ni337243wiw.0!nntp.google.com!feeder1.cambriumusenet.nl!82.197.223.108.MISMATCH!feeder2.cambriumusenet.nl!feed.tweaknews.nl!216.196.110.142.MISMATCH!border3.nntp.ams.giganews.com!border1.nntp.ams.giganews.com!nntp.giganews.com!newsreader4.netcologne.de!news.netcologne.de!npeer.de.kpn-eurorings.net!npeer-ng0.de.kpn-eurorings.net!newsfeed.arcor.de!newsspool3.arcor-online.net!news.arcor.de.POSTED!not-for-mail Date: Sat, 22 Dec 2012 23:38:21 +0100 From: Georg Bauhaus User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:17.0) Gecko/17.0 Thunderbird/17.0 MIME-Version: 1.0 Newsgroups: comp.lang.ada Subject: Re: Press Release - Ada 2012 Language Standard Approved by ISO References: <7wrdmbre6jw9.qww9l0uzj6mg.dlg@40tude.net> <14oqoq06zhlu2.tcasif3hdyhw.dlg@40tude.net> <1drh1q1ln2dfh$.a9hwlg01fjfy.dlg@40tude.net> In-Reply-To: <1drh1q1ln2dfh$.a9hwlg01fjfy.dlg@40tude.net> Message-ID: <50d6365d$0$6577$9b4e6d93@newsspool3.arcor-online.net> Organization: Arcor NNTP-Posting-Date: 22 Dec 2012 23:38:21 CET NNTP-Posting-Host: d537e5a3.newsspool3.arcor-online.net X-Trace: DXC=UKj1>ZX`XXC0YVY]kmLTlDMcF=Q^Z^V3H4Fo<]lROoRA8kF_ljHiLPCY\c7>ejVHMU57TQ_H_iHFVebk5JhjJI X-Complaints-To: usenet-abuse@arcor.de Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Date: 2012-12-22T23:38:21+01:00 List-Id: On 22.12.12 10:02, Dmitry A. Kazakov wrote: >> In an ideal world, all of these "checks" will get made statically. Hopefully >> that's coming. In mean time, it's important to get programmers used to the >> idea of writing checks this way, so that future tools can make the checks >> statically (there is no hope of making checks statically if they are just >> written in natural language comments). > > OK, this is rather a tactical disagreement then. Ada's stance was > conservative, not eager adding features impossible to implement properly. Rather, history tells that Ada has been seen by some as being just a little less improperly adventurous than Algol 68. > Because somebody (Georg) could readily base his design on the faulty. Don't worry, my predicates tend to be pure, are used for debugging, and can be turned off/removed/left as documentation once the proofs have been checked. (Letting them stay can be a Good Thing if you need to prepare for the usual uncoordinated multi-player refactorings and quick fixes.) The expressions don't have significant effects as measured by the purpose of the programs. For example, they may interrupt the normal flow, like explicit tests, they will send a mail message with some state information in it and ask for an optional user report. These reports are extremely helpful. Checks can be written as if there was monitoring hardware, hence as if they did not even have a way of toggling any of the program's bits. > In the first step I would rather prefer means to declare user-defined > operations pure, context-dependent pure, compile-time evaluated etc. This > would be more universal than mere predicates, and "proper" predicates would > require that stuff anyway. An alternative, letting the compiler/vendor to > deduce such properties, is IMO unrealistic (an undecidable problem, I > think). Right, and I would like to learn what kind of restrictions Randy is having in mind that will let compilers evaluate more expressions at compile time.