Today I decided it will be more interesting to investigate Lisp systems which I already have as dependencies of my projects. That is why I've remembered about
ASDF-VIZ is able to render a graph of ASDF systems. It can be installed as Unix scripts using Roswell or used from the REPL.
Also, you'll need a Graphviz program installed.
Now we'll render a graph of all dependencies of the
POFTHEDAY> (setf cl-dot:*dot-path* "/usr/local/bin/dot") POFTHEDAY> (asdf-viz:visualize-asdf-hierarchy "docs/media/0063/systems.png" (list (asdf:find-system :poftheday)))
Here is the result:
asdf-viz not only can draw a system's dependencies but also class hierarchies and call graphs.
Here is a small example, how to render a class hierarchy:
POFTHEDAY> (asdf-viz.class-hierarchy:visualize-class-hierarchy "docs/media/0063/classes.png" (list 'cl-org-mode::node))
And this is the resulting graph:
I think it might be useful to integrate
asdf-viz into IDE.
Probably Emacs might show graphs in a separate buffer? Or LispWorks IDE is able to do this?
P.S. – next system will be chosen from the dependencies of the