“…In order to verify the correctness of EditorArrow, we create a reference implementation of EditorArrow, called EditorArrowCore, in the pure and lazy, graph rewriting, functional programming language Clean (Eekelen et al, 1997;Plasmeijer & Eekelen, 1999, 2002) (for readers who are more familiar with the functional language Haskell (Hudak et al, 2007), we refer to Groningen et al, 2010, for a detailed overview of the differences between Clean and Haskell and how to merge the two languages). We use Clean because it comes with the interactive proof assistant Sparkle (Mol et al, 2002(Mol et al, , 2008Kesteren et al, 2004;Mol, 2009).…”