Boost logo

Boost :

Subject: Re: [boost] [contract] Without the macros
From: Lorenzo Caminiti (lorcaminiti_at_[hidden])
Date: 2016-07-19 12:34:46


On Fri, Jun 24, 2016 at 2:25 PM, Andrzej Krzemienski <akrzemi1_at_[hidden]> wrote:
> 2016-06-24 22:10 GMT+02:00 Lorenzo Caminiti <lorcaminiti_at_[hidden]>:
>>
>> > Here is the last version of the proposal:
>> > http://open-std.org/JTC1/SC22/WG21/docs/papers/2016/p0380r0.pdf
>>
>> I always thought it'd be great to have contracts added to the core
>> language... if not for anything else, for a more concise syntax and
>> compiler optimizations. Unfortunately I found this P0380 proposal
>> largely inadequate. In my opinion/experience, the following are major
>> issues with P0380:
>
> <snip>
>
>> N1962 (http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n1962.html)
>> was a solid proposal for adding Contract Programming to C++. Why not
>> accepting that proposal (maybe with the attributes syntax introduced
>> by P0380)?
>
> This proposal is more feature complete, but it does not go into details of
> how contracts interact with other c++-specific features like friends,
> noexcept, constexpr. It does not give evidence that it is sufficient to
> support static analysers.

Andrzej, as always your raise very good points and questions!

I have now read most (all?) n/p-papers on contracts since N1962. I
will try to address the questions above, especially with respect to
what Boost.Contract does, in a hand full of separate emails on this
mailing list.

Thank you.
--Lorenzo


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk