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.


Reply via email to