To debug, be clear on what the code is doing. There are three tasks. The first few functions print the nodes and edges in a format readable to graphviz. Then the "dot->png" has two operations. It creates a "dot" file which the can be turned into a png using graphviz. Then it calls Graphviz to convert the "dot" file into a "png" file.
Firstly, check if there is a png file in the folder? If it's there, the code worked.
If there isn't a png, is there a "wizard.dot" file? If there's a dot file the code worked up until the last line of the "dot->png" function. (Is graphviz installed correctly?) (Can you call graphviz from your normal command line and turn the dot file into a png?)
If there isn't a dot or png file in your folder, then the code is failing much earlier. To test it, take each function and run it in your REPL. For
example, type in:
(dot-name "foobar")
(dot-label "writinglotsinheretotakeitpast30asthatisthemaxlabelsize")
(nodes->dot *nodes*)
(edges->dot *edges*)
...etc
Do you get back what you expect from each function? It should become apparent that one of them is not working as expected.
Happy bug hunting :)
Check in the folder to see whether you have a png file in there. If not, do you have a "dot" file there?