What is a type error?

David Hopwood david.nospam.hopwood at blueyonder.co.uk
Sat Jun 24 02:56:12 CEST 2006

Pascal Costanza wrote:
> Chris Smith wrote:
>> While this effort to salvage the term "type error" in dynamic
>> languages is interesting, I fear it will fail.  Either we'll all have
>> to admit that "type" in the dynamic sense is a psychological concept
>> with no precise technical definition (as was at least hinted by
>> Anton's post earlier, whether intentionally or not) or someone is
>> going to have to propose a technical meaning that makes sense,
>> independently of what is meant by "type" in a static system.
> What about this: You get a type error when the program attempts to
> invoke an operation on values that are not appropriate for this operation.
> Examples: adding numbers to strings; determining the string-length of a
> number; applying a function on the wrong number of parameters; applying
> a non-function; accessing an array with out-of-bound indexes; etc.

This makes essentially all run-time errors (including assertion failures,
etc.) "type errors". It is neither consistent with, nor any improvement
on, the existing vaguely defined usage.

David Hopwood <david.nospam.hopwood at blueyonder.co.uk>

More information about the Python-list mailing list