Barry L.:

Just saw this: http://joeduffyblog.com/2013/12/27/csharp-for-systems-programming/

A little more info:
https://plus.google.com/+AleksBromfield/posts/SnwtcXUdoyZ

http://www.reddit.com/r/programming/comments/1tzk5j/the_m_error_model/

From the article:

our language has excellent support for understanding side effects at compile time. Most contract systems demand that contract predicates be free of side effects, but have no way of enforcing this property. We do. If a programmer tries to write a mutating predicate, they will get a compile-time error. When we first enabled this feature, we were shocked at the number of places where people wrote the equivalent of “Debug.Assert(WriteToDisk())”. So, practically speaking, this checking has been very valuable.<

Bye,
bearophile

Reply via email to