diff --git a/src/Debugger/Expando.elm b/src/Debugger/Expando.elm index 352b037..a384b7b 100755 --- a/src/Debugger/Expando.elm +++ b/src/Debugger/Expando.elm @@ -126,7 +126,7 @@ mergeHelp old new = new (Sequence _ isClosed oldValues, Sequence seqType _ newValues) -> - Sequence seqType isClosed (mergeListHelp oldValues newValues) + Sequence seqType isClosed (mergeListHelp [] oldValues newValues) (Dictionary isClosed _, Dictionary _ keyValuePairs) -> Dictionary isClosed keyValuePairs @@ -135,23 +135,23 @@ mergeHelp old new = Record isClosed <| Dict.map (mergeDictHelp oldDict) newDict (Constructor _ isClosed oldValues, Constructor maybeName _ newValues) -> - Constructor maybeName isClosed (mergeListHelp oldValues newValues) + Constructor maybeName isClosed (mergeListHelp [] oldValues newValues) _ -> new -mergeListHelp : List Expando -> List Expando -> List Expando -mergeListHelp olds news = +mergeListHelp : List Expando -> List Expando -> List Expando -> List Expando +mergeListHelp acc olds news = case (olds, news) of ([], _) -> - news + List.reverse acc ++ news (_, []) -> - news + List.reverse acc (x :: xs, y :: ys) -> - mergeHelp x y :: mergeListHelp xs ys + mergeListHelp (mergeHelp x y :: acc) xs ys mergeDictHelp : Dict String Expando -> String -> Expando -> Expando