[Python-3000] Fwd: Conventions for annotation consumers (was: Re: Draft pre-PEP: function annotations) (original) (raw)
Collin Winter collinw at gmail.com
Wed Aug 16 00:29:48 CEST 2006
- Previous message: [Python-3000] Fwd: Conventions for annotation consumers (was: Re: Draft pre-PEP: function annotations)
- Next message: [Python-3000] Fwd: Conventions for annotation consumers (was: Re: Draft pre-PEP: function annotations)
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On 8/15/06, Calvin Spealman <ironfroggy at gmail.com> wrote:
On 8/15/06, Collin Winter <collinw at gmail.com> wrote:
1) Static analysis tools (pychecker, optimising compilers, etc) must be able to use the annotations As in any example given so far, the annotations would be instansiated within the function definition itself, which means the form 'def foo(a: Bar(baz))' is to be expected. This form could even be documented as the prefered way, as opposed to instansiating the annotation object before hand and simply using its name in the function definition. This leads to simple parsing by external tools, which would be able to deduce what bar is (because before that line there was an 'from bar import Bar'.
How exactly do they "deduce" what Bar is, just from the "from bar import Bar" line? pychecker would have to import and compile the Bar module first. What if being able to import bar depends on some import hooks that some other module (imported before bar) installed? I guess you'd have to follow the entire import graph just to make sure. Oh, and you'd have to end up running the module being analysed in case it installs some import hooks -- or maybe it defines Bar itself.
Your proposal isn't workable.
Collin Winter
- Previous message: [Python-3000] Fwd: Conventions for annotation consumers (was: Re: Draft pre-PEP: function annotations)
- Next message: [Python-3000] Fwd: Conventions for annotation consumers (was: Re: Draft pre-PEP: function annotations)
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]