I can agree that in some circumstances, a ranged and saturated integer mode would be REALLY handy (colours, sound samples), but I can't buy in with the whole trapping overflows and stuff... most architectures will require explicit checking of the overflow bit after every operation to support this. Also, contrary to his claim, I find that wrapping is usually what I DO want in this case..
It's super rare that I write any code that pushes the limits of an int (unless we're talking 8-16 bit, see my range+saturation comment before), and when I do write code that pushes the range of an int, I can't think of a time when I've not wanted to wrap as expected. If I'm dealing with integers that big, chances are I'm dealing with memory ranges, bit masks, or some compression/crypto type thing where the algorithms depend on it. Not only am I aware of the wrapping behaviour, it's usually the intent...
On 5 December 2011 18:37, Don
<nospam@nospam.com> wrote:
Not very convincing, since he proposes a change to existing architectures, and seems completely unaware of the overflow flag.
If you can change existing architectures, why not simply allow an exception to be generated if an overflow occurs?
Doesn't seem at all helpful to D.