PEP 3107 and stronger typing (note: probably a newbie question)
Diez B. Roggisch
deets at nospam.web.de
Sat Jun 30 13:04:08 EDT 2007
>
> wrt/ proofs of correctness, I'll just point to the spectacular failure
> of Ariane, which was caused by a *runtime* type error in a system
> programmed in ADA - one of the languages with the most psychorigid
> declarative static type systems.
That's simply not true. The problem hadn't to do with typing - it was a
overflow due to larger input quantities. It had been shown for the
Ariane 4 that this overrun could never happen - by whatever thechnique,
operational or denotational semanticse, I don't know.
For the ariane 5, these input constraints didn't hold, which caused the
unexpected runtime error to occur.
But there is _no_ type-error here! The programmers might have chosen a
different type with larger range, sure. But to say that's a type error
is as saying "using a string where a tuple of int and string were better
is a type error." It's another path of implementation.
Or from a testing angle: if the unit tests did only produce input values
to a certain quantity, the results were ok. Nobody thought about writing
new tests with larger quantities - the same way nobody thought about
proving the program with those same quantities.
Diez
More information about the Python-list
mailing list