/dot-cons-tree

Primary LanguageCommon Lisp

dot-cons-tree

This is a cons tree visualiser that uses graphviz.

Author

Jacek Podkanski

Licence

Public domain

Usage

Dependencies

At the moment the program is not portable. It uses the following SBCL specific code.

(mapcar #'sb-mop:slot-definition-name
(sb-mop:class-slots (class-of i))))
(sb-ext:run-program "/usr/bin/dot" options)))))

graphviz

Please make sure graphviz is installed and the dot command works.

dot --help

serapeum

This project automatically downloads serapeum from quicklisp.

If you do not have quicklisp you can find the instructions here: https://www.quicklisp.org/beta/

REPL use

If the project is not in your home folder, you need to alter the string in the first command.

(push #p"~/dot-cons-tree/" asdf:*central-registry*)
(ql:quickload :dot-cons-tree)
(dot-cons-tree:draw-graph (list 1 nil '(2.1 . 2.2) dot-cons-tree::*person* 3))

If there was no error and your SBCL lisp returned

dot options (-Tsvg /tmp/dot-graph.gv -o /tmp/dot-graph.svg)
#<SB-IMPL::PROCESS :EXITED 0>

your graph location will be indicated by the last of the dot options.