mirror of
https://github.com/github/semantic.git
synced 2024-12-22 22:31:36 +03:00
Bind fewer intermediate variables.
This commit is contained in:
parent
54621da8d6
commit
3ae354b750
@ -30,8 +30,8 @@ diffAlgebra d i = case d of
|
|||||||
Merge t -> termAlgebra t i
|
Merge t -> termAlgebra t i
|
||||||
Patch (Delete t1) -> termAlgebra t1 i `modifyHeadNode` setColour "red"
|
Patch (Delete t1) -> termAlgebra t1 i `modifyHeadNode` setColour "red"
|
||||||
Patch (Insert t2) -> termAlgebra t2 i `modifyHeadNode` setColour "green"
|
Patch (Insert t2) -> termAlgebra t2 i `modifyHeadNode` setColour "green"
|
||||||
Patch (Replace t1 t2) -> let (i', g1) = termAlgebra t1 i `modifyHeadNode` setColour "red"
|
Patch (Replace t1 t2) -> let r1 = termAlgebra t1 i `modifyHeadNode` setColour "red"
|
||||||
in (i', g1) <> termAlgebra t2 (succ (maximum (i : i'))) `modifyHeadNode` setColour "green"
|
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 })
|
where modifyHeadNode (i, g) f | n:ns <- graphNodes g = (i, g { graphNodes = f n : ns })
|
||||||
| otherwise = (i, g)
|
| otherwise = (i, g)
|
||||||
setColour c n = n { nodeAttributes = Map.insert "color" c (nodeAttributes n) }
|
setColour c n = n { nodeAttributes = Map.insert "color" c (nodeAttributes n) }
|
||||||
|
Loading…
Reference in New Issue
Block a user