haggle (hackage): This library provides mutable (in ST or IO), immutable, and inductive graphs. There are multiple graphs implementations provided to support different use cases and time/space tradeoffs.  It is a design goal of haggle to be flexible and allow users to "pay as they go".  Node and edge labels are optional.  Haggle also aims to be safer than fgl: there are no partial functions in the API.
Keywords: bsd3|data-structures|graphs|library