comp.lang.ada
 help / color / mirror / Atom feed
From: "Alex R. Mosteo" <devnull@mailinator.com>
Subject: Re: On pragma Precondition etc.
Date: Mon, 28 Jul 2008 10:02:03 +0200
Date: 2008-07-28T10:02:03+02:00	[thread overview]
Message-ID: <6f5cknF9onjlU3@mid.individual.net> (raw)
In-Reply-To: 4889bf57$0$9508$9b4e6d93@newsspool3.arcor-online.net

Georg Bauhaus wrote:

> Alex R. Mosteo schrieb:
> 
>> Piling more suggestions: I understand the point of using pragmas by Gnat at
>> this stage, but if this is going to be standardized perhaps the syntax of a
>> declaration could be changed. For example:
>> 
>> function Foo (X, Y : Something) return Whatever with
>>   Precondition (Blah) and
>>   Postcondition (Urgh);
>> 
>> So now it is all a indivisible whole and the OP concern is gone.
>> 
>> I haven't seen Eiffel code. How do they do this?
> 
> feature Foo(X, Y : SOMETHING): WHATEVER is
> -- short comment
> require
> Precondition_Name: Blah
> do
> ...
> ensure
> Postcondition_Name: Urgh
> end
> 
> The Pre-/Postcondition_Name serves a purpose similar to the
> message parameter of Ada's pragmas.)
> 
> Eiffel's "contract view" of the class then hides the statements
> of Foo. So you get a "spec".
> 
> feature Foo(X, Y : SOMETHING): WHATEVER is
> -- short comment
> require
> Precondition_Name: Blah
> ensure
> Postcondition_Name: Urgh
> 
> 
> In addition, Eiffel's Pre-/Postcondition have inheritance rules
> for the conditions.  Another spot where Ada would to be more
> general.

Very interesting, thanks!



  reply	other threads:[~2008-07-28  8:02 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-07-25  8:01 On pragma Precondition etc Georg Bauhaus
2008-07-25 10:50 ` stefan-lucks
2008-07-25 11:05   ` mockturtle
2008-07-25 11:44     ` Alex R. Mosteo
2008-07-25 11:56       ` Georg Bauhaus
2008-07-28  8:02         ` Alex R. Mosteo [this message]
2008-07-29 11:18       ` Martin Krischik
2008-07-29 12:08         ` Dmitry A. Kazakov
2008-07-29 14:19           ` Georg Bauhaus
2008-07-29 14:49             ` Georg Bauhaus
2008-07-29 15:00             ` Dmitry A. Kazakov
2008-07-29 15:14               ` Georg Bauhaus
2008-07-29 15:55               ` Georg Bauhaus
2008-07-29 17:49                 ` Dmitry A. Kazakov
2008-07-30  9:06                   ` Georg Bauhaus
2008-07-30 13:47                     ` Dmitry A. Kazakov
2008-07-30 17:45                       ` Georg Bauhaus
2008-07-31  8:12                         ` Dmitry A. Kazakov
2008-07-31 23:06                           ` Georg Bauhaus
2008-08-01  8:40                             ` Dmitry A. Kazakov
2008-07-30  9:22                   ` Georg Bauhaus
2008-07-30 13:56                     ` Dmitry A. Kazakov
2008-07-25 14:39   ` Robert A Duff
2008-07-25 16:50 ` Pascal Obry
replies disabled

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