Skip to content

Instantly share code, notes, and snippets.

@timo
Created December 11, 2013 23:55
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 timo/13090bda08ab4824b515 to your computer and use it in GitHub Desktop.
Save timo/13090bda08ab4824b515 to your computer and use it in GitHub Desktop.
timo@kischde ~/build/rakudo (git)-[moar-support] % ./perl6-p -e 'say "$_, {(10 < * < 20)($_)}" for ^30'
going to look at whatever-currying - QAST::Op(chain &infix:<<>) <
- QAST::Want 10
- QAST::WVal(Int)
- Ii
- QAST::IVal(10)
- QAST::Op(callmethod new) *
- QAST::Var(lexical Whatever)
up to 2
curried: 2
whatevers: 0
whatevers: 1
was chain? &infix:<<>
annotating the chain stuffs
2
argument:
- QAST::Want 10
- QAST::WVal(Int)
- Ii
- QAST::IVal(10)
argument:
- QAST::Var(lexical $whatevercode_arg_1)
1
going to look at whatever-currying - QAST::Op(chain &infix:<<>) <
- QAST::Op(p6capturelex)
- QAST::Op(callmethod clone)
- QAST::WVal(WhateverCode)
- QAST::Want 20
- QAST::WVal(Int)
- Ii
- QAST::IVal(20)
up to 2
curried: 2
whatevers: 1
whatevers: 1
was chain? &infix:<<>
shifted - QAST::Want 10
- QAST::WVal(Int)
- Ii
- QAST::IVal(10)
off of the chain_post
shifted - QAST::Var(lexical $whatevercode_arg_1)
off of the chain_post
shifted an argument off the chain_args:
variable_name: $whatevercode_arg_1
use of uninitialized value of type Mu in string context in any at gen/parrot/BOOTSTRAP.nqp:103
nominal_type:
is_parcel: 1
changed the past to
- QAST::Op(chain &infix:<<>) <
- QAST::Op(chain &infix:<<>) <
- QAST::Want 10
- QAST::WVal(Int)
- Ii
- QAST::IVal(10)
- QAST::Var(lexical $whatevercode_arg_1)
- QAST::Want 20
- QAST::WVal(Int)
- Ii
- QAST::IVal(20)
annotating the chain stuffs
1
argument:
- QAST::Want 20
- QAST::WVal(Int)
- Ii
- QAST::IVal(20)
1
going to look at whatever-currying - QAST::Op(call) $_
- QAST::Stmts 10 < * < 20
- QAST::Op(p6capturelex)
- QAST::Op(callmethod clone)
- QAST::WVal(WhateverCode)
- QAST::Var(lexical $_) $_
up to 1
curried: 0
going to look at whatever-currying - QAST::Op(call &prefix:<^>) ^
- QAST::Want 30
- QAST::WVal(Int)
- Ii
- QAST::IVal(30)
up to 1
curried: 2
whatevers: 0
0, False
1, False
2, False
3, False
4, False
5, False
6, False
7, False
8, False
9, False
10, False
11, True
12, True
13, True
14, True
15, True
16, True
17, True
18, True
19, True
20, False
21, False
22, False
23, False
24, False
25, False
26, False
27, False
28, False
29, False
- QAST::CompUnit
- QAST::Block say \"$_, {(10 < * < 20)($_)}\" for ^30
- QAST::Var(local __args__ :decl(param))
- QAST::Stmts
- QAST::Op(call)
- QAST::Block
- QAST::Stmts
- 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 $_ :decl(contvar))
- QAST::Var(lexical $/ :decl(contvar))
- QAST::Var(lexical $! :decl(contvar))
- QAST::Stmts
- QAST::Block {(10 < * < 20)($_)}
- QAST::Stmts
- QAST::Op(bind)
- QAST::Var(lexical $_ :decl(var))
- QAST::Op(getlexouter)
- QAST::SVal($_)
- QAST::Block
- QAST::Stmts
- QAST::Var(lexical $whatevercode_arg_1 :decl(var))
- QAST::Op(p6bindsig)
- QAST::Op(chain &infix:<<>) <
- QAST::Want 10
- QAST::WVal(Int)
- Ii
- QAST::IVal(10)
- QAST::Var(lexical $whatevercode_arg_1)
- QAST::Block
- QAST::Stmts
- QAST::Var(lexical $whatevercode_arg_1 :decl(var))
- QAST::Op(p6bindsig)
- QAST::Op(chain &infix:<<>) <
- QAST::Op(chain &infix:<<>) <
- QAST::Want 10
- QAST::WVal(Int)
- Ii
- QAST::IVal(10)
- QAST::Var(lexical $whatevercode_arg_1)
- QAST::Want 20
- QAST::WVal(Int)
- Ii
- QAST::IVal(20)
- QAST::Stmts (10 < * < 20)($_)
- QAST::Stmt
- QAST::Want
- QAST::Op(call) $_
- QAST::Stmts 10 < * < 20
- QAST::Op(p6capturelex)
- QAST::Op(callmethod clone)
- QAST::WVal(WhateverCode)
- QAST::Var(lexical $_) $_
- v
- QAST::Op(locallifetime)
- QAST::Stmts
- QAST::Op(bind)
- QAST::Var(local sink_1 :decl(var))
- QAST::Op(call) $_
- QAST::Stmts 10 < * < 20
- QAST::Op(p6capturelex)
- QAST::Op(callmethod clone)
- QAST::WVal(WhateverCode)
- QAST::Var(lexical $_) $_
- QAST::Op(if)
- QAST::Op(if)
- QAST::Op(isconcrete)
- QAST::Var(local sink_1)
- QAST::Op(can)
- QAST::Var(local sink_1)
- QAST::SVal(sink)
- QAST::Op(callmethod sink)
- QAST::Var(local sink_1)
- sink_1
- QAST::Block
- QAST::Stmts
- QAST::Var(lexical $_ :decl(var))
- QAST::Op(p6bindsig)
- QAST::Op(call &say) say \"$_, {(10 < * < 20)($_)}\"
- QAST::Op(call &infix:<~>) $_, {(10 < * < 20)($_)}
- QAST::Op(call &infix:<~>)
- QAST::Op(callmethod Stringy)
- QAST::Var(lexical $_) $_
- QAST::Want
- QAST::WVal(Str)
- Ss
- QAST::SVal(, )
- QAST::Op(callmethod Stringy)
- QAST::Op(callmethod Stringy)
- QAST::Op(call) {(10 < * < 20)($_)}
- QAST::Op(p6capturelex)
- QAST::WVal(Block)
- QAST::Var(lexical $=pod :decl(static))
- QAST::Var(lexical !UNIT_MARKER :decl(static))
- QAST::VM
[loadlibs]
- nqp_group nqp_ops perl6_ops bit_ops math_ops trans_ops io_ops obscure_ops os file sys_ops nqp_bigint_ops nqp_dyncall_ops
[jvm]
- QAST::Op(null)
[moar]
- QAST::Op(null)
- QAST::Stmt
- 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 say \"$_, {(10 < * < 20)($_)}\" for ^30
- QAST::Stmt
- QAST::Want
- QAST::Op(callmethod eager)
- QAST::Op(callmethod map) say \"$_, {(10 < * < 20)($_)}\" for ^30
- QAST::Op(call &infix:<,>)
- QAST::Op(call &prefix:<^>) ^
- QAST::Want 30
- QAST::WVal(Int)
- Ii
- QAST::IVal(30)
- QAST::Op(p6capturelex)
- QAST::Op(callmethod clone)
- QAST::WVal(Block)
- v
- QAST::Op(locallifetime)
- QAST::Stmts
- QAST::Op(bind)
- QAST::Var(local sink_2 :decl(var))
- QAST::Op(callmethod eager)
- QAST::Op(callmethod map) say \"$_, {(10 < * < 20)($_)}\" for ^30
- QAST::Op(call &infix:<,>)
- QAST::Op(call &prefix:<^>) ^
- QAST::Want 30
- QAST::WVal(Int)
- Ii
- QAST::IVal(30)
- QAST::Op(p6capturelex)
- QAST::Op(callmethod clone)
- QAST::WVal(Block)
- QAST::Op(if)
- QAST::Op(if)
- QAST::Op(isconcrete)
- QAST::Var(local sink_2)
- QAST::Op(can)
- QAST::Var(local sink_2)
- QAST::SVal(sink)
- QAST::Op(callmethod sink)
- QAST::Var(local sink_2)
- sink_2
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment