assume, assert, enforce, @safe

via Digitalmars-d digitalmars-d at puremagic.com
Tue Aug 5 02:42:25 PDT 2014


On Monday, 4 August 2014 at 00:59:10 UTC, Andrei Alexandrescu 
wrote:
> For my money, consider Walter's response:
>
>> What I see is Microsoft attempting to bring D's assert 
>> semantics into
>> C++. :)
>>
>> As I've mentioned before, there is inexorable pressure for 
>> this to
>> happen, and it will happen.
>
> I find it to the point, clear, and funny.

Yeah, it was funny because:
( http://msdn.microsoft.com/en-us/library/1b3fsfxw.aspx )

«Caution:
A program must not contain an invalid __assume statement on a 
reachable path. If the compiler can reach an invalid __assume 
statement, the program might cause unpredictable and potentially 
dangerous behavior.»

Please note «if the compiler can reach», not «if a path can be 
executed».


And «inexorable»:
( https://www.google.no/search?q=inexorable )

- "the seemingly inexorable march of new technology"

- (of a person) impossible to persuade; unrelenting.


Of course, being unrelenting goes with the territory of 
single-handedly building a c++ competitor. So it is not a bad 
trait. The bad thing here is not making "compile assert as 
assume" an experimental feature, but making it the default.

People who are autodidact also sometimes find new ways of doing 
things because they are more likely to go explore new paths. But 
I don't think this path is all that new… so I hope Walter, if he 
continues walking down this path, remains unrelenting and keeps 
walking past "assert as assume" until he finds truly new 
territory in the realm of formal methods. That could happen and 
bring great features to D.

There is a significant difference between going down a path to 
see what you can find on the other end and turning the path into 
a goal, a priori.


More information about the Digitalmars-d mailing list