On Wed, Jun 6, 2012 at 10:20 AM, Yury Selivanov <yselivanov...@gmail.com> wrote: > On 2012-06-06, at 11:38 AM, Steven D'Aprano wrote: >> Functions already record their name (twice!), and it is simple enough to >> query func.__name__. What reason is there for recording it a third time, in >> the Signature object? > > Signature object holds function's information and presents it in a > convenient manner. It makes sense to store the function's name, > together with the information about its parameters and return > annotation. > >> Besides, I don't consider the name of the function part of the function's >> signature. Functions can have multiple names, or no name at all, and the >> calling signature remains the same. > > It always have _one_ name it was defined with, unless it's > a lambda function. > >> Even if we limit the discussion to distinct functions (rather than a single >> function with multiple names), I consider spam(x, y, z) ham(x, y, z) and >> eggs(x, y, z) to have the same signature. Otherwise, it makes it difficult >> to talk about one function having the same signature as another function, >> unless they also have the same name. Which would be unfortunate. > > I see the point ;) Let's see what other devs think.
I'm with Steven on this one. What's the benefit to storing the name or qualname on the signature object? That ties the signature object to a specific function. If you access the signature object by f.__signature__ then you already have f and its name. If you get it by calling signature(f), then you also have f and the name. If you are passing signature objects for some reason and there's a use case for which the name/qualname matters, wouldn't it be better to pass the functions around anyway? What about when you create a signature object on its own and you don't care about the name or qualname...why should it need them? Does Signature.bind() need them? FWIW, I think this PEP is great and am ecstatic that someone is pushing it forward. :) -eric _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com