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,FREEMAIL_FROM autolearn=ham autolearn_force=no version=3.4.4 X-Google-Thread: 103376,6327f05d4989a68d X-Google-NewGroupId: yes X-Google-Attributes: gida07f3367d7,domainid0,public,usenet X-Google-Language: ENGLISH,ASCII-7-bit X-Received: by 10.66.82.164 with SMTP id j4mr2736839pay.15.1356317094697; Sun, 23 Dec 2012 18:44:54 -0800 (PST) Received: by 10.49.58.140 with SMTP id r12mr3026299qeq.35.1356317094266; Sun, 23 Dec 2012 18:44:54 -0800 (PST) Path: 6ni51708pbd.1!nntp.google.com!f6no14572421pbd.1!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail Newsgroups: comp.lang.ada Date: Sun, 23 Dec 2012 18:44:54 -0800 (PST) In-Reply-To: Complaints-To: groups-abuse@google.com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=206.53.78.59; posting-account=ShYTIAoAAABytvcS76ZrG9GdaV-nXYKy NNTP-Posting-Host: 206.53.78.59 References: <7wrdmbre6jw9.qww9l0uzj6mg.dlg@40tude.net> <14oqoq06zhlu2.tcasif3hdyhw.dlg@40tude.net> <1drh1q1ln2dfh$.a9hwlg01fjfy.dlg@40tude.net> <50d6365d$0$6577$9b4e6d93@newsspool3.arcor-online.net> <1pbg79bz92j3t$.sz41zduivjfp.dlg@40tude.net> User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: <4c101d74-c8cb-45a6-82d4-91923bb950b0@googlegroups.com> Subject: Re: Press Release - Ada 2012 Language Standard Approved by ISO From: sbelmont700@gmail.com Cc: mailbox@dmitry-kazakov.de Injection-Date: Mon, 24 Dec 2012 02:44:54 +0000 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Date: 2012-12-23T18:44:54-08:00 List-Id: On Sunday, December 23, 2012 6:38:21 PM UTC-5, Shark8 wrote: > On Sunday, December 23, 2012 2:08:53 AM UTC-6, Dmitry A. Kazakov wrote: >=20 > >=20 >=20 > > Contracted exceptions is an urgent need. >=20 >=20 >=20 > There are contracted exceptions, of a sort -- the LRM guarantees that the= predefined relational operator will not raise an exception and the predefi= ned operators on integers will only raise NUMERIC_ERROR ( http://archive.ad= aic.com/standards/83lrm/html/lrm-04-05.html ) -- of course that's an extern= al contract. >=20 >=20 >=20 > The ability to have such guarantees applied to the programer's Ada text w= ould indeed be a boon; perhaps using an aspect of the following form: >=20 > Exceptions =3D> [ NOT NULL | NULL | "EXCEPTION_NAME"[, OR "EXCEPTION_N= AME"]] >=20 >=20 >=20 > Where EXCEPTION_NAME would map to either predefined exceptions or visible= user-defined exceptions, NULL would assert that the procedure raises no ex= ceptions, and NOT NULL would be what we have now (subprogram can raise any = exception). >=20 >=20 >=20 > The problem with the above is that there's some exceptions which are depe= ndent on the [executing] environment at Run-time (STORAGE_ERROR springs to = mind). Recall that exception specifications in C++ was a god-awful nightmare, and = has since been depreciated. It makes it nearly impossible to write anythin= g useful, since if subprogram A raises exception E, then any subprogram A c= alls during its body must also only ever raise E, and it's turtles all the = way down. -sb