checkedint call removal
Daniel Murphy via Digitalmars-d
digitalmars-d at puremagic.com
Wed Jul 30 06:56:28 PDT 2014
"Ola Fosheim Grøstad" " wrote in message
news:lzrtpkfytndikacweici at forum.dlang.org...
> It follows the law of logic:
>
> http://en.wikipedia.org/wiki/Hoare_logic
> http://en.wikipedia.org/wiki/Propositional_calculus
You're missing the point - we don't have to follow those definitions. Maybe
we should - but the fact that those systems are defined that way doesn't
intrinsically mean we have to define asserts behaviour that way.
> > Any verifier for D would have to understand the semantics of D's assert.
>
> If D gets this it will be a general verifier adapted to D. That follows
> the rules of established sound logic developed over the past 2300 years.
Yes, and the adaption will have to take into account D's semantics. This
doesn't mean D can't differ from other established definitions.
> All asserts should be established as either true or unknown. Assert(false)
> is weird. It is basically saying that true==false and asks you to prove
> that over a statement/loop that may or may not terminate.
assert(false) is saying that the condition will never be met, and that
branch of execution is impossible in a correct program. (although it is
often abused to mean 'unimplemented')
More information about the Digitalmars-d
mailing list