This is very cool, and a direction that I hope more toolchains will go.
One problem, though, is that reading trees in text format is not very easy on the eyes. In fact, this might be one of the biggest reasons that LISP is (to people like me) not very readable. Trees in graphical form are orders of magnitude easier to parse visually.
I'd love to see software that makes visualizing tree structures easier. At one point I had a grand plan of porting graphviz to JavaScript, with SVG as an output format so it could be easily styled with CSS.
I think that approaches like this will be a lot more usable (and deliver a lot more "wow" factor) if you can view the trees graphically.
Such a tool has been written and I've been trying to convince the author to open source it, but if that doesn't work out I might have a go at it myself. We can already look at the LLVM-level calling graph since llvm includes functionality to output GraphViz dot code.
Comments
This is very cool, and a direction that I hope more toolchains will go.
One problem, though, is that reading trees in text format is not very easy on the eyes. In fact, this might be one of the biggest reasons that LISP is (to people like me) not very readable. Trees in graphical form are orders of magnitude easier to parse visually.
I'd love to see software that makes visualizing tree structures easier. At one point I had a grand plan of porting graphviz to JavaScript, with SVG as an output format so it could be easily styled with CSS.
I think that approaches like this will be a lot more usable (and deliver a lot more "wow" factor) if you can view the trees graphically.
The problem I find is that graphical trees don't scale. They turn into a splayed out mess that is difficult to skim visually.
Personally, I'd far rather see a textual dump, with nesting denoted by indentation.
Such a tool has been written and I've been trying to convince the author to open source it, but if that doesn't work out I might have a go at it myself. We can already look at the LLVM-level calling graph since llvm includes functionality to output GraphViz dot code.