directed graphs

Matthew Fluet fluet@CS.Cornell.EDU
Mon, 29 Oct 2001 08:51:31 -0500 (EST)


> > Something that might be missing from the whole directed graph
> > library is a notion of active/inactive nodes and edges, which would
> > let us operate on sub-graphs without explicitly building a new
> > graph.
> 
> That could be simulated with properties, which are available on nodes
> and edges.  

I was thinking of giving most of the functions predicated versions that
took (Node.t -> bool, Edge.t -> bool) functions.  You could use properties
to derive these functions, or something else.  In particular, I was
thinking that you might want to give nodes and edges an int list ref
property and then nesting of a sub graph would simply mean pushing a new
unique integer onto all of the nodes and edges in question and setting up
the right predicate to check for that integer.  Un-nesting would just walk
over all nodes and edge popping that integer.