[Python-3000] Conventions for annotation consumers

Paul Prescod paul at prescod.net
Wed Aug 16 07:34:46 CEST 2006


On 8/15/06, Greg Ewing <greg.ewing at canterbury.ac.nz> wrote:
>
> Paul Prescod wrote:
> > What if
> > two different groups start fighting over the keyword "type" or "doc" or
> > "lock"? Python already has a module system that allows you to use the
> > word "type" and me to use the word "type" without conflict
>
> But, in general, performing this disambiguation requires
> executing the module that is making the annotations. For
> a processor that only wants to deal with the source, this
> is undesirable.


This is true for every proposal we've described. Proposal 1 is:

Foo(int)
Bar(module.type1)

Proposal two is:

{"Foo": int,
"Bar": module.type1}

In either case, "int" and "module.type1" can be rebound. To say otherwise is
to change Python's evaluation model drastically.

>>> int = None
>>> float = file
>>>

Once you accept Python's dynamism, it makes sense to accept it both for the
annotation "key" as for the "value". If you can convince Guido and the rest
of the Python-dev team to reject it, then you can reject it for both
equally. So the issue is a red herring.

 Paul Prescod
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.python.org/pipermail/python-3000/attachments/20060815/02465dc1/attachment.htm 


More information about the Python-3000 mailing list