def push_source

qasim-bend-kit@0.1.0.2 · proof/JSON_RenderLexProof.bend:26

import qasim-bend-kit@0.1.0.2/proof/JSON_RenderLexProof.bend as JSONRenderLexProof
import Base
import qasim-bend-kit@0.1.0.2/libs/JSON.bend as J
import qasim-bend-kit@0.1.0.2/proof/JSON_SourceProof.bend as SP

26def push_source(+value: J.Value,
27                +members: Bool,
28                +suffix: List<&2, J.Lexeme>,
29                +acc: List<&2, J.Lexeme>) -> {List.reverse.go(&2, J.Lexeme, J.source(value, members, suffix), acc) == List.reverse.go(&2, J.Lexeme, suffix, List.reverse.go(&2, J.Lexeme, J.source(value, members, Nil{}), acc)) : List<&2, J.Lexeme>}:
30    Equal.trans(List<&2, J.Lexeme>,
31        List.reverse.go(&2, J.Lexeme, J.source(value, members, suffix), acc),
32        List.reverse.go(&2, J.Lexeme, List.append(&2, J.Lexeme, J.source(value, members, Nil{}), suffix), acc),
33        List.reverse.go(&2, J.Lexeme, suffix, List.reverse.go(&2, J.Lexeme, J.source(value, members, Nil{}), acc)),
34        Equal.cong(List<&2, J.Lexeme>, List<&2, J.Lexeme>,
35            x => List.reverse.go(&2, J.Lexeme, x, acc),
36            J.source(value, members, suffix),
37            List.append(&2, J.Lexeme, J.source(value, members, Nil{}), suffix),
38            SP.source_append(value, members, Nil{}, suffix)),
39        reverse_concat(J.source(value, members, Nil{}), suffix, acc))

Uses (11)

Used by (2)