From: Shark8 <onewingedshark@gmail.com>
Subject: Re: Tests in a software release
Date: Fri, 17 Nov 2017 07:36:11 -0800 (PST)
Date: 2017-11-17T07:36:11-08:00 [thread overview]
Message-ID: <ed7160dc-fdb1-4181-bd20-fc688f95d6e2@googlegroups.com> (raw)
In-Reply-To: <oui938$1rb6$2@gioia.aioe.org>
On Wednesday, November 15, 2017 at 1:46:35 PM UTC-7, Dmitry A. Kazakov wrote:
> On 2017-11-15 18:57, G. B. wrote:
>
> > The most important thing is, designing by contract
> > is *not* programming defensively.
>
> It exactly is. In both cases no assumptions beyond known preconditions
> are made. Ada was especially designed to uphold defensive programming.
> E.g. case requires others alternative:
>
> I : Positive := 1;
>
> case I is
> when 1 =>
> ...
> when others => -- Defensive and mandatory
> ...
> end case;
Except that Ada allows CASE to be non-defensive and natural operation over sets:
Example : Integer with Import, Address => SOME_PORT;
Subtype Negative is Integer range Integer'First..Integer'Pred(Natural'First);
Subtype Small_Prime is Positive range Positive'Succ(Positive'First)..2**5
with Static_Predicate => Small_Prime in
2 | 3 | 5 | 7 | 11 | 13 | 17 | 19 | 23 | 29 | 31;
Case Example is
when Negative => Do_Negative;
when 0 => Do_Zero;
when 1 => Do_One;
when Small_Prime => Do_Prime;
when others => Do_Positive_General;
End Case;
next prev parent reply other threads:[~2017-11-17 15:36 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-10-25 19:30 Tests in a software release Victor Porton
2017-10-26 7:20 ` Dmitry A. Kazakov
2017-10-27 18:06 ` G. B.
2017-10-27 18:54 ` Dmitry A. Kazakov
2017-10-28 6:53 ` G.B.
2017-10-28 7:35 ` Dmitry A. Kazakov
2017-10-30 20:44 ` G. B.
2017-10-30 20:56 ` Dmitry A. Kazakov
2017-10-31 7:17 ` G.B.
2017-10-31 8:32 ` Dmitry A. Kazakov
2017-11-03 7:24 ` G.B.
2017-11-03 8:16 ` Dmitry A. Kazakov
2017-11-03 12:49 ` Shark8
2017-11-04 10:15 ` G.B.
2017-11-15 0:11 ` Randy Brukardt
2017-11-15 17:57 ` G. B.
2017-11-15 20:46 ` Dmitry A. Kazakov
2017-11-17 15:36 ` Shark8 [this message]
2017-11-15 22:17 ` Randy Brukardt
2017-11-16 21:44 ` G.B.
2017-11-17 0:15 ` Randy Brukardt
2017-11-17 15:45 ` Shark8
2017-11-18 1:07 ` Randy Brukardt
2017-11-15 0:06 ` Randy Brukardt
2017-11-15 8:47 ` Dmitry A. Kazakov
2017-11-15 21:53 ` Randy Brukardt
2017-11-15 16:47 ` Jeffrey R. Carter
2017-11-15 16:59 ` J-P. Rosen
2017-11-15 20:45 ` Dmitry A. Kazakov
2017-11-15 21:58 ` Randy Brukardt
2017-11-16 5:50 ` J-P. Rosen
2017-11-16 23:53 ` Randy Brukardt
2017-11-15 0:01 ` Randy Brukardt
2017-11-16 17:02 ` Robert Eachus
2017-11-17 0:20 ` Randy Brukardt
2017-11-22 20:40 ` Robert Eachus
2017-11-14 23:55 ` Randy Brukardt
2017-10-26 8:09 ` Stefan.Lucks
2017-10-26 17:30 ` Simon Clubley
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox