In article <mailman.18178.1422380228.18130.python-l...@python.org>, random...@fastmail.us says... > > On Mon, Jan 26, 2015, at 19:11, Steven D'Aprano wrote: > > random...@fastmail.us wrote: > > - lexical analysis has to look for twice as many files (it has to > > hit the hard drive for a stub file before looking at the source), > > and we know from importing that file system access is a > > significant and expensive part of the process. > > The idea is that the type hinting files would not participate in > execution at all, only static analysis, so the interpreter doesn't need > to look for these things at all, it only needs to ignore them.
Like Steven, I do not agree with the idea of adding files for the purposes of static analysis. But you make an important point. Static analysis cannot and should not clutter executable code. Static analysis doesn't require code execution. The Python interpreter doesn't need to be called in. It is for this reason that it makes absolutely no sense to for type hints to be mixed with our code. Let them reside in comments, docstrings, external files, whatever. But never in our code. I'm actually baffled that PEP 484 came into existence, let alone it having any kind of supporter. Here we have a syntax that even requires changes to the interpreter so it can safely ignore all the type hinting clutter that is going to be added by anyone wanting to perform static analysis. And we should also be careful around the argument that type hints are optional. An optional feature says nothing of its requirements. The requirements for PEP 484 are heavy. Not only will they force an update to the interpreter, but will also force many users to reformate their function headers in order for them to become bareable to the eye. In fact, no longer will you look at function definitions like you did before. And an optional feature says nothing of its usage patterns. Type hints may be optional, but they may become a requirement for many projects. In fact, the more complex your project, the more likely you are of wanting to perform static analysis. It's not because type hints are optional that I have some kind of choice about the matter. I may force myself, or be forced, to use them. And if that is the case, I would rather prefer having a syntax that doesn't clutter my ezxecutable code. -- https://mail.python.org/mailman/listinfo/python-list