John Nagle <[EMAIL PROTECTED]> wrote: > PEP 3107 is static typing without enforcement, which is not a good thing.
Wrong: PEP3107 is a syntax for adding arbitrary metadata annotations (so that said annotations don't get squished where they don't belong, such as decorators or docstrings, as they used to be in 2.*). The PEP itself offers a good example that should be vastly sufficient to destroy the "is static typing" notion: def compile(source: "something compilable", filename: "where the compilable thing comes from", mode: "is this a single statement or a suite?"): how do you get from that example to "PEP 3107 is static typing"? What an absurd, illogical leap. Here, it's being used to provide "per-argument docstrings" which a pydoc-like system could access as compile.func_annotation['source'] and the like, and format as it likes best. Type annotations (not necessarily for checking -- third party libraries are free to provide completely different semantics, such as adaptation) is another possible use, and Pythonistas' creativity may well supply many, many others. Alex -- http://mail.python.org/mailman/listinfo/python-list