On 2020-05-18 13:28, Tom Browder wrote:
On Mon, May 18, 2020 at 14:36 ToddAndMargo via perl6-users <perl6-us...@perl.org <mailto:perl6-us...@perl.org>> wrote:

    On 2020-05-17 22:28, Paul Procacci wrote:

...

    'say if "test".IO.d',  and
    'say "test".IO.d.Bool'


Try:

'say so "test".IO.d'


I have mo clue that this says



$ diff -u <(perl6 --target=optimize -e 'so if "test".IO.d') <(perl6 --target=optimize -e 'so "test".IO.d.Bool')
===SORRY!=== Error while compiling -e
Undeclared routine:
    if used at line 1

WARNINGS for -e:
Useless use of "so " in expression "so \"test\".IO.d.Bool" in sink context (line 1)
--- /dev/fd/63  2020-05-18 14:17:32.731286061 -0700
+++ /dev/fd/62  2020-05-18 14:17:32.732286043 -0700
@@ -0,0 +1,98 @@
+- QAST::CompUnit  :W<?> :UNIT<?> :CAN_LOWER_TOPIC<?>
+  [pre_deserialize]
+    - QAST::Stmt
+      - QAST::Stmt
+        - QAST::Op(loadbytecode)
+          - QAST::VM
+            [moar]
+              - QAST::SVal(ModuleLoader.moarvm)
+            [jvm]
+              - QAST::SVal(ModuleLoader.class)
+            [js]
+              - QAST::SVal(ModuleLoader)
+        - QAST::Op(callmethod load_module)
+          - QAST::Op(gethllsym)
+            - QAST::SVal(nqp)
+            - QAST::SVal(ModuleLoader)
+          - QAST::SVal(Perl6::ModuleLoader)
+      - QAST::Op(forceouterctx)
+        - QAST::BVal(2)
+        - QAST::Op(callmethod load_setting)
+          - QAST::Op(getcurhllsym)
+            - QAST::SVal(ModuleLoader)
+          - QAST::SVal(CORE.d)
+  [post_deserialize]
+    - QAST::Stmts
+      - QAST::Op(bind)
+        - QAST::Var(attribute $!do)
+          - QAST::WVal(Block)
+          - QAST::WVal(Code)
+        - QAST::BVal(1)
+    - QAST::Op(bindcurhllsym)
+      - QAST::SVal(GLOBAL)
+      - QAST::WVal(GLOBAL)
+  [load]
+    - QAST::Op(call)
+      - QAST::BVal(2)
+  [children]
+    - QAST::Block(:cuid(2))  :in_stmt_mod<?> so \"test\".IO.d.Bool
+    │ - QAST::Var(local __args__ :decl(param))
+    │ - QAST::Stmts  so \"test\".IO.d.Bool
+    │ - QAST::Op(call)
+ │ - QAST::Block(:cuid(1) :blocktype(declaration_static)) :outer<?> :in_stmt_mod<?> :code_object<?> :IN_DECL<mainline>
+    │   │ - QAST::Stmts  so \"test\".IO.d.Bool
+    │   │   - QAST::Var(lexical $¢ :decl(contvar))
+    │   │   - QAST::Var(lexical $! :decl(contvar))
+    │   │   - QAST::Var(lexical $/ :decl(contvar))
+    │   │   - QAST::Op(null)
+    │   │   - 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::Var(lexical $=pod :decl(static))
+    │   │     [value]
+    │   │       -
+    │   │   - 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::Stmt <sunk final> so \"test\".IO.d.Bool
+    │   │     - QAST::Want <sunk>
+ │ │ - QAST::Op(callstatic &prefix:<so>) <sunk> :statement_id<1> so
+    │   │         - QAST::Op(hllize) <wanted>
+    │   │           - QAST::Op(callmethod Bool)  Bool
+    │   │             - QAST::Op(hllize) <wanted>
+    │   │               - QAST::Op(callmethod d)  d
+    │   │                 - QAST::Op(hllize) <wanted>
+    │   │                   - QAST::Op(callmethod IO)  IO
+    │   │                     - QAST::Want <wanted> test
+    │   │                       - QAST::WVal(Str)
+    │   │                       - Ss
+    │   │                       - QAST::SVal(test)
+    │   │       - v
+    │   │       - QAST::Op(p6sink)
+ │ │ - QAST::Op(callstatic &prefix:<so>) <sunk> :statement_id<1> so
+    │   │           - QAST::Op(hllize) <wanted>
+    │   │             - QAST::Op(callmethod Bool)  Bool
+    │   │               - QAST::Op(hllize) <wanted>
+    │   │                 - QAST::Op(callmethod d)  d
+    │   │                   - QAST::Op(hllize) <wanted>
+    │   │                     - QAST::Op(callmethod IO)  IO
+    │   │                       - QAST::Want <wanted> test
+    │   │                         - QAST::WVal(Str)
+    │   │                         - Ss
+    │   │                         - QAST::SVal(test)
+    │   │   - QAST::WVal(Nil)

Reply via email to