mirror of
https://github.com/github/semantic.git
synced 2024-12-22 14:21:31 +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
|
||||
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) }
|
||||
|
Loading…
Reference in New Issue
Block a user