I somehow suspect there is a fundamental difference between us here in
what we are trying to achieve. What I want is not just a set of
algorithms but also something that is useful for human users to learn
and experiment with this mathematics.

I don't just mean coordinates for representing in a plane but also
designations/names for vertices and arrows and so on. Regarding the
graphics, I think that people differ on this a lot, some people tend
to think visually and some don't, I personally would not want to work
on graphs without being able to see them.

Martin, yes, you might have different views from anyone else, I think what Waldek is trying to say is "think minimal". And, in fact, SPAD allows for such a design. A graph is just nodes + edges. I could imagine a design where one would build the graph on top of two types N and E which represent a node and an edge, respectively. Depending on what these types are

  Graph(N, E)

would then either be a labelled/unlabelled graph with labelled/unlablled and weighted/unweighted and directed/undirected edges.

The exports of Graph depend on the exports of N and E. If the graph is directed, one would export other algorithms than for undirected graphs.

If you want positioning information, you can have that, simply export it from N and in the Graph code deal with it. But for a "drawable graph", I would probably rather create DrawableGraph(N, E) which inherits from Graph(N, E), but expects N to contain (x,y) coordinates.

Martin, I appreciate very much that you experiment with graph code and invest time to climb to steep ladder of becoming a SPAD expert. We should have many more people of your kind.

Still, what goes into a FriCAS release should actually be thought of quite a bit. If the code is in, it has to be maintained and one cannot easily change the interface without making some people unhappy that rely on the original interface. Well, for the moment, that's probably not a big issue, but in the long run, we (as main developers) must think about a good infrastructure that allow anyone to develop his/her code on a branch and have others to review the code until it becomes stable enough to be included into a fricas release.

I'd very much like if we were using git as the main underlying VCS, but since there is github and git-svn, we can already have such an infrastructure now. Each person who proposes to include something into fricas should have a branch that one could fetch and simply say "configure && make && make install" to be able to see the effects of the new code.

Ralf

--
You received this message because you are subscribed to the Google Groups "FriCAS - 
computer algebra system" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/fricas-devel?hl=en.

Reply via email to