I'd like to read a DOT [1] file describing a graph, and then do some calculations, and traversal on the graph in #commonlisp. Would anyone coincidentally have a suggestion, or two, for such a library?

Background: I have so far been doing this is Perl using the Graph::Reader::Dot [2], and Graph [3] modules. This just for comparison what I would be looking for.

[1] https://graphviz.org/doc/info/lang.html
[2] https://metacpan.org/pod/Graph::Reader::Dot
[3] https://metacpan.org/pod/Graph

DOT Language

Abstract grammar for defining Graphviz nodes, edges, graphs, [subgraphs, and clusters](/doc/info/lang.html#subgraphs-and-clusters).

Graphviz

@c_alpha This is likely not what you want, but in similar cases I used gvpr(1) to process dot file to something I wanted to ingest (such as sexp forms or separated data). However, in most cases I end up in doing most of the calculations/logic in gvpr as well.

Something like gvpr 'E{printf ("(%s %s)\n", $.head.id, $.tail.id)}' <file>

@zellerin Apologies for the belated response. Thanks for the pointer to gvpr(1), which ships even with macOS. #neverstoplearning 👍 🎓