> 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.


Reply via email to