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=unavailable autolearn_force=no version=3.4.4 Path: border1.nntp.dca3.giganews.com!border3.nntp.dca.giganews.com!border1.nntp.dca.giganews.com!nntp.giganews.com!newsfeed.hal-mli.net!feeder3.hal-mli.net!newsfeed.hal-mli.net!feeder1.hal-mli.net!feeder.erje.net!eu.feeder.erje.net!news2.arglkargh.de!news.mixmin.net!gandalf.srv.welterde.de!news.jacob-sparre.dk!loke.jacob-sparre.dk!pnx.dk!.POSTED!not-for-mail From: "Randy Brukardt" Newsgroups: comp.lang.ada Subject: Re: The future of Spark . Spark 2014 : a wreckage Date: Mon, 15 Jul 2013 19:16:56 -0500 Organization: Jacob Sparre Andersen Research & Innovation Message-ID: References: <1d4tuwlfdnz2j$.18l68s96x3vjj.dlg@40tude.net> <984821833395507830.672948rm-host.bauhaus-maps.arcor.de@news.arcor.de> NNTP-Posting-Host: static-69-95-181-76.mad.choiceone.net X-Trace: loke.gir.dk 1373933817 24365 69.95.181.76 (16 Jul 2013 00:16:57 GMT) X-Complaints-To: news@jacob-sparre.dk NNTP-Posting-Date: Tue, 16 Jul 2013 00:16:57 +0000 (UTC) X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2900.5931 X-RFC2646: Format=Flowed; Original X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.6157 X-Original-Bytes: 2043 Xref: number.nntp.dca.giganews.com comp.lang.ada:182526 Date: 2013-07-15T19:16:56-05:00 List-Id: "Georg Bauhaus" wrote in message news:984821833395507830.672948rm-host.bauhaus-maps.arcor.de@news.arcor.de... > "Dmitry A. Kazakov" wrote: > >> I don't see how adding optional exception contracts should disrupt >> anything. > > Aren't exceptions already part of contracts? Implied, though. Yes, but only for inbound contracts (preconditions and predicates). We need them for outbound contracts as well, without having to guess. And I agree with Dmitry that those need to be compile-time checked in the subprogram bodies. (Exactly how that's done has to be worked out, of course). procedure Op (x : in out T) with Post => Foo(x), Exception => Constraint_Error when not Foo(x); or something like that. Randy. Randy.