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