Salut! On Sat, Feb 09, 2013 at 01:28:46PM -0800, slabbe wrote: > Ok. Maybe. But, to my opinion, those two classes is a duplication of code. > Doc of the class is 95% the same and __init__ are the same. The only > difference is the __iter__. And more importantly, for a given instance of > "TransitiveIdeal", I will want to iterate it depth-first. And then, > iterated it breadth first, which is not possible if there is two classes > like now.
That's what I meant by implementation detail: since you are going to be the implementer, you get to choose whatever feels best to you :-) > Just a (non rhetorical) question: as in SearchForest, we will > eventually want additional methods like "return all the elements of > depth 3". Does those make sense for a set defined recursively if it is > configured with depth first search enumeration? If not, that may call > for having indeed two classes since the operations will be different. > > I do no agree here: the part "if it is configured with depth first search > enumeration" actually suppose what you are trying to demonstrate. In other > words, even if I construct a set "configured depth first search", it is > not too late! I can still enumerate it breadth first since nothing > prevents it to do it. Hence, to me it still make sense to have a method > that will return all the elements of depth 3 for such a set. You can't disagree: I did not *state* an opinion :-) Go ahead, you have all cards in hand! Thanks, Nicolas PS: By the way: Vincent has delayed his coming to Providence due to the heavy snow here. You might be able / want to have a brainstorm on Monday or Tuesday with him. -- Nicolas M. ThiƩry "Isil" <nthi...@users.sf.net> http://Nicolas.Thiery.name/ -- You received this message because you are subscribed to the Google Groups "sage-combinat-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-combinat-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-combinat-devel@googlegroups.com. Visit this group at http://groups.google.com/group/sage-combinat-devel?hl=en. For more options, visit https://groups.google.com/groups/opt_out.