It's a pretty straightforward representation. Each node is a function (or macro). There is a spring between two nodes if one function calls the other. There is also a repulsive force between functions so that they don't get too close together.
I'd like to make the rest length of a spring shorter between
bar() a bunch of times. But, that's not
I also need to incorporate some way to move your viewpoint a bit because somehow or other, the equillibrium between the repulsive force and the spring tension isn't really where I expect it, so lots of stuff grows right off the edges of the window. Actually, what I really need to do is figure out why my spring system is so unstable. I damped the motion and things got a little better, but things still grow more than I think they should.
I'd also like to add in labelling and/or color coding the vertices.
Anyhow, here are some shots. This first one is a vector-math library that has eleven functions and one macro.
This next one shows the code that does the analysis and display. On the left is how the code looked yesterday. On the right is how the code looks now.