(command.CommandList children: [ (C {<.>} { (braced_var_sub token: <Id.VSub_Name BASH_SOURCE> suffix_op: (suffix_op.Unary tok: <Id.VOp1_Percent '%'> arg_word: {<Id.Lit_Slash '/'> <Id.Lit_Other '*'>} ) ) <'/test.sh'> } ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:value) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Simple words: [{<'../lishp.sh'>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<EOF>} here_end_span_id: 29 stdin_parts: [<'((lambda () \n'> <' 10)\n'> <' )\n'>] ) ) ] do_fork: T ) ) } spids: [18] ) ] ) (C {<assert> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <equals>} {(DQ <'Integer :: 10'>)} {(DQ (${ Id.VSub_Name value))} {(DQ <'Basic lambda without parameters'>)} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:value) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Simple words: [{<'../lishp.sh'>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<EOF>} here_end_span_id: 66 stdin_parts: [<'((lambda (x y) \n'> <' (+ x y))\n'> <' 5 10)\n'>] ) ) ] do_fork: T ) ) } spids: [55] ) ] ) (C {<assert> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <equals>} {(DQ <'Integer :: 15'>)} {(DQ (${ Id.VSub_Name value))} {(DQ <'Basic lambda with parameters'>)} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:value) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Simple words: [{<'../lishp.sh'>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<EOF>} here_end_span_id: 107 stdin_parts: [ <'(\n'> <' (\n'> <' (lambda (x) \n'> <' (lambda (y) \n'> <' (+ x y))\n'> <' )\n'> <' 2) 3)\n'> ] ) ) ] do_fork: T ) ) } spids: [92] ) ] ) (C {<assert> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <equals>} {(DQ <'Integer :: 5'>)} {(DQ (${ Id.VSub_Name value))} {(DQ <'Returning lambda with closure'>)} ) (C {<assert> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <report>}) ] )