A Generic Graph Transformation, Visualisation, and Editing Framework in Haskell - West, Scott; Kahl, Wolfram (Electronic Communications of the EASST, 2009)
Graph transformation, visualisation, and editing are useful in many contexts, and require domain-specific customisation. However, many general-purpose graph solutions lack customisability in at least one area.We present a framework that aims to allow polished customisation in all three areas, using the powerful abstraction capabilities of the pure functional programming language Haskell. The design of our framework integrates and adapts time-tested object-oriented designs into a purely functional framework, and uses current user-interface libraries (GTK+ and Cairo) to achieve polished presentation.Our framework provides both a low-level programmed approach to graph transformation, and, on top of this, high-level approaches including SPO and DPO, which are implemented using categorical abstractions in an intuitive and flexible way.