Output contract's arguements
PauloPinto
pjmlp at progtools.org
Thu Sep 19 04:31:53 PDT 2013
On Thursday, 19 September 2013 at 11:18:54 UTC, monarch_dodra
wrote:
> On Thursday, 19 September 2013 at 11:11:58 UTC, Peter Alexander
> wrote:
>> On Thursday, 19 September 2013 at 11:07:07 UTC, Artur Skawina
>>> That "final value of v" is not part of any contract, it's
>>> just a private
>>> local.
>>
>> I repeat my question then: what would you want this to do? As
>> you say, v is a local copy, it cannot be part of a contract --
>> it cannot affect anything the client code sees.
>
> I'd like the out contract to operate on its own copies of the
> function's arguments.
>
> These could either be passed by the implementation of the body,
> prior to starting proper, or by the caller, passing the same
> arguments to both the contract and the function. That'd be
> dependent on the implementation.
Using the Eiffel standard as reference, chapter 8.9, the daddy of
design by contract
http://www.ecma-international.org/publications/standards/Ecma-367.htm
Given a parameter x, on a postcondition it refers to the local
value on function's exit. To refer to the original value on entry
it needs to be prefixed with the keyword old.
--
Paulo
More information about the Digitalmars-d
mailing list