[Python-Dev] Revive the types sig?
Jeremy Hylton
jeremy@alum.mit.edu
Sun, 11 Mar 2001 20:22:04 -0500 (EST)
>>>>> "PP" == Paul Prescod <paulp@ActiveState.com> writes:
PP> Let's discuss my proposal in the types-sig. Executive summary:
PP> * incremental development policy
PP> * syntax for parameter type declarations
PP> * syntax for return type declarations
PP> * optional runtime type checking
PP> * goals are better runtime error reporting and method
PP> documentation
If your goal is really the last one, then I don't see why we need the
first four <0.9 wink>. Let's take this to the doc-sig.
I have never felt that Python's runtime error reporting is all that
bad. Can you provide some more motivation for this concern? Do you
have any examples of obscure errors that will be made clearer via type
declarations?
The best example I can think of for bad runtime error reporting is a
function that expects a sequence (perhaps of strings) and is passed a
string. Since a string is a sequence, the argument is treated as a
sequence of length-1 strings. I'm not sure how type declarations
help, because:
(1) You would usually want to say that the function accepts a
sequence -- and that doesn't get you any farther.
(2) You would often want to say that the type of the elements of
the sequence doesn't matter -- like len -- or that the type of
the elements matters but the function is polymorphic -- like
min. In either case, you seem to be ruling out types for
these very common sorts of functions.
If documentation is really the problem you want to solve, I imagine
we'd make much more progress if we could agree on a javadoc-style
format for documentation. The ability to add return-type declarations
to functions and methods doesn't seem like much of a win.
Jeremy