On Tue, 2006-02-21 at 15:02 -0700, Jeffrey A Law wrote: > ?!? WTF > > Given an expression, we have to do computations in some other type than > the type of the expression? Now that's just silly. If the expression > has some type X, then we should be doing our computations in type X.
That would obviously lead to very inefficient implementation if you put that in a language with user range types and bound checking since it would force a dynamic bound check after each operation. I don't see many other definitions that allow for efficient implementation other than the choice Ada language designer made here: - type bound check on user variable assignement - intermediate computation made with a type choosed by the compiler with equal or larger bounds, and in practive a convenient machine word with no checks at all on most intermediate computations You keep saying "brain damage", but please if you see a better design (other than "forget about user range types" :), let us all know! Laurent