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