On Sun, Oct 5, 2014 at 5:11 PM, Benjamin Peterson <benjamin@python.org> wrote:
Neil Girdhar <mistersheik@...> writes:

>
>
>
> On Sun, Oct 5, 2014 at 2:09 PM, Benjamin Peterson <benjamin <at>
python.org> wrote:
> Neil Girdhar <mistersheik <at> ...> writes:
> >
> > Many classes, functions, and modules are defined within the context of
> another class, function, or module thereby forming a mathematical forest of
> declarations.  It is possible to walk the descendants using __dict__ (for
> classes and modules), but not the ancestors.  I propose adding __parent__
> that would be filled at the same time that __qualname__ is filled in.This
is unlikely to work.
> 1) It turns basically everything into a cycle.
>
>
> Why a cycle? 

Because, for example, the class would reference methods, which would
reference the class.

Right.  I don't see what's wrong with that.  This already happens with the __module__ member and the module's immediate children.

>
>
> 2) __qualname__ is determined strictly from syntax, whereas __parent__ could
> not be. For example, what happens if I take a method from one class and set
> it on another? __parent__ would not be well-defined.
>
>
> I'm suggesting that parent be determined purely from declaration.  If you
copy something, neither qualname nor parent would change unless you change
them. 

It would mean your trick with super would only work for some methods.

It would only work for that are decorated in the usual way using @blah on methods defined in the class.  If someone wants to copy that method somewhere else then they'll have to update __parent__ themselves.



_______________________________________________
Python-ideas mailing list
Python-ideas@python.org
https://mail.python.org/mailman/listinfo/python-ideas
Code of Conduct: http://python.org/psf/codeofconduct/

--

---
You received this message because you are subscribed to a topic in the Google Groups "python-ideas" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/python-ideas/94fTkAkjhCo/unsubscribe.
To unsubscribe from this group and all its topics, send an email to python-ideas+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.