This site is updated infrequently. For up-to-date information, please visit the new OCaml website at ocaml.org.

[Caml-list] Graphmanipulation in Ocaml
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
 Date: -- (:) From: Martin Jambon Subject: Re: [Caml-list] Re: Graphmanipulation in Ocaml
```On Mon, 1 Sep 2003, Arne Koewing wrote:

> Matt Gushee <matt@gushee.net> writes:
>
> > On Mon, Sep 01, 2003 at 08:46:05PM +0200, Arne Koewing wrote:
> >>
> >> I am looking for an library for graph-manipulation/handling.
> >> Do you know any implementations for ocaml?
> >
> > Do you mean 'graph' in the abstract, mathematical sense, or in the sense
> > of data visualization?
>
> I mean the mathematical one.
> I want to implement some rule-based graphtransformation,
> so I need a data structure that allows subgraph-matching for example...

My feeling is that OCaml is very convenient for writing graph libraries,
so that you will very easily write your own data structure together with
the functions that manipulate it.

I know very few things about graph theory. However, even for trivial
algorithm, you will probably need to choose a very specific representation
for your data structure (How do I store neighbors? Do I have to iterate
over edges? Is my graph dynamic? ...).
The problem is that you will probably store some internal information in
every vertex or edge depending on the specific algorithms you will use,
and this is why it is difficult to write a general purpose library for
graph manipulation. You can still write a fully mutable
('vertex_contents, 'edge_contents) graph type using hash tables for
representing any sets of edges and sets of vertices, but is it useful?

Regards,

Martin

-------------------
To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr
Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners

```