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

Reply via email to