proof/JSON_AssemblyProof.bend checks
raw source on the hub · import qasim-bend-kit@0.1.0.0/proof/JSON_AssemblyProof.bend as JSON_AssemblyProof
5 imports
import Base import ../libs/JSON.bend as J import ./JSON_ListProof.bend as L import ./JSON_PrimitiveProof.bend as P import ./JSON_StringProof.bend as S
Types
type Mode source · line 10 · raw
Data
WholeMode
MembersMode
Definitions
def R source · line 7 · raw
Type
def tokens source · line 14 · raw
@value:0x0b4f68372ee8cbe03f4a66931f85cfdc/libs/JSON.Value -> @mode:Mode -> @tail:List<&1, 0x0b4f68372ee8cbe03f4a66931f85cfdc/libs/JSON.Token> -> List<&1, 0x0b4f68372ee8cbe03f4a66931f85cfdc/libs/JSON.Token>
def start_members source · line 40 · raw
@value:0x0b4f68372ee8cbe03f4a66931f85cfdc/libs/JSON.Value -> @acc:List<&2, 0x0b4f68372ee8cbe03f4a66931f85cfdc/libs/JSON.Value> -> @fields:List<&2, Sigma<&2, &2, String, key => 0x0b4f68372ee8cbe03f4a66931f85cfdc/libs/JSON.Value>> -> @kont:0x0b4f68372ee8cbe03f4a66931f85cfdc/libs/JSON.ParserKont -> 0x0b4f68372ee8cbe03f4a66931f85cfdc/libs/JSON.Assembly
def start source · line 48 · raw
@value:0x0b4f68372ee8cbe03f4a66931f85cfdc/libs/JSON.Value -> @mode:Mode -> @acc:List<&2, 0x0b4f68372ee8cbe03f4a66931f85cfdc/libs/JSON.Value> -> @fields:List<&2, Sigma<&2, &2, String, key => 0x0b4f68372ee8cbe03f4a66931f85cfdc/libs/JSON.Value>> -> @kont:0x0b4f68372ee8cbe03f4a66931f85cfdc/libs/JSON.ParserKont -> 0x0b4f68372ee8cbe03f4a66931f85cfdc/libs/JSON.Assembly
def completed_members source · line 56 · raw
@value:0x0b4f68372ee8cbe03f4a66931f85cfdc/libs/JSON.Value -> @acc:List<&2, 0x0b4f68372ee8cbe03f4a66931f85cfdc/libs/JSON.Value> -> @fields:List<&2, Sigma<&2, &2, String, key => 0x0b4f68372ee8cbe03f4a66931f85cfdc/libs/JSON.Value>> -> 0x0b4f68372ee8cbe03f4a66931f85cfdc/libs/JSON.Value
def completed source · line 64 · raw
@value:0x0b4f68372ee8cbe03f4a66931f85cfdc/libs/JSON.Value -> @mode:Mode -> @acc:List<&2, 0x0b4f68372ee8cbe03f4a66931f85cfdc/libs/JSON.Value> -> @fields:List<&2, Sigma<&2, &2, String, key => 0x0b4f68372ee8cbe03f4a66931f85cfdc/libs/JSON.Value>> -> 0x0b4f68372ee8cbe03f4a66931f85cfdc/libs/JSON.Value
def atom_roundtrip source · line 72 · raw
@+value:0x0b4f68372ee8cbe03f4a66931f85cfdc/libs/JSON.Value -> @+mode:Mode -> @-tail:List<&1, 0x0b4f68372ee8cbe03f4a66931f85cfdc/libs/JSON.Token> -> @+acc:List<&2, 0x0b4f68372ee8cbe03f4a66931f85cfdc/libs/JSON.Value> -> @+fields:List<&2, Sigma<&2, &2, String, key => 0x0b4f68372ee8cbe03f4a66931f85cfdc/libs/JSON.Value>> -> @+kont:0x0b4f68372ee8cbe03f4a66931f85cfdc/libs/JSON.ParserKont -> @+text:String -> @started:{start(value, mode, acc, fields, kont) == 0x0b4f68372ee8cbe03f4a66931f85cfdc/libs/JSON.NeedValue{kont} : 0x0b4f68372ee8cbe03f4a66931f85cfdc/libs/JSON.Assembly} -> @completed_value:{completed(value, mode, acc, fields) == value : 0x0b4f68372ee8cbe03f4a66931f85cfdc/libs/JSON.Value} -> @tokenized:{tokens(value, mode, tail) == 0x0b4f68372ee8cbe03f4a66931f85cfdc/libs/JSON.Atom{0x0b4f68372ee8cbe03f4a66931f85cfdc/libs/JSON.decode_payload(text)} <> tail : List<&1, 0x0b4f68372ee8cbe03f4a66931f85cfdc/libs/JSON.Token>} -> @decoded:{0x0b4f68372ee8cbe03f4a66931f85cfdc/libs/JSON.decode_payload(text) == Done{value} : Result<&1, &1, 0x0b4f68372ee8cbe03f4a66931f85cfdc/libs/JSON.Error, 0x0b4f68372ee8cbe03f4a66931f85cfdc/libs/JSON.Value>} -> {0x0b4f68372ee8cbe03f4a66931f85cfdc/libs/JSON.assemble(tokens(value, mode, tail), start(value, mode, acc, fields, kont)) == 0x0b4f68372ee8cbe03f4a66931f85cfdc/libs/JSON.assemble(tail, 0x0b4f68372ee8cbe03f4a66931f85cfdc/libs/JSON.assembly_resume(kont, completed(value, mode, acc, fields))) : R}
def array_first_atom source · line 96 · raw
@result:Result<&1, &1, 0x0b4f68372ee8cbe03f4a66931f85cfdc/libs/JSON.Error, 0x0b4f68372ee8cbe03f4a66931f85cfdc/libs/JSON.Value> -> @-tail:List<&1, 0x0b4f68372ee8cbe03f4a66931f85cfdc/libs/JSON.Token> -> @+kont:0x0b4f68372ee8cbe03f4a66931f85cfdc/libs/JSON.ParserKont -> {0x0b4f68372ee8cbe03f4a66931f85cfdc/libs/JSON.assemble(0x0b4f68372ee8cbe03f4a66931f85cfdc/libs/JSON.Atom{result} <> tail, 0x0b4f68372ee8cbe03f4a66931f85cfdc/libs/JSON.ArrayFirst{kont}) == 0x0b4f68372ee8cbe03f4a66931f85cfdc/libs/JSON.assemble(0x0b4f68372ee8cbe03f4a66931f85cfdc/libs/JSON.Atom{result} <> tail, 0x0b4f68372ee8cbe03f4a66931f85cfdc/libs/JSON.NeedValue{0x0b4f68372ee8cbe03f4a66931f85cfdc/libs/JSON.InArray{[], kont}}) : R}
def array_next_atom source · line 101 · raw
@result:Result<&1, &1, 0x0b4f68372ee8cbe03f4a66931f85cfdc/libs/JSON.Error, 0x0b4f68372ee8cbe03f4a66931f85cfdc/libs/JSON.Value> -> @-tail:List<&1, 0x0b4f68372ee8cbe03f4a66931f85cfdc/libs/JSON.Token> -> @+acc:List<&2, 0x0b4f68372ee8cbe03f4a66931f85cfdc/libs/JSON.Value> -> @+kont:0x0b4f68372ee8cbe03f4a66931f85cfdc/libs/JSON.ParserKont -> {0x0b4f68372ee8cbe03f4a66931f85cfdc/libs/JSON.assemble(0x0b4f68372ee8cbe03f4a66931f85cfdc/libs/JSON.Atom{result} <> tail, 0x0b4f68372ee8cbe03f4a66931f85cfdc/libs/JSON.ArrayNext{acc, kont}) == 0x0b4f68372ee8cbe03f4a66931f85cfdc/libs/JSON.assemble(0x0b4f68372ee8cbe03f4a66931f85cfdc/libs/JSON.Atom{result} <> tail, 0x0b4f68372ee8cbe03f4a66931f85cfdc/libs/JSON.NeedValue{0x0b4f68372ee8cbe03f4a66931f85cfdc/libs/JSON.InArray{acc, kont}}) : R}
def array_first source · line 107 · raw
@+value:0x0b4f68372ee8cbe03f4a66931f85cfdc/libs/JSON.Value -> @-tail:List<&1, 0x0b4f68372ee8cbe03f4a66931f85cfdc/libs/JSON.Token> -> @+acc:List<&2, 0x0b4f68372ee8cbe03f4a66931f85cfdc/libs/JSON.Value> -> @+kont:0x0b4f68372ee8cbe03f4a66931f85cfdc/libs/JSON.ParserKont -> {0x0b4f68372ee8cbe03f4a66931f85cfdc/libs/JSON.assemble(tokens(value, Whole{}, tail), 0x0b4f68372ee8cbe03f4a66931f85cfdc/libs/JSON.ArrayFirst{kont}) == 0x0b4f68372ee8cbe03f4a66931f85cfdc/libs/JSON.assemble(tokens(value, Whole{}, tail), 0x0b4f68372ee8cbe03f4a66931f85cfdc/libs/JSON.NeedValue{0x0b4f68372ee8cbe03f4a66931f85cfdc/libs/JSON.InArray{[], kont}}) : R}
def array_next source · line 122 · raw
@+value:0x0b4f68372ee8cbe03f4a66931f85cfdc/libs/JSON.Value -> @-tail:List<&1, 0x0b4f68372ee8cbe03f4a66931f85cfdc/libs/JSON.Token> -> @+acc:List<&2, 0x0b4f68372ee8cbe03f4a66931f85cfdc/libs/JSON.Value> -> @+kont:0x0b4f68372ee8cbe03f4a66931f85cfdc/libs/JSON.ParserKont -> {0x0b4f68372ee8cbe03f4a66931f85cfdc/libs/JSON.assemble(tokens(value, Whole{}, tail), 0x0b4f68372ee8cbe03f4a66931f85cfdc/libs/JSON.ArrayNext{acc, kont}) == 0x0b4f68372ee8cbe03f4a66931f85cfdc/libs/JSON.assemble(tokens(value, Whole{}, tail), 0x0b4f68372ee8cbe03f4a66931f85cfdc/libs/JSON.NeedValue{0x0b4f68372ee8cbe03f4a66931f85cfdc/libs/JSON.InArray{acc, kont}}) : R}
def roundtrip source · line 137 · raw
@+value:0x0b4f68372ee8cbe03f4a66931f85cfdc/libs/JSON.Value -> @+mode:Mode -> @-tail:List<&1, 0x0b4f68372ee8cbe03f4a66931f85cfdc/libs/JSON.Token> -> @+acc:List<&2, 0x0b4f68372ee8cbe03f4a66931f85cfdc/libs/JSON.Value> -> @+fields:List<&2, Sigma<&2, &2, String, key => 0x0b4f68372ee8cbe03f4a66931f85cfdc/libs/JSON.Value>> -> @+kont:0x0b4f68372ee8cbe03f4a66931f85cfdc/libs/JSON.ParserKont -> {0x0b4f68372ee8cbe03f4a66931f85cfdc/libs/JSON.assemble(tokens(value, mode, tail), start(value, mode, acc, fields, kont)) == 0x0b4f68372ee8cbe03f4a66931f85cfdc/libs/JSON.assemble(tail, 0x0b4f68372ee8cbe03f4a66931f85cfdc/libs/JSON.assembly_resume(kont, completed(value, mode, acc, fields))) : R}