diff --git a/src/Rendering/DOT.hs b/src/Rendering/DOT.hs index 2fcf41441..044ac0a05 100644 --- a/src/Rendering/DOT.hs +++ b/src/Rendering/DOT.hs @@ -30,8 +30,8 @@ diffAlgebra d i = case d of Merge t -> termAlgebra t i Patch (Delete t1) -> termAlgebra t1 i `modifyHeadNode` setColour "red" Patch (Insert t2) -> termAlgebra t2 i `modifyHeadNode` setColour "green" - Patch (Replace t1 t2) -> let (i', g1) = termAlgebra t1 i `modifyHeadNode` setColour "red" - in (i', g1) <> termAlgebra t2 (succ (maximum (i : i'))) `modifyHeadNode` setColour "green" + Patch (Replace t1 t2) -> let r1 = termAlgebra t1 i `modifyHeadNode` setColour "red" + in r1 <> termAlgebra t2 (succ (maximum (i : fst r1))) `modifyHeadNode` setColour "green" where modifyHeadNode (i, g) f | n:ns <- graphNodes g = (i, g { graphNodes = f n : ns }) | otherwise = (i, g) setColour c n = n { nodeAttributes = Map.insert "color" c (nodeAttributes n) }