
On Fri, Jul 02, 2004, Raymond Hettinger wrote:
So, my question for the group is whether to:
* leave it as-is * raise a ValueError just like float('abc') or int('abc') * raise an Invalid Operation and return a quiet NaN.
Either of the last two involves editing the third-party test cases which I am loathe to do. The second is the most Pythonic but does not match Mike's clarification. The third keeps within context of the spec but doesn't bode well for Decimal interacting well with the rest of python. The latter issue is unavoidable to some degree because no other python numeric type has context sensitive operations, settable traps, and result flags.
There's another option: allow both options one and two, with option two the default; the test cases can manually set option one, while adding a few extra ones to cover the default usage.
A separate question is determining the default precision. Currently, it is set at 9 which conveniently matches the test cases, the docstring examples, and examples in the spec. It is also friendly to running time.
When this was discussed earlier (may have been in private), it was decided to leave this because it's so easy to change. -- Aahz (aahz@pythoncraft.com) <*> http://www.pythoncraft.com/ "Typing is cheap. Thinking is expensive." --Roy Smith, c.l.py