On Mon, May 18, 2020 at 12:35:47PM -0700, ToddAndMargo via perl6-users wrote:
> On 2020-05-17 22:28, Paul Procacci wrote:
> > Don't 'say' anything.  Just let the optimizer spit out the QAST that you
> > are interested in looking at.
> > The following spits out a diff after optimization:
> > 
> > # diff -u <(perl6 --target=optimize -e '"test".IO.e') <(perl6
> > --target=optimize -e '"test".IO.e.Bool')
> > 
> >  >> Huh.  Not sure what I am looking at
> > 
> > You aren't specific.  Is it the error message you received because you
> > used 'say' improperly or is it the QAST?
> > - How to use 'say' is in the documentation.
> > - A QAST is pretty close to an AST and I'd start there on wikipedia or
> > something.
> 
> I was looking for the difference between
> 
> 'say if "test".IO.d',  and

Please note that in my example a couple of messages ago I did not write
"say if 'h:/'.IO.d", I wrote "say 'yes' if 'h:/'.IO.d". The difference
is very important and leads directly to the error-like message you got.

> 'say "test".IO.d.Bool'
> 
> This is were 'if" has to unscramble a "True" or
> "text message" return.
> 
> But, I have no idea what all that stuff is that comes
> back anyway, so I think I will give up.

It's the internal representation of the program you told Raku to parse
and execute; the truth is that, just like in a sci-fi story about
a machine that is supposed to answer any question, but only comes back
with "the question has not been asked correctly", and just as with using
low-level debugging tools like strace on Unix-like systems, to ask
the right question one already needs to know most of the answer.
The QAST is most useful to those who already have some idea how
a compiler generally works, how a pseudocode virtual machine works,
how a just-in-time compiler works, and how they all handle different
expressions and the relationships between different types.

G'luck,
Peter

-- 
-- 
Peter Pentchev  r...@ringlet.net r...@debian.org p...@storpool.com
PGP key:        http://people.FreeBSD.org/~roam/roam.key.asc
Key fingerprint 2EE7 A7A5 17FC 124C F115  C354 651E EFB0 2527 DF13

Attachment: signature.asc
Description: PGP signature

Reply via email to