--
http://www.apgwoz.com
--
You received this message because you are subscribed to the Google Groups "Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to racket-users+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Principle 1: The edges of the tree should not cross each other.
Principle 2: All nodes at the same depth should be drawn on the same horizontal line. This helps make clear the structure of the tree.
Principle 3: Trees should be drawn as narrowly as possible.
Principle 4: A parent should be centered over its children.
Principle 5: A subtree should be drawn the same no matter where in the tree it lies.
Principle 6: The child nodes of a parent node should be evenly spaced.
Are you focused more on replacing Graphviz, or a generalized drawing
and visualization library that could be used to more easily put
together a Graphviz like tool? I guess they are likely somewhat
similar goals...
If you're working on your own diagramming DSL, you may want to look at these for inspiration:
* Diagrams for Haskell (https://archives.haskell.org/projects.haskell.org/diagrams/);
* CL-DOT for Common Lisp (http://foldr.org/%7Emichaelw/projects/cl-dot/).
CL-DOT generates DOT files. Its graph examples are impressively concise. It's under 500 SLOC, but seems to heavily use CLOS, so a Racket translation wouldn't be quite straightforward.