On Friday, August 8, 2014 11:06:03 PM UTC+1, Simon King wrote: > > It needs to add some methods to the class Foo. Whether it does so by > creating a dynamic class whose bases are (1) Foo and (2) some parent > class, or whether it does so by taking methods from the parent class and > putting them into Foo's __dict__, is a "boring detail". >
I agree that its an implementation detail (you can make it work either way). But I still claim that the way it is implemented right now is not ideal for new developers. And, really, being developer-friendly is just as important as correctness when you what to design a basic framework that everybody is forced to use. Plain Python also adds additional attributes to classes that are not defined in the source, for example __new__. This is a familiar fact to every Python programmer. We could have built upon that convention and added __category__ attributes through a Sage-specific metaclasses. But no, our implementation of additional autogenerated attributes is totally different. -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at http://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.