Binary package “libocamlgraph-ocaml-dev” in ubuntu precise
graph library for OCaml
Ocamlgraph is a graph library for OCaml. Its contribution is
three-fold:
.
* It provides an easy-to-use graph data structure together with
several operations and algorithms over graphs. It is a
reasonably efficient imperative data structure for directed
graphs with vertices and edges labeled with integers.
.
* Then ocamlgraph provides several other graph implementations
for those not satisfied with the one above. Some are
persistent (imutable) and other imperative (mutable). Some
are directed and other are not. Some have labels for
vertices, or labels for edges, or both. Some have abstract
types for vertices. etc.
These implementations are written as functors: you give the
types of vertices labels, edge labels, etc. and you get the
data structure as a result.
.
* Finally, ocamlgraph provides several classic operations and
algorithms over graphs.
They are also written as functors i.e. independently of the
data structure for graphs. One consequence is that you can
define your own data structure for graphs and yet re-use all
the algorithms from this library -- you only need to provide
a few operations such as iterating over all vertices, over
the successors of a vertex, etc.