Skip to content

Latest commit

 

History

History
58 lines (38 loc) · 1.53 KB

0063-asdf-viz.org

File metadata and controls

58 lines (38 loc) · 1.53 KB

asdf-viz

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.

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 system:

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:

../../media/0063/systems.png

Interestingly, 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:

../../media/0063/classes.png

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