On Thursday, 5 February 2015 at 09:02:05 UTC, deadalnix wrote:
On Thursday, 5 February 2015 at 07:28:36 UTC, Paulo Pinto wrote:
I miss the point about in.
DbC as presentend by Eiffel and adopted in .NET, Ada among
others, the complete contract is on the callee.
It doesn't make sense otherwise.
There was a huge discussion here:
https://issues.dlang.org/show_bug.cgi?id=6857
Long story short: it was done in Eiffel that way for
implementation reason, other language are cargo culting eiffel,
and putting in contract in the caller is the right thing to do.
So the caller can break the contract without any consideration
for what values the input arguments are valid?!
There is a reason why the industry at large has adopted the
Eiffel way.
-
Paulo