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,ea5071f634c2ea8b X-Google-NewGroupId: yes X-Google-Attributes: gida07f3367d7,domainid0,public,usenet X-Google-Language: ENGLISH,ASCII-7-bit Received: by 10.100.192.1 with SMTP id p1mr5620380anf.52.1321972364455; Tue, 22 Nov 2011 06:32:44 -0800 (PST) Path: lh20ni5543pbb.0!nntp.google.com!news2.google.com!volia.net!news2.volia.net!feed-A.news.volia.net!news.musoftware.de!wum.musoftware.de!news-transit.tcx.org.uk!aioe.org!.POSTED!not-for-mail From: "Dmitry A. Kazakov" Newsgroups: comp.lang.ada Subject: Re: Generic-Package Elaboration Question / Possible GNAT Bug. Date: Tue, 22 Nov 2011 15:32:44 +0100 Organization: cbb software GmbH Message-ID: <1iofgbqznsviu$.phvidtvxlyj4$.dlg@40tude.net> References: <7bf9bc32-850a-40c6-9ae2-5254fe220533@f29g2000yqa.googlegroups.com> <4295dc09-43de-4557-a095-fc108359f27f@y42g2000yqh.googlegroups.com> <3snehoqgs8ia$.1nobjem6g6hx6$.dlg@40tude.net> <128rdz2581345$.c4td19l7qp9z$.dlg@40tude.net> <16ipwvpdavifr$.17bxf7if7f6kh$.dlg@40tude.net> <4ecb78b1$0$6643$9b4e6d93@newsspool2.arcor-online.net> Reply-To: mailbox@dmitry-kazakov.de NNTP-Posting-Host: ARmOcGB+2dBIwZUEYVS5Gg.user.speranza.aioe.org Mime-Version: 1.0 X-Complaints-To: abuse@aioe.org User-Agent: 40tude_Dialog/2.0.15.1 X-Notice: Filtered by postfilter v. 0.8.2 Xref: news2.google.com comp.lang.ada:14515 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Date: 2011-11-22T15:32:44+01:00 List-Id: On Tue, 22 Nov 2011 11:25:59 +0100, Georg Bauhaus wrote: > On 22.11.11 09:29, Dmitry A. Kazakov wrote: >> I think that a solution is not in adding new sources of >> exceptions, but by making exceptions contracted (using conditional >> contracts, e.g. "I don't raise, if you don't", "I don't raise if there is N >> units of memory free" etc). > > I think that, with the exception of compiler-determines-all-of-this, > the above is a well known characterization of DbC. Not really. DbC is about upfront formalized requirements. For contracted exceptions more important is how contracts influence the implementation. The idea is that in order to be legal the program must be written so that the contract would be provable. If not provable, either the program or the contract has to be changed. That is opposite to dynamic checks, you don't need to check for non-contracted exceptions. -- Regards, Dmitry A. Kazakov http://www.dmitry-kazakov.de