A problem with D contracts
Walter Bright
newshound2 at digitalmars.com
Sun Aug 1 12:53:26 PDT 2010
Norbert Nemec wrote:
> I agree that contracts offer too much liberty. However, I would actually
> go one step further than bearophile:
>
> I find the need for "assert" statements not only superfluous but
> actually misleading. A contract violation is something conceptionally
> different from a broken assertion. Assertions and contracts have
> different purposes.
In what way are their purposes different?
> In my opinion, contracts should not be lists of statements but simply
> boolean expressions that have to evaluate to true. Contract checks would
> then become decoupled from assertion checks. Both could be switched
> independently at compile time.
>
> For any case where the contract is more complex than what can be handled
> by an expression, one should simply define a pure function, which would
> even help to unclutter the code and keep contract short and concise to
> read.
I think that's a stylistic issue, not a language one.
More information about the Digitalmars-d
mailing list