(Forgot to send to haskell-cafe- sorry Alistair!)<br><br>Martin Erwig wrote a paper [1] that defines an inductive graph type and implements some common algorithms with it.<br><br>Also,
it isn&#39;t very Haskellish but if you can label your nodes with an
instance of Ix you might be able to use an Array to get constant time
access.<br>
I&#39;ve never used Data.HashTable before, but that might also be useful.<br><br>[1] - <a href="http://web.engr.oregonstate.edu/%7Eerwig/papers/InductiveGraphs_JFP01.pdf" target="_blank">http://web.engr.oregonstate.edu/~erwig/papers/InductiveGraphs_JFP01.pdf</a>