<div dir="ltr"><br><br>On Thursday, March 6, 2014 4:41:08 PM UTC-6, Chris Angelico wrote:<div><br><blockquote class="gmail_quote" style="margin: 0;margin-left: 0.8ex;border-left: 1px #ccc solid;padding-left: 1ex;">What does your proposed hierarchy offer that numbers.Number doesn't?
<br><br></blockquote><div> </div></div><div>I just had one more thought along this line;  consider this:</div><div><br></div><div><div>>>> from pdeclib import *</div><div>>>> </div><div>>>> s1=sqrt(2.01)</div><div>>>> s1</div><div>Decimal('1.41774468787578244511883132198668766452744')</div><div>>>> s2=sqrt(d(2.01))</div><div>>>> s2</div><div>Decimal('1.41774468787578252029556185427085779261123')</div><div>>>> </div><div>>>> s1**2</div><div>Decimal('2.00999999999999978683717927196994423866272')</div><div>>>> s2**2</div><div>Decimal('2.01000000000000000000000000000000000000000')</div><div>>>> </div><div>>>> </div></div><div><br></div><div>Which one is right,   s1 or s2 ?</div><div><br></div><div>Well, clearly s1 is wrong.  And yet, s1 was coded by giving the system a normal</div><div>human number, at a human level, and very innocently s1 is really badly broken</div><div>but not immediately noticed until we try to square it...  </div><div><br></div><div>s2 on the other hand is correct, but we had to go through some hoops</div><div>to make sure that the system received the correct type.  The system should </div><div>be able to make this determination without the user having to determine types.</div><div><br></div><div>marcus</div></div>