[Python-3000] Draft pre-PEP: function annotations (original) (raw)

Paul Prescod paul at prescod.net
Sun Aug 13 09:02:05 CEST 2006


On 8/12/06, Calvin Spealman <ironfroggy at gmail.com> wrote:

I've been looking for a good place to pipe in with the suggestion of defining that a dictionary as an annotation is taken as a mapping of annotation type names to the annotation itself, such as using {'doc': "The single character argument for the command line.", 'type': int} as an annotation for some parameter in a function.

I think we need to decide whether metadata type identifiers are just strings or whether they will typically be objects. I think that the arguments in favour of objects are strong.

However, reading through all the posts I missed recooperating from a

long trip I just returned from, I think this coupled with taking any iterable (not just list and subtypes) and the whole "your type, your annotation" guideline, is definately sufficient for all uses.

One reason not to treat any iterable as a list of decorators is that a string is an iterable. Maybe strings won't be the only annotation that people want to attach that happens to be iterable for unrelated reasons.

A second reason that I restricted it to lists in particular is to encourage consistent syntax (rather than one person using a list, another a tuple, a third a generator, etc.).

And overall it is just overgeneralization. YAGNI. Lists work fine.

def myProtocolChainer(*args): return list(doSomething(args)):

It is easy to loosen the protocol in future versions if I turn out to be wrong.

Paul Prescod -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.python.org/pipermail/python-3000/attachments/20060813/a1656667/attachment.html



More information about the Python-3000 mailing list