[Haskell-cafe] ANNOUNCE: graphviz 2999.9.0.0

Ivan Lazar Miljenovic ivan.miljenovic at gmail.com
Mon Apr 26 09:46:36 EDT 2010


I'm pleased to announce the latest version of my graphviz library that
provides Haskell bindings to the Graphviz graph visualisation suite.

There are numerous changes in this release, the most important of which
are:

* graphviz now has an FAQ and an improved README as well as its own
  homepage: http://projects.haskell.org/graphviz/ (as prompted by Eric
  Kow).

* Add support for record labels; values are automatically
  escaped/unescaped.  The `Record` and `MRecord` shapes have been
  added for use with these labels.  Requested by Minh Thu and Eric
  Kow.

* Add support for HTML-like values (this replaces the wrong and
  completely broken URL datatype).  Strings are automatically
  escaped/unescaped.

* Various parsing improvements (including a slight parsing speed
  increase!).

In particular, graphviz is now able to parse almost all Dot graphs found
on my system (including samples shipped with Graphviz, Linux kernel
documentation and various other package documentations).  A list of the
breakages and why:

* /usr/share/sgml/docbook/xsl-stylesheets/roundtrip/template.dot seems
  to be a binary file and thus can't be read.

* /usr/share/graphviz/graphs/directed/Latin1.gv uses Latin1 encoding; at
  the moment graphviz uses the system's locale encoding (or whatever GHC
  < 6.10 defaults to).

* /usr/share/doc/boost-*/html/libs/graph/example/graphviz_test.dot
  (various boost versions) has subgraphs in edges; graphviz currently
  can't cope with these.

* /usr/src/linux-2.6.33-gentoo-r1/Documentation/blockdev/drbd/drbd-connection-state-overview.dot
 uses incorrect syntax for the "minlen" attribute (it is meant to be an
 integer but actually contains a floating point value).

The plans for the next release (which I don't plan on even starting for
a while) are to focus on improving printing and parsing performance,
using a state-based printer and parser (as part of Dot syntax is
state-based) and force usage of UTF-8 (via text or utf8-string).

--
Ivan Lazar Miljenovic
Ivan.Miljenovic at gmail.com
IvanMiljenovic.wordpress.com


More information about the Haskell-Cafe mailing list