[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