Hiraffe is a library for computing with graphs in Haskell. It defines data types and type classes that model graphs, and implements basic graph algorithms. It uses lenses and traversals to represent uniform access to various parts of the graphs (e.g. vertices and edges). The main two focusses are:
- To provide idiomatic implementations of geometric algorithms and data structures that have good asymptotic running time guarantees, and
- Strong type safety.