[Haskell-cafe] ANNOUNCE: graphviz-2999.17.0.0

Ivan Lazar Miljenovic ivan.miljenovic at gmail.com
Tue May 13 13:18:24 UTC 2014

It's taken me over a year, but I'm pleased to announce the latest
version of my graph visualisation (via the Graphviz suite of tools)
library: http://hackage.haskell.org/package/graphviz

You can read all the changes in the Changelog (now linked to from the
Hackage page, thanks to the magic of Hackage 2.0! :o), but here are
some explicit non-API changes that people should probably be made
aware of:

* Parsing is currently about 8x slower than previously... because I
suggested something two years ago to Malcolm Wallace on what seemed to
make polyparse faster; he then released that change as part of
polyparse-1.9 a year ago, but now when I do proper benchmarks (rather
than the extremely limited ones I did then) I find that my changes
actually make it _slower_ in real world usage.  Whoops!  I'm still
using polyparse-1.9 in the hopes that Malcolm is able to release a
point-fix release to revert my suggestion.

* I'm not sure when it happened, but upstream Graphviz seems to have
changed the behaviour of `dot -Tcanon` such that nodes are now
interspersed among the edges (and I have been told that it's just a
pretty-printer and that it's behaviour should not matter).  As such,
it is highly recommended that people only use the Generalised
representation for parsing unless they're very sure of their input

One other change that people might find useful: if I ever again take
so long (i.e. 4 major version releases of upstream) to update graphviz
such that the various Attribute definitions are no longer valid and
fail to parse, there's now (semi-experimental) support for having
unrecognised attributes be parsed as an UnknownAttribute instead; but
most of the other functions aren't aware of this functionality and
thus you might need to duplicate a lot of code if you want to use this
with other features like round-tripping.

Ivan Lazar Miljenovic
Ivan.Miljenovic at gmail.com

More information about the Haskell-Cafe mailing list