comp.lang.ada
 help / color / mirror / Atom feed
From: Georg Bauhaus <rm.dash-bauhaus@futureapps.de>
Subject: Re: Ada vs Eiffel - Ada programmer approach
Date: Tue, 26 May 2009 19:26:42 +0200
Date: 2009-05-26T19:26:42+02:00	[thread overview]
Message-ID: <4a1c2652$0$30220$9b4e6d93@newsspool1.arcor-online.net> (raw)
In-Reply-To: <130yh6dv3l1lf$.1729u4tpolgwi.dlg@40tude.net>

Dmitry A. Kazakov schrieb:
> On Tue, 26 May 2009 06:37:49 -0700 (PDT), Ludovic Brenta wrote:

>> - pre/post conditions and invariants involve run-time checks most of
>> the time (if not all the time). They slow the program down if enabled,
>> or become useless when disabled for performance.
> 
> There should be no run-time contract checks. That is inconsistent:
> 
> function Return_False return Boolean is
>     -- The contract of Return_False is to return False
> begin
>    if Is_OK (Return_False) then
>       -- Is_OK returns True if Return_False satisfies its contract
>       return True;
>    else
>       return False;
>    end if;
> end Return_False;
> 
> Now, if Return_False is OK, then Is_OK returns True and then Return_False
> returns True and so it is not OK. So is it, or is it not?

Eiffel defines the conditions for when a contract's assertions
will be tested. In particular, not every call will
trigger the tests. ;-)  So the never ending loop above is
not a problem within the Eiffel DbC framework of definitions.
(The stack may overflow, though.)



  reply	other threads:[~2009-05-26 17:26 UTC|newest]

Thread overview: 52+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-05-24  8:39 Ada vs Eiffel - Ada programmer approach Tomek Walkuski
2009-05-24 11:49 ` anon
2009-05-24 12:26   ` Georg Bauhaus
2009-05-24 12:17 ` Georg Bauhaus
2009-05-24 16:31 ` Pascal Obry
2009-05-25 16:32   ` Rugxulo
2009-05-26 13:37   ` Ludovic Brenta
2009-05-26 14:51     ` Dmitry A. Kazakov
2009-05-26 17:26       ` Georg Bauhaus [this message]
2009-05-26 17:39         ` Dmitry A. Kazakov
2009-05-26 17:59           ` Georg Bauhaus
2009-05-26 19:52             ` Dmitry A. Kazakov
2009-05-26 20:14               ` Pascal Obry
2009-05-26 20:25                 ` Pascal Obry
2009-05-26 21:28                 ` Dmitry A. Kazakov
2009-05-26 18:23       ` Jeffrey R. Carter
2009-05-26 15:07     ` Tim Rowe
2009-05-26 16:37       ` Georg Bauhaus
2009-05-28  8:37         ` Nicholas Paul Collin Gloucester
2009-06-01 16:22         ` Tim Rowe
2009-06-04  7:35       ` Hibou57 (Yannick Duchêne)
2009-06-04  9:46         ` Martin
2009-06-04 12:16           ` Hibou57 (Yannick Duchêne)
2009-06-04  9:56         ` Jean-Pierre Rosen
2009-06-16  6:58         ` ardjussi
2009-06-16 17:22           ` Jeffrey R. Carter
2009-05-26 18:21     ` Jeffrey R. Carter
2009-05-26 18:35       ` Dmitry A. Kazakov
2009-06-04  7:39       ` Hibou57 (Yannick Duchêne)
2009-06-04  9:02         ` Ludovic Brenta
2009-06-04  9:19           ` Dmitry A. Kazakov
2009-06-04 12:14             ` Hibou57 (Yannick Duchêne)
2009-06-04 14:14               ` Dmitry A. Kazakov
2009-06-04 16:45         ` Jeffrey R. Carter
2009-06-04  7:30     ` Hibou57 (Yannick Duchêne)
2009-06-04  7:55       ` Ludovic Brenta
2009-06-04  8:45         ` Georg Bauhaus
2009-06-04  9:03           ` Ludovic Brenta
2009-06-04 13:25         ` Robert A Duff
2009-06-04 13:39           ` Martin
2009-06-04 13:08             ` stefan-lucks
2009-06-08 12:41           ` Samuel Tardieu
2009-06-08 19:37             ` Robert A Duff
2009-06-08 22:52               ` Randy Brukardt
2009-06-09  7:39                 ` Dmitry A. Kazakov
2009-06-10  6:55               ` Hibou57 (Yannick Duchêne)
2009-06-10  6:58               ` Hibou57 (Yannick Duchêne)
2009-06-10 11:10                 ` Georg Bauhaus
2009-06-04  7:04   ` Hibou57 (Yannick Duchêne)
2009-06-04  6:04 ` Hibou57 (Yannick Duchêne)
2009-06-06 14:27   ` Marco
2009-06-06 15:37     ` Tomek Wałkuski
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox