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,ad06d2d7cb045687 X-Google-NewGroupId: yes X-Google-Attributes: gida07f3367d7,domainid0,public,usenet X-Google-Language: ENGLISH,UTF8 Received: by 10.68.73.229 with SMTP id o5mr8186058pbv.7.1328410183886; Sat, 04 Feb 2012 18:49:43 -0800 (PST) Path: lh20ni261658pbb.0!nntp.google.com!news2.google.com!goblin1!goblin2!goblin.stu.neva.ru!aioe.org!.POSTED!not-for-mail From: =?utf-8?Q?Yannick_Duch=C3=AAne_=28Hibou57?= =?utf-8?Q?=29?= Newsgroups: comp.lang.ada Subject: Re: Silly and stupid post-condition or not ? Date: Sun, 05 Feb 2012 03:49:41 +0100 Organization: Ada @ Home Message-ID: References: <82wr86fzos.fsf@stephe-leake.org> <5af407fc-2868-44ca-84d2-c51a2a64104d@o4g2000pbc.googlegroups.com> <82k445fu9n.fsf@stephe-leake.org> <82ty36urik.fsf@stephe-leake.org> NNTP-Posting-Host: kM9tie64fStpd0TGMCE/dQ.user.speranza.aioe.org Mime-Version: 1.0 X-Complaints-To: abuse@aioe.org User-Agent: Opera Mail/11.61 (Linux) X-Notice: Filtered by postfilter v. 0.8.2 Content-Type: text/plain; charset=utf-8; format=flowed; delsp=yes Content-Transfer-Encoding: Quoted-Printable Date: 2012-02-05T03:49:41+01:00 List-Id: Le Sun, 05 Feb 2012 00:07:31 +0100, Stephen Leake = a =C3=A9crit: > Nothing in this declaration says it's a _valid_ dart_score. But it wou= ld > be helpful for the comment to include the notion of invalid scores: > > Dart_Score : Natural range 1 .. 60; > -- Holds the score for a single dart. Note that not all scores in > -- this range are possible on a standard dart board. > > So this uses part Ada and part natural language to specify the > actual constraints. > > The original post condition was: > > function Parsed (S : String) return Parsed_Type > with Post =3D> > (if S'Length not in Image_Length_Type then > Parsed'Result.Status =3D Format_Error); > -- There may be other failure conditions. > > I was ignoring the comment; it's pretty weak. I would improve it: > > function Parsed (S : String) return Parsed_Type > with Post =3D> > (if S'Length not in Image_Length_Type then > Parsed'Result.Status =3D Format_Error); > -- There are other failure conditions indicated by > -- Parsed'Result.Status =3D Format_Error. > I feel you are right about the comment, it was too easy to miss. I tend = to = like conciseness, but may be to much conciseness disallow the expected = emphasis in some cases. -- = =E2=80=9CSyntactic sugar causes cancer of the semi-colons.=E2=80=9D [1] =E2=80=9CStructured Programming supports the law of the excluded muddle.= =E2=80=9D [1] [1]: Epigrams on Programming =E2=80=94 Alan J. =E2=80=94 P. Yale Univers= ity