(CommandList children: [ (AndOr ops: [Op_DAmp] children: [ (C {(Lit_Other '[')} { (BracedVarSub token: <VSub_Name CALLABLE_LAMBDA_SH> suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(true)}) spids: [9 13] ) } {(Lit_Other ']')} ) (ControlFlow token:<ControlFlow_Return return>) ] ) (Assignment keyword: Assign_Declare flags: [-g] pairs: [(assign_pair lhs:(LhsName name:CALLABLE_LAMBDA_SH) op:Equal rhs:{(true)} spids:[25])] spids: [21] ) (C {(.)} { (BracedVarSub token: <VSub_Name BASH_SOURCE> suffix_op: (StringUnary op_id:VOp1_Percent arg_word:{(Lit_Slash /) ('*')}) spids: [31 36] ) (/common.sh) } ) (C {(.)} { (BracedVarSub token: <VSub_Name BASH_SOURCE> suffix_op: (StringUnary op_id:VOp1_Percent arg_word:{(Lit_Slash /) ('*')}) spids: [41 46] ) (/variables.sh) } ) (C {(.)} { (BracedVarSub token: <VSub_Name BASH_SOURCE> suffix_op: (StringUnary op_id:VOp1_Percent arg_word:{(Lit_Slash /) ('*')}) spids: [51 56] ) (/variables.linkedlist.sh) } ) (C {(.)} { (BracedVarSub token: <VSub_Name BASH_SOURCE> suffix_op: (StringUnary op_id:VOp1_Percent arg_word:{(Lit_Slash /) ('*')}) spids: [61 66] ) (/specialforms.sh) } ) (C {(.)} { (BracedVarSub token: <VSub_Name BASH_SOURCE> suffix_op: (StringUnary op_id:VOp1_Percent arg_word:{(Lit_Slash /) ('*')}) spids: [71 76] ) (/evaluator.sh) } ) (C {(.)} { (BracedVarSub token: <VSub_Name BASH_SOURCE> suffix_op: (StringUnary op_id:VOp1_Percent arg_word:{(Lit_Slash /) ('*')}) spids: [81 86] ) (/callable.sh) } ) (C {(variable) (Lit_Other ':') (Lit_Other ':') (type) (Lit_Other ':') (Lit_Other ':') (define)} {(Lambda)} {(Function)} ) (FuncDef name: 'variable::Lambda::new' body: (BraceGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {(${ VSub_Name VARIABLES_DEBUG)} right: {(1)} ) ) terminator: <Op_Semi ';'> ) ] action: [ (Sentence child: (C {(stderr)} {(DQ ('variable::Lambda::new ') (${ VSub_At '@'))}) terminator: <Op_Semi ';'> ) ] spids: [16777215 185] ) ] spids: [16777215 198] ) (C {(variable) (Lit_Other ':') (Lit_Other ':') (new)} {(Lambda)} {(DQ (${ VSub_At '@'))}) ] spids: [167] ) spids: [155 166] ) (FuncDef name: 'variable::Lambda::call' body: (BraceGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {(${ VSub_Name VARIABLES_DEBUG)} right: {(1)} ) ) terminator: <Op_Semi ';'> ) ] action: [ (Sentence child: (C {(stderr)} {(DQ ('variable::Lambda::call ') (${ VSub_At '@'))}) terminator: <Op_Semi ';'> ) ] spids: [16777215 262] ) ] spids: [16777215 275] ) (Assignment keyword: Assign_Declare pairs: [ (assign_pair lhs: (LhsName name:lambdaToken) op: Equal rhs: {(DQ (${ VSub_Number 1))} spids: [280] ) ] spids: [278] ) (Assignment keyword: Assign_Declare pairs: [ (assign_pair lhs: (LhsName name:passedArgs) op: Equal rhs: {(DQ (${ VSub_Number 2))} spids: [290] ) ] spids: [288] ) (C {(variable) (Lit_Other ':') (Lit_Other ':') (type) (Lit_Other ':') (Lit_Other ':') (instanceOfOrExit) } {(DQ (${ VSub_Name lambdaToken))} {(Lambda)} ) (Sentence child: (C {(variable) (Lit_Other ':') (Lit_Other ':') (LinkedList) (Lit_Other ':') (Lit_Other ':') (length) } {($ VSub_Name '$passedArgs')} ) terminator: <Op_Semi ';'> ) (Assignment keyword: Assign_Declare pairs: [ (assign_pair lhs: (LhsName name:passedArgCount) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [330] ) ] spids: [328] ) (Sentence child: (C {(variable) (Lit_Other ':') (Lit_Other ':') (Lambda) (Lit_Other ':') (Lit_Other ':') (getEnv) } {($ VSub_Name '$lambdaToken')} ) terminator: <Op_Semi ';'> ) (Assignment keyword: Assign_Declare pairs: [ (assign_pair lhs: (LhsName name:env) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [352] ) ] spids: [350] ) (Sentence child: (C {(variable) (Lit_Other ':') (Lit_Other ':') (Lambda) (Lit_Other ':') (Lit_Other ':') (getFormalArgs) } {($ VSub_Name '$lambdaToken')} ) terminator: <Op_Semi ';'> ) (Assignment keyword: Assign_Declare pairs: [ (assign_pair lhs: (LhsName name:formalArgs) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [374] ) ] spids: [372] ) (Sentence child: (C {(variable) (Lit_Other ':') (Lit_Other ':') (Lambda) (Lit_Other ':') (Lit_Other ':') (getBody) } {($ VSub_Name '$lambdaToken')} ) terminator: <Op_Semi ';'> ) (Assignment keyword: Assign_Declare pairs: [ (assign_pair lhs: (LhsName name:body) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [396] ) ] spids: [394] ) (Sentence child: (C {(variable) (Lit_Other ':') (Lit_Other ':') (LinkedList) (Lit_Other ':') (Lit_Other ':') (length) } {($ VSub_Name '$formalArgs')} ) terminator: <Op_Semi ';'> ) (Assignment keyword: Assign_Declare pairs: [ (assign_pair lhs: (LhsName name:formalArgCount) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [418] ) ] spids: [416] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_ne left: {($ VSub_Name '$passedArgCount')} right: {($ VSub_Name '$formalArgCount')} ) ) terminator: <Op_Semi ';'> ) ] action: [ (C {(stderr)} { (DQ ('lambda: passed arg count (') (${ VSub_Name passedArgCount) (') != format arg count (') (${ VSub_Name formalArgCount) (')') ) } ) (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)}) ] spids: [16777215 440] ) ] spids: [16777215 463] ) (Sentence child: (C {(environment) (Lit_Other ':') (Lit_Other ':') (pushScope)} {($ VSub_Name '$env')}) terminator: <Op_Semi ';'> ) (Assignment keyword: Assign_Declare pairs: [ (assign_pair lhs: (LhsName name:runningEnv) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [478] ) ] spids: [476] ) (Assignment keyword: Assign_Declare pairs: [(assign_pair lhs:(LhsName name:thisKeyToken) op:Equal spids:[488])] spids: [486] ) (Assignment keyword: Assign_Declare pairs: [(assign_pair lhs:(LhsName name:thisValueToken) op:Equal spids:[493])] spids: [491] ) (While cond: [ (Sentence child: (Pipeline children: [ (C {(variable) (Lit_Other ':') (Lit_Other ':') (LinkedList) (Lit_Other ':') (Lit_Other ':') (isEmpty_c) } {(DQ (${ VSub_Name formalArgs))} ) ] negated: T ) terminator: <Op_Semi ';'> ) ] body: (DoGroup children: [ (Sentence child: (C {(variable) (Lit_Other ':') (Lit_Other ':') (LinkedList) (Lit_Other ':') (Lit_Other ':') (first) } {(DQ (${ VSub_Name formalArgs))} ) terminator: <Op_Semi ';'> ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:thisKeyToken) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [535] ) ] spids: [535] ) (Sentence child: (C {(variable) (Lit_Other ':') (Lit_Other ':') (LinkedList) (Lit_Other ':') (Lit_Other ':') (first) } {(DQ (${ VSub_Name passedArgs))} ) terminator: <Op_Semi ';'> ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:thisValueToken) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [559] ) ] spids: [559] ) (Sentence child: (C {(variable) (Lit_Other ':') (Lit_Other ':') (LinkedList) (Lit_Other ':') (Lit_Other ':') (rest) } {(DQ (${ VSub_Name formalArgs))} ) terminator: <Op_Semi ';'> ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:formalArgs) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [584] ) ] spids: [584] ) (Sentence child: (C {(variable) (Lit_Other ':') (Lit_Other ':') (LinkedList) (Lit_Other ':') (Lit_Other ':') (rest) } {(DQ (${ VSub_Name passedArgs))} ) terminator: <Op_Semi ';'> ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:passedArgs) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [608] ) ] spids: [608] ) (C {(environment) (Lit_Other ':') (Lit_Other ':') (setVariable)} {(DQ (${ VSub_Name runningEnv))} {($ VSub_Name '$thisKeyToken')} {($ VSub_Name '$thisValueToken')} ) ] spids: [516 633] ) ) (C {(variable) (Lit_Other ':') (Lit_Other ':') (debug)} {($ VSub_Name '$body')}) (Assignment keyword: Assign_Declare pairs: [ (assign_pair lhs:(LhsName name:currentSexp) op:Equal spids:[648]) (assign_pair lhs:(LhsName name:currentResult) op:Equal spids:[650]) ] spids: [646] ) (While cond: [ (Sentence child: (Pipeline children: [ (C {(variable) (Lit_Other ':') (Lit_Other ':') (LinkedList) (Lit_Other ':') (Lit_Other ':') (isEmpty_c) } {(DQ (${ VSub_Name body))} ) ] negated: T ) terminator: <Op_Semi ';'> ) ] body: (DoGroup children: [ (Sentence child: (C {(variable) (Lit_Other ':') (Lit_Other ':') (LinkedList) (Lit_Other ':') (Lit_Other ':') (first) } {(DQ (${ VSub_Name body))} ) terminator: <Op_Semi ';'> ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:currentSexp) op: Equal rhs: {(${ VSub_Name RESULT)} spids: [692] ) ] spids: [692] ) (Sentence child: (C {(variable) (Lit_Other ':') (Lit_Other ':') (LinkedList) (Lit_Other ':') (Lit_Other ':') (rest) } {(DQ (${ VSub_Name body))} ) terminator: <Op_Semi ';'> ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:body) op: Equal rhs: {(${ VSub_Name RESULT)} spids: [714] ) ] spids: [714] ) (C {(evaluator) (Lit_Other ':') (Lit_Other ':') (eval)} {($ VSub_Name '$runningEnv')} {($ VSub_Name '$currentSexp')} ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:currentResult) op: Equal rhs: {(${ VSub_Name RESULT)} spids: [730] ) ] spids: [730] ) ] spids: [673 736] ) ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:RESULT) op: Equal rhs: {(DQ (${ VSub_Name currentResult))} spids: [739] ) ] spids: [739] ) ] spids: [244] ) spids: [232 243] ) (FuncDef name: 'variable::Lambda::getEnv' body: (BraceGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {(${ VSub_Name VARIABLES_DEBUG)} right: {(1)} ) ) terminator: <Op_Semi ';'> ) ] action: [ (Sentence child: (C {(stderr)} {(DQ ('variable::Lambda::getEnv ') (${ VSub_At '@'))}) terminator: <Op_Semi ';'> ) ] spids: [16777215 779] ) ] spids: [16777215 792] ) (Assignment keyword: Assign_Declare pairs: [ (assign_pair lhs: (LhsName name:lambdaToken) op: Equal rhs: {(DQ (${ VSub_Number 1))} spids: [797] ) ] spids: [795] ) (C {(variable) (Lit_Other ':') (Lit_Other ':') (type) (Lit_Other ':') (Lit_Other ':') (instanceOfOrExit) } {(DQ (${ VSub_Name lambdaToken))} {(Lambda)} ) (C {(variable) (Lit_Other ':') (Lit_Other ':') (value)} {($ VSub_Name '$lambdaToken')}) (Assignment keyword: Assign_Declare flags: [-a] pairs: [ (assign_pair lhs: (LhsName name:data) op: Equal rhs: {(ArrayLiteralPart words:[{(${ VSub_Name RESULT)}])} spids: [835] ) ] spids: [831] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:RESULT) op: Equal rhs: { (DQ (BracedVarSub token: <VSub_Name data> bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 0)})) spids: [846 851] ) ) } spids: [844] ) ] spids: [844] ) ] spids: [761] ) spids: [749 760] ) (FuncDef name: 'variable::Lambda::getFormalArgs' body: (BraceGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {(${ VSub_Name VARIABLES_DEBUG)} right: {(1)} ) ) terminator: <Op_Semi ';'> ) ] action: [ (Sentence child: (C {(stderr)} {(DQ ('variable::Lambda::getFormalArgs ') (${ VSub_At '@'))}) terminator: <Op_Semi ';'> ) ] spids: [16777215 887] ) ] spids: [16777215 900] ) (Assignment keyword: Assign_Declare pairs: [ (assign_pair lhs: (LhsName name:lambdaToken) op: Equal rhs: {(DQ (${ VSub_Number 1))} spids: [905] ) ] spids: [903] ) (C {(variable) (Lit_Other ':') (Lit_Other ':') (type) (Lit_Other ':') (Lit_Other ':') (instanceOfOrExit) } {(DQ (${ VSub_Name lambdaToken))} {(Lambda)} ) (C {(variable) (Lit_Other ':') (Lit_Other ':') (value)} {($ VSub_Name '$lambdaToken')}) (Assignment keyword: Assign_Declare flags: [-a] pairs: [ (assign_pair lhs: (LhsName name:data) op: Equal rhs: {(ArrayLiteralPart words:[{(${ VSub_Name RESULT)}])} spids: [943] ) ] spids: [939] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:RESULT) op: Equal rhs: { (DQ (BracedVarSub token: <VSub_Name data> bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 1)})) spids: [954 959] ) ) } spids: [952] ) ] spids: [952] ) ] spids: [869] ) spids: [857 868] ) (FuncDef name: 'variable::Lambda::getBody' body: (BraceGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {(${ VSub_Name VARIABLES_DEBUG)} right: {(1)} ) ) terminator: <Op_Semi ';'> ) ] action: [ (Sentence child: (C {(stderr)} {(DQ ('variable::Lambda::getBody ') (${ VSub_At '@'))}) terminator: <Op_Semi ';'> ) ] spids: [16777215 995] ) ] spids: [16777215 1008] ) (Assignment keyword: Assign_Declare pairs: [ (assign_pair lhs: (LhsName name:lambdaToken) op: Equal rhs: {(DQ (${ VSub_Number 1))} spids: [1013] ) ] spids: [1011] ) (C {(variable) (Lit_Other ':') (Lit_Other ':') (type) (Lit_Other ':') (Lit_Other ':') (instanceOfOrExit) } {(DQ (${ VSub_Name lambdaToken))} {(Lambda)} ) (C {(variable) (Lit_Other ':') (Lit_Other ':') (value)} {($ VSub_Name '$lambdaToken')}) (Assignment keyword: Assign_Declare flags: [-a] pairs: [ (assign_pair lhs: (LhsName name:data) op: Equal rhs: {(ArrayLiteralPart words:[{(${ VSub_Name RESULT)}])} spids: [1051] ) ] spids: [1047] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:RESULT) op: Equal rhs: { (DQ (BracedVarSub token: <VSub_Name data> bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 2)})) spids: [1062 1067] ) ) } spids: [1060] ) ] spids: [1060] ) ] spids: [977] ) spids: [965 976] ) (FuncDef name: 'variable::Lambda::toSexp' body: (BraceGroup children: [ (Assignment keyword: Assign_Declare pairs: [ (assign_pair lhs: (LhsName name:token) op: Equal rhs: {(DQ (${ VSub_Number 1))} spids: [1090] ) ] spids: [1088] ) (Sentence child: (C {(variable) (Lit_Other ':') (Lit_Other ':') (Lambda) (Lit_Other ':') (Lit_Other ':') (getEnv) } {($ VSub_Name '$token')} ) terminator: <Op_Semi ';'> ) (Assignment keyword: Assign_Declare pairs: [ (assign_pair lhs: (LhsName name:env) op: Equal rhs: {($ VSub_Name '$RESULT')} spids: [1112] ) ] spids: [1110] ) (Sentence child: (C {(variable) (Lit_Other ':') (Lit_Other ':') (Lambda) (Lit_Other ':') (Lit_Other ':') (getFormalArgs) } {($ VSub_Name '$token')} ) terminator: <Op_Semi ';'> ) (Assignment keyword: Assign_Declare pairs: [ (assign_pair lhs: (LhsName name:args) op: Equal rhs: {($ VSub_Name '$RESULT')} spids: [1130] ) ] spids: [1128] ) (Sentence child: (C {(variable) (Lit_Other ':') (Lit_Other ':') (Lambda) (Lit_Other ':') (Lit_Other ':') (getBody) } {($ VSub_Name '$token')} ) terminator: <Op_Semi ';'> ) (Assignment keyword: Assign_Declare pairs: [ (assign_pair lhs: (LhsName name:body) op: Equal rhs: {($ VSub_Name '$RESULT')} spids: [1148] ) ] spids: [1146] ) (Sentence child: (C {(variable) (Lit_Other ':') (Lit_Other ':') (toSexp)} {($ VSub_Name '$args')}) terminator: <Op_Semi ';'> ) (Assignment keyword: Assign_Declare pairs: [ (assign_pair lhs: (LhsName name:argsString) op: Equal rhs: {($ VSub_Name '$RESULT')} spids: [1164] ) ] spids: [1162] ) (Sentence child: (C {(variable) (Lit_Other ':') (Lit_Other ':') (toSexp)} {($ VSub_Name '$body')}) terminator: <Op_Semi ';'> ) (Assignment keyword: Assign_Declare pairs: [ (assign_pair lhs: (LhsName name:bodyString) op: Equal rhs: {($ VSub_Name '$RESULT')} spids: [1179] ) ] spids: [1177] ) (Sentence child: (Assignment keyword: Assign_Declare pairs: [(assign_pair lhs:(LhsName name:bodyLen) op:Equal spids:[1185])] spids: [1183] ) terminator: <Op_Semi ';'> ) (DParen child: (BinaryAssign op_id: Arith_Equal left: (LhsName name:bodyLen) right: (ArithBinary op_id: Arith_Minus left: (ArithWord w: { (BracedVarSub token: <VSub_Name bodyString> prefix_op: VSub_Pound spids: [1195 1198] ) } ) right: (ArithWord w:{(Lit_Digits 2)}) ) ) ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:bodyString) op: Equal rhs: { (BracedVarSub token: <VSub_Name bodyString> suffix_op: (Slice begin: (ArithWord w:{(Lit_Digits 1)}) length: (ArithVarRef name:bodyLen) ) spids: [1209 1215] ) } spids: [1208] ) ] spids: [1208] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:RESULT) op: Equal rhs: { (DQ ('(lambda ') (${ VSub_Name argsString) (' ') ($ VSub_Name '$bodyString') (')')) } spids: [1219] ) ] spids: [1219] ) ] spids: [1085] ) spids: [1073 1084] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {($ VSub_Number '$0')} {(KW_Bang '!') (Lit_Other '=')} {($ VSub_Name '$BASH_SOURCE')} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [(ControlFlow token:<ControlFlow_Return return>)] spids: [16777215 1253] ) ] spids: [16777215 1258] ) (C {(.)} { (BracedVarSub token: <VSub_Name BASH_SOURCE> suffix_op: (StringUnary op_id:VOp1_Percent arg_word:{(Lit_Slash /) ('*')}) spids: [1263 1268] ) (/test.sh) } ) (Sentence child:(C {(createTestEnv)}) terminator:<Op_Semi ';'>) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:lambdaEnv) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [1285] ) ] spids: [1285] ) (Sentence child: (C {(variable) (Lit_Other ':') (Lit_Other ':') (LinkedList) (Lit_Other ':') (Lit_Other ':') (new)} ) terminator: <Op_Semi ';'> ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:lambdaArgs) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [1302] ) ] spids: [1302] ) (C {(appendToList)} {($ VSub_Name '$lambdaArgs')} {(Identifier)} {(DQ (x))} {(Identifier)} {(DQ (y))}) (Sentence child: (C {(variable) (Lit_Other ':') (Lit_Other ':') (LinkedList) (Lit_Other ':') (Lit_Other ':') (new)} ) terminator: <Op_Semi ';'> ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:lambdaBody) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [1335] ) ] spids: [1335] ) (Sentence child: (C {(variable) (Lit_Other ':') (Lit_Other ':') (LinkedList) (Lit_Other ':') (Lit_Other ':') (new)} ) terminator: <Op_Semi ';'> ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:lambdaCode) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [1352] ) ] spids: [1352] ) (C {(appendToList)} {($ VSub_Name '$lambdaCode')} {(Identifier)} {(SQ <'*'>)} {(Identifier)} {(DQ (x))} {(Identifier)} {(DQ (y))} ) (C {(variable) (Lit_Other ':') (Lit_Other ':') (LinkedList) (Lit_Other ':') (Lit_Other ':') (append)} {($ VSub_Name '$lambdaBody')} {($ VSub_Name '$lambdaCode')} ) (Sentence child: (C {(variable) (Lit_Other ':') (Lit_Other ':') (Lambda) (Lit_Other ':') (Lit_Other ':') (new)} { (DQ ($ VSub_Name '$lambdaEnv') (' ') ($ VSub_Name '$lambdaArgs') (' ') ($ VSub_Name '$lambdaBody') ) } ) terminator: <Op_Semi ';'> ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:lambda) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [1411] ) ] spids: [1411] ) (Sentence child: (C {(variable) (Lit_Other ':') (Lit_Other ':') (LinkedList) (Lit_Other ':') (Lit_Other ':') (new)} ) terminator: <Op_Semi ';'> ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:callingArgs) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [1429] ) ] spids: [1429] ) (C {(appendToList)} {($ VSub_Name '$callingArgs')} {(Integer)} {(5)} {(Integer)} {(3)}) (C {(variable) (Lit_Other ':') (Lit_Other ':') (Lambda) (Lit_Other ':') (Lit_Other ':') (call)} {($ VSub_Name '$lambda')} {($ VSub_Name '$callingArgs')} ) (Sentence child: (C {(variable) (Lit_Other ':') (Lit_Other ':') (debug)} {(DQ (${ VSub_Name RESULT))}) terminator: <Op_Semi ';'> ) (C {(assert) (Lit_Other ':') (Lit_Other ':') (equals)} {(DQ ('Integer :: 15'))} {(DQ (${ VSub_Name RESULT))} {(DQ ('((lambda (x y) (* x y) 5 3)'))} ) (Sentence child:(C {(createTestEnv)}) terminator:<Op_Semi ';'>) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:lambdaEnv) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [1509] ) ] spids: [1509] ) (C {(setInEnv)} {($ VSub_Name '$lambdaEnv')} {(DQ (y))} {(Integer)} {(10)}) (Sentence child: (C {(variable) (Lit_Other ':') (Lit_Other ':') (LinkedList) (Lit_Other ':') (Lit_Other ':') (new)} ) terminator: <Op_Semi ';'> ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:lambdaArgs) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [1538] ) ] spids: [1538] ) (C {(appendToList)} {($ VSub_Name '$lambdaArgs')} {(Identifier)} {(DQ (x))}) (Sentence child: (C {(variable) (Lit_Other ':') (Lit_Other ':') (LinkedList) (Lit_Other ':') (Lit_Other ':') (new)} ) terminator: <Op_Semi ';'> ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:lambdaBody) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [1565] ) ] spids: [1565] ) (Sentence child: (C {(variable) (Lit_Other ':') (Lit_Other ':') (LinkedList) (Lit_Other ':') (Lit_Other ':') (new)} ) terminator: <Op_Semi ';'> ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:lambdaCode) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [1582] ) ] spids: [1582] ) (C {(appendToList)} {($ VSub_Name '$lambdaCode')} {(Identifier)} {(SQ <'*'>)} {(Identifier)} {(DQ (x))} {(Identifier)} {(DQ (y))} ) (C {(variable) (Lit_Other ':') (Lit_Other ':') (LinkedList) (Lit_Other ':') (Lit_Other ':') (append)} {($ VSub_Name '$lambdaBody')} {($ VSub_Name '$lambdaCode')} ) (Sentence child: (C {(variable) (Lit_Other ':') (Lit_Other ':') (Lambda) (Lit_Other ':') (Lit_Other ':') (new)} { (DQ ($ VSub_Name '$lambdaEnv') (' ') ($ VSub_Name '$lambdaArgs') (' ') ($ VSub_Name '$lambdaBody') ) } ) terminator: <Op_Semi ';'> ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:lambda) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [1641] ) ] spids: [1641] ) (Sentence child: (C {(variable) (Lit_Other ':') (Lit_Other ':') (LinkedList) (Lit_Other ':') (Lit_Other ':') (new)} ) terminator: <Op_Semi ';'> ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:callingArgs) op: Equal rhs: {(DQ (${ VSub_Name RESULT))} spids: [1659] ) ] spids: [1659] ) (C {(appendToList)} {($ VSub_Name '$callingArgs')} {(Integer)} {(5)}) (C {(variable) (Lit_Other ':') (Lit_Other ':') (Lambda) (Lit_Other ':') (Lit_Other ':') (call)} {($ VSub_Name '$lambda')} {($ VSub_Name '$callingArgs')} ) (Sentence child: (C {(variable) (Lit_Other ':') (Lit_Other ':') (debug)} {(DQ (${ VSub_Name RESULT))}) terminator: <Op_Semi ';'> ) (C {(assert) (Lit_Other ':') (Lit_Other ':') (equals)} {(DQ ('Integer :: 50'))} {(DQ (${ VSub_Name RESULT))} {(DQ ('env(y=10) ((lambda (x) (* x y) 5)'))} ) (C {(assert) (Lit_Other ':') (Lit_Other ':') (report)}) (If arms: [ (if_arm cond: [ (Sentence child: (AndOr ops: [Op_DAmp] children: [ (C {(Lit_Other '[')} { (BracedVarSub token: <VSub_Number 1> suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(isset)}) spids: [1739 1743] ) } {(Lit_Other ']')} ) (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} {(Lit_Other '=') (Lit_Other '=')} {(DQ (debug))} {(Lit_Other ']')} ) ] ) terminator: <Op_Semi ';'> ) ] action: [(C {(variable) (Lit_Other ':') (Lit_Other ':') (printMetadata)})] spids: [16777215 1765] ) ] spids: [16777215 1774] ) ] )