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 Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!news.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail From: "G.B." Newsgroups: comp.lang.ada Subject: Re: Ada 2012 Constraints (WRT an Ada IR) Date: Tue, 13 Dec 2016 08:15:22 +0100 Organization: A noiseless patient Spider Message-ID: References: <47366b42-c0a3-41bf-a44a-5241c109d60f@googlegroups.com> Reply-To: nonlegitur@notmyhomepage.de Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Injection-Date: Tue, 13 Dec 2016 07:13:59 -0000 (UTC) Injection-Info: mx02.eternal-september.org; posting-host="eb28462d3cdfe36eb00d85b69972742c"; logging-data="12865"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18IMVcxsvFFWFSAyff4OVn6hH3y/SDay04=" User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:45.0) Gecko/20100101 Thunderbird/45.5.1 In-Reply-To: Cancel-Lock: sha1:vaeb80HRa9a9bc+88jBHq+4VbGk= Xref: news.eternal-september.org comp.lang.ada:32773 Date: 2016-12-13T08:15:22+01:00 List-Id: On 12/12/2016 21:53, Dmitry A. Kazakov wrote: > On 2016-12-12 19:55, G.B. wrote: >> On 12/12/2016 18:39, Dmitry A. Kazakov wrote: >>> As I said before it must be moved to the post-condition, >>> Storage_Error, or whatever raised upon stack overflow included. >> >> Could you please show a good Post aspect for >> >> function Plus_Too (A, B: Standard.Integer) >> return Standard.Integer is >> begin >> return A + B; >> end Plus_Too; > > None. Don't use aspects they are not good. I have already listed post-conditions, see my post from 2016-12-09. No Ada in there. I was thinking of this posting. So, is there nothing we can say about the arguments when we declare Plus_Too, such as how they need to be related for Plus_Too at all having a chance of not raising? > Implied contracts are outside the scope. My point. Why should contracts not be explicit, in particular when they had already been formal, albeit in a comment? > There is an infinite number of implied contracts which can be violated, > e.g. the one that the Earth does not turn black hole... That's curious. Can you show us the contract written and explicitly stating that the Earth does not turn black hole, and then explain how a programmer writing a call can violate this contract? (Actually, there is no variable in the predicate other than those implied in sub-expressions of Earth turning a black hole. IIRC, the Large Hadron Collider was thought capable of violating this contract according to explicit statements of some scientist.)