From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (from majordomo@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id LAA04092; Tue, 2 Sep 2003 11:10:12 +0200 (MET DST) X-Authentication-Warning: pauillac.inria.fr: majordomo set sender to owner-caml-list@pauillac.inria.fr using -f Received: from nez-perce.inria.fr (nez-perce.inria.fr [192.93.2.78]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id LAA31578 for ; Tue, 2 Sep 2003 11:10:11 +0200 (MET DST) Received: from mail.messagingengine.com (out1.smtp.messagingengine.com [66.111.4.25]) by nez-perce.inria.fr (8.11.1/8.11.1) with ESMTP id h829AAT21309 for ; Tue, 2 Sep 2003 11:10:10 +0200 (MET DST) Received: from mail.messagingengine.com (localhost [127.0.0.1]) by localhost.localdomain (Postfix) with ESMTP id E93CB16655F for ; Tue, 2 Sep 2003 05:10:08 -0400 (EDT) Received: from 10.202.2.150 ([10.202.2.150] helo=mail.messagingengine.com) by messagingengine.com with SMTP; Tue, 02 Sep 2003 05:10:08 -0400 X-Epoch: 1062493808 X-Sasl-enc: Hnl3Ibk+cgWHia2pe7rLtg Received: from [192.168.0.133] (f13v-9-36.d1.club-internet.fr [212.195.180.36]) by mail.messagingengine.com (Postfix) with ESMTP id 854F816696E for ; Tue, 2 Sep 2003 05:10:07 -0400 (EDT) Date: Tue, 2 Sep 2003 11:09:55 +0200 (CEST) From: Martin Jambon X-X-Sender: martin@pc-bioinfo1 To: caml-list@inria.fr Subject: Re: [Caml-list] Re: Graphmanipulation in Ocaml In-Reply-To: <87u17wjltp.fsf@gmx.net> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-Loop: caml-list@inria.fr X-Spam: no; 0.00; caml-list:01 arne:01 koewing:01 gushee:01 gushee:01 arne:01 koewing:01 rule-based:01 hash:01 vertices:01 ocaml:01 ocaml:01 mutable:01 0200,:01 writes:01 Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk On Mon, 1 Sep 2003, Arne Koewing wrote: > Matt Gushee 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