On Feb 11, 3:16 am, Simon King <[email protected]> wrote: > It [method inheritance] is affected. There actually is an example in my > thematic tutorial on > coercion and categories (for elements, but it is the same for parents).
I find that worrying in the light of unique parents. It means that when I construct a parent and call a method on it, the actual code that gets run depends on the history of the system. In the case of a "cached function" I can live with that. There is even a way around it: call the clear_cache routine on the method before calling the routine else (seriously inconveniencing every other piece of code using that object in the process). However, when this is due to a category and MRO refinement that happened somewhere in history there is no way around it! (well I guess one could explicitly look up the function underlying the method on the desired class definition and call that, but that would lead to extremely cumbersome code). I don't think these problems will be significant for delayed category initialization, because anything that has to do with categories will trigger the initialization. However, category refinement in its present form is bound to be responsible for the next generation of heisenbugs once it's widely used. -- 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 [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/sage-devel?hl=en. For more options, visit https://groups.google.com/groups/opt_out.
