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!news.eternal-september.org!feeder.eternal-september.org!aioe.org!.POSTED!not-for-mail From: "Dmitry A. Kazakov" Newsgroups: comp.lang.ada Subject: Re: On contracts and implementations Date: Thu, 11 Jul 2013 16:15:44 +0200 Organization: cbb software GmbH Message-ID: References: <51de7c5d$0$6566$9b4e6d93@newsspool3.arcor-online.net> Reply-To: mailbox@dmitry-kazakov.de NNTP-Posting-Host: IenaDxMXK2hi7fvYcb+MlQ.user.speranza.aioe.org Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Complaints-To: abuse@aioe.org User-Agent: 40tude_Dialog/2.0.15.1 X-Notice: Filtered by postfilter v. 0.8.2 Xref: news.eternal-september.org comp.lang.ada:16293 Date: 2013-07-11T16:15:44+02:00 List-Id: On Thu, 11 Jul 2013 07:56:02 -0400, Peter C. Chapin wrote: > On 07/11/2013 05:35 AM, G.B. wrote: > >> There is a claim that contracts of Ada 2012 are part of the >> implementation. They are not. > > I think the litmus test for contract code vs "ordinary" code is that the > contracts should be removable without changing the functional behavior > of the program. This means that any checks of errors arising from the > execution environment, such as missing files or bad user input, can't be > in contracts. Right > It is important to be able to remove contracts for performance reasons. > I'm not talking about the constant time overhead of extra range checks. > I'm talking about major performance costs. It is in contradiction with the above. Since contract checks may have no effect on program semantics, they cannot be executable. Of course they can be removed, because they never were inserted in first place. -- Regards, Dmitry A. Kazakov http://www.dmitry-kazakov.de