== Quote from Simen kjaeraas (simen.kja...@gmail.com)'s article > Pluto <pl...@planets.not> wrote: > > This part has always bothered me. Could somebody please explain to me the > > rationale behind limiting functions to one usable error code? > Well, traditionally it was done because testing for 0/non-0 is a simple > and fast operation. So speed it is. Was <1 really slower back then?
> Also, boolean logic can be thought of as simple maths, > as AND is multiplication and OR is addition. This only makes sense if > false == 0. false < 1, is what I would expect. It even makes it more symmetrical. > As for having more error codes, why would you use an int for it? Would it > not be more logical to use an enum, and to explicitly test for the value > upon return? Why not use exceptions? > If the problem is that enums are non-extensible, and exceptions are too > heavy, many libraries use the convention that 0 means success, and > anything else is an error code. Don't worry, I won't start using return types like this in D. Just interested.