Michel Fortin wrote:
On 2009-09-26 10:06:24 -0400, Andrei Alexandrescu <seewebsiteforem...@erdani.org> said:

Michel Fortin wrote:
I think you're writing a lot of boilerplate code for something that the compiler should be able to do by itself. I mean, it's a lot cleaner with contracts, and there is no reason the compiler couldn't generate itself that "contract-verifying" non-virtual function.

I think it would be a mistake to latch on my quick examples. It's not only about before and after checks, it's more about low-level customization points versus higher-level interfaces.

Then your examples should have shown this instead.

Herb's article has them!

I fully support having a way to specify a default implementation for a function in an interface. It might get handy for a few things (like implementing the delegate pattern you see everywhere in Cocoa). But it's a bad replacement for contracts.

Walter has implemented contract inheritance, and we hope to be able to have contracts on interfaces in too. The former is a nice expected feature; the latter could convince DbC skeptics to start using it.

Andrei

Reply via email to