> Let me try to draw a consensus (in fact I believe it's already there),
The day I learn how to say things like that with a straight face I will enter politics :-P > (1) Per se, adding semantic information to Sage is a good thing (e.g. +1 > (1') It's interesting to explore what can possibly be done with such semantic information +1 > (2) Using a decorator on the function XXX is one possible syntax for > achieving (1). Another alternative is to add the info to the > documentation string. Another is to have a separate "database". > Etc. +1 > (3) There are some advantages in using a decorator: +1 > (4) The overhead of the combinatorial_map decorator upon loading a > Python file is negligible. +1 > (5) The overhead of the combinatorial_map decorator upon calling the > function is currently non trivial. Well. I would say that is *is* trivial, but that it is not a good design. > But it could be made to zero by > having the decorator return the decorated function as is. > > findstat would just need to instrument the Sage code to have the > decorator register the function to its database. I think that I wrote that in each of my last 1000 emails. > Volunteers? If I patch find_stat there will be side-effects :-P > (6) The name of some of the recently added methods could be improved: +1 > - Graph.to_partition is ambiguous: there are many ways to make a > partition out of a graph (degree sequence, size of connected > components, ...). > > Suggestions for improvements? If I had a method like that to code and if I were unable to find a good name for it, I just wouldn't include it. Because this function can be written in three lines, so it's not very bad if it is not already written. sizes = {} for cc in g.connected_components(): sizes[len(cc)] = sizes.get(len(cc),0) + 1 > - Poset.to_graph is ambiguous: there are several ways to make an +1 I have 4 lines of Sage to add to that : sage: posets.PentagonPoset().hasse_diagram() Digraph on 5 vertices sage: posets.PentagonPoset().hasse_diagram().transitive_closure() Transitive closure of : Digraph on 5 vertices sage: Graph(posets.PentagonPoset().hasse_diagram()) Graph on 5 vertices sage: Graph(posets.PentagonPoset().hasse_diagram().transitive_closure()) Transitive closure of : Graph on 5 vertices Honestly. They are all one-liners already. What's the problem with that ? > (7) It would be nice for the findstat project to have an alternative > mean to declare some of the combinatorial maps either in its own > source code or database. +1 Nathann -- 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/groups/opt_out.