Hi Simon, On Wed, May 01, 2013 at 03:44:06PM +0000, Simon King wrote: > > and don't have PathMonoid inherit from DiGraph. > > Why? If it does, then a PathMonoid can immediately tell you its > vertices, connectedness, it can show itself, etc.
Yup. But then you have an object that bears simultaneously to different meanings: a monoid of paths and a digraph (it's not even two structures on the same set of elements). So it's very likely that the two semantic are going to conflict at some point, typically with one's method tripping on the other's. Besides, in case whatever choice is done now turns out to be a mistake in the long run, it seems easier to add inheritance from DiGraph than to remove it. > "M.vertices()" is a lot more convenient than > "M.underlying_digraph().vertices()". M.quiver().vertices() is not horrible. And nothing prevents to add shortcuts for the most often used methods. For the rest, I think we agree :-) Cheers, Nicolas -- 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.