
the only reason programmers write loops as integers is because accumulating floats "doesn't work". With Decimal, that is no longer the case.
That is completely untrue. Binary floating point does just as good a job of handling integers as decimal floating point does. For instance: >>> accumulator = 0.0 >>> for i in range(25000): ... accumulator += 1.0 ... >>> print accumulator 25000.0 Notice, perfect accuracy. Yet people don't tend to use floating point for loops... why not? I'd argue there are at LEAST two other good reasons. Performance (floating point arithmatic is fast, but the equivalent integer arithmatic is normally faster), and clarity of intent (using an int type makes it clear that you intend only to use integers. But lots of languages make other choices. The number of languages that have a single numeric type is pretty large... perl comes to mind, but I bet I could list 10 others without too much trouble. -- Michael Chermside