Andrei:

> I don't see anything remotely clever in the solution I suggested.

I am not clever enough...


> At some point it's worth starting to use the language to devise solutions 
> to problems instead of inventing a new feature for any problem that 
> comes about.

That was not a new unexpected problem, it was an example of missing brick of 
the D DbC. It's like you remove preconditions: then something is missing in the 
frame. Loop invariants and loop variants are minor feature of DbC and they 
probably may be spared in D (and when necessary loop invariants may be 
implemented manually with a call to a pure function), but prestate access is 
something I/you need often when you want to use DbC, it's not there in Eiffel 
and C# for sport.

Your view of how to design a language is probably different from mine.

Bye,
bearophile

Reply via email to