Skip to content

Instantly share code, notes, and snippets.

@ab5tract
Last active February 10, 2023 14:31
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ab5tract/144c33cb39615bf481abed638f66a6a5 to your computer and use it in GitHub Desktop.
Save ab5tract/144c33cb39615bf481abed638f66a6a5 to your computer and use it in GitHub Desktop.
Differences between base QAST and branch QAST -- 'subset F where * == 5; my F $f = 6'
- QAST::Block(:name(<unit-outer>) :cuid(3)) :in_stmt_mod<?> subset F where * == 5; my F $f = 6
│ - QAST::Var(local __args__ :decl(param))
│ - QAST::Stmts subset F where * == 5; my F $f = 6
│ - QAST::Op(bind)
│ - QAST::Var(lexical RakuAST :decl(var))
│ - QAST::Op(callmethod new)
│ - QAST::Var(lexical Failure)
│ - QAST::Op(callmethod new)
│ - QAST::WVal(X::Experimental)
│ - QAST::SVal+{QAST::SpecialArg}(RakuAST :named<feature>)
│ - QAST::SVal+{QAST::SpecialArg}(rakuast :named<use>)
│ - QAST::Op(call)
│ - QAST::Block(:name(<unit>) :cuid(2) :blocktype(declaration_static)) :outer<?> :in_stmt_mod<?> :code_object<?> :IN_DECL<mainline>
│ │ - QAST::Stmts subset F where * == 5; my F $f = 6
│ │ - QAST::Var(lexical $f :decl(contvar))
│ │ - QAST::Var(lexical $¢ :decl(contvar))
│ │ - QAST::Var(lexical $! :decl(contvar))
│ │ - QAST::Var(lexical $/ :decl(contvar))
│ │ - QAST::Var(lexical $_ :decl(contvar))
│ │ - QAST::Var(lexical GLOBALish :decl(static))
│ │ - QAST::Var(lexical EXPORT :decl(static))
│ │ - QAST::Var(lexical $?PACKAGE :decl(static))
│ │ - QAST::Var(lexical ::?PACKAGE :decl(static))
│ │ - QAST::Var(lexical $=finish :decl(static))
│ │ - QAST::Block(:name() :cuid(1)) <wanted> :statement_id<1> :outer<?> :in_stmt_mod<?> :count<?> :code_object<?>
│ │ │ - QAST::Stmts
│ │ │ - QAST::Var(lexical $whatevercode_arg_1 :decl(var)) :whatever-var<?>
│ │ │ - QAST::Var(local __lowered_param__1 :decl(param))
│ │ │ - QAST::Op(bind)
│ │ │ - QAST::Var(local __lowered_param__1)
│ │ │ - QAST::Op(hllize)
│ │ │ - QAST::Var(local __lowered_param__1)
│ │ │ - QAST::Op(bind)
│ │ │ - QAST::Var(lexical $whatevercode_arg_1)
│ │ │ - QAST::Var(local __lowered_param__1)
│ │ │ - QAST::Op(chain &infix:<==>) <wanted> ==
│ │ │ - QAST::Var(lexical $whatevercode_arg_1) :whatever-var<?>
│ │ │ - QAST::Want <wanted> 5
│ │ │ - QAST::WVal(Int)
│ │ │ - Ii
│ │ │ - QAST::IVal(5) 5
│ │ - QAST::Var(lexical F :decl(static))
│ │ - QAST::Var(lexical $=pod :decl(static))
│ │ [value]
│ │ - Array|2739724993928
│ │ - QAST::Var(lexical !UNIT_MARKER :decl(static))
│ │ - QAST::Stmts
│ │ - QAST::Op(bind)
│ │ - QAST::Var(local ctxsave :decl(var))
│ │ - QAST::Var(contextual $*CTXSAVE)
│ │ - QAST::Op(unless)
│ │ - QAST::Op(isnull)
│ │ - QAST::Var(local ctxsave)
│ │ - QAST::Op(if)
│ │ - QAST::Op(can)
│ │ - QAST::Var(local ctxsave)
│ │ - QAST::SVal(ctxsave)
│ │ - QAST::Op(callmethod ctxsave)
│ │ - QAST::Var(local ctxsave)
│ │ - QAST::Stmts
│ │ - QAST::WVal(Array)
│ │ - QAST::Stmts <sunk> subset F where * == 5; my F $f = 6
│ │ - QAST::Stmt <sunk> subset F where * == 5
│ │ - QAST::WVal(F) :statement_id<1>
│ │ - QAST::Stmt <sunk final> my F $f = 6
│ │ - QAST::Op(p6assign) :statement_id<2>
│ │ - QAST::Var(lexical $f) <wanted sinkok> $f
│ │ - QAST::Want <wanted> 6
│ │ - QAST::WVal(Int)
│ │ - Ii
│ │ - QAST::IVal(6) 6
│ │ - QAST::WVal(Nil)
- QAST::Block(:name(<unit>) :cuid(2) :blocktype(declaration_static)) :IN_DECL<mainline> subset F where * == 5; my F $f = 6
│ - QAST::Stmts
│ - QAST::Stmts
│ - QAST::WVal(Nil)
│ - QAST::Stmts subset F where * == 5; my F $f = 6
│ - QAST::Var(local __args__ :decl(param))
│ - QAST::Stmts
│ - QAST::Var(lexical $f :decl(contvar))
│ - QAST::Var(lexical !RAKUAST_MARKER :decl(static))
│ [value]
│ - 1
│ - QAST::Var(lexical !UNIT_MARKER :decl(static))
│ [value]
│ - 1
│ - QAST::Var(lexical $_ :decl(contvar))
│ - QAST::Var(lexical $! :decl(contvar))
│ - QAST::Var(lexical $/ :decl(contvar))
│ - QAST::Var(lexical $?PACKAGE :decl(static))
│ - QAST::Var(lexical EXPORT :decl(static))
│ - QAST::Var(lexical GLOBALish :decl(static))
│ - QAST::Var(lexical F :decl(static))
│ - QAST::Block(:name() :cuid(1) :blocktype(declaration_static))
│ │ - QAST::Stmts
│ │ - QAST::Stmts
│ │ - QAST::Var(local __lowered_param_1 :decl(param))
│ │ - QAST::Op(bind)
│ │ - QAST::Var(local __lowered_param_1)
│ │ - QAST::Op(hllize)
│ │ - QAST::Var(local __lowered_param_1)
│ │ - QAST::Op(bind)
│ │ - QAST::Var(local __decont_param_1 :decl(var))
│ │ - QAST::Op(decont)
│ │ - QAST::Var(local __lowered_param_1)
│ │ - QAST::Op(bind)
│ │ - QAST::Var(lexical $whatevercode_arg_1)
│ │ - QAST::Var(local __decont_param_1)
│ │ - QAST::Stmts
│ │ - QAST::Var(lexical $whatevercode_arg_1 :decl(contvar))
│ │ - QAST::Op(chain &infix:<==>)
│ │ - QAST::Var(lexical $whatevercode_arg_1)
│ │ - QAST::Want
│ │ - QAST::WVal(Int)
│ │ - Ii
│ │ - QAST::IVal(5)
│ - QAST::Stmts
│ - QAST::Stmts
│ - QAST::Stmts
│ - QAST::Op(bind)
│ - QAST::Var(local ctxsave :decl(var))
│ - QAST::Var(contextual $*CTXSAVE)
│ - QAST::Op(unless)
│ - QAST::Op(isnull)
│ - QAST::Var(local ctxsave)
│ - QAST::Op(if)
│ - QAST::Op(can)
│ - QAST::Var(local ctxsave)
│ - QAST::SVal(ctxsave)
│ - QAST::Op(callmethod ctxsave)
│ - QAST::Var(local ctxsave)
│ - QAST::Stmts subset F where * == 5; my F $f = 6
│ - QAST::Stmt subset F where * == 5
│ - QAST::Op(p6sink)
│ - QAST::WVal(F)
│ - QAST::Stmt my F $f = 6
│ - QAST::Op(p6assign)
│ - QAST::Var(lexical $f)
│ - QAST::Want
│ - QAST::WVal(Int)
│ - Ii
│ - QAST::IVal(6)
│ - QAST::WVal(Nil)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment