ab5tract use v6.*; %*ENV<RAKUDO_RAKUAST = 1; my class A { has $.a where { $_ > 0 } } 07:23
m: use v6.*; %*ENV<RAKUDO_RAKUAST = 1; my class A { has $.a where { $_ > 0 } }
camelia ===SORRY!=== Error while compiling <tmp>
Two terms in a row
at <tmp>:1
------> T = 1; my class A { has $.a where { $_ ><HERE> 0 } }
expecting any of:
infix
infix stopper
statement end
statement modif…
ab5tract m: use v6.*; %*ENV<RAKUDO_RAKUAST> = 1; my class A { has $.a where { $_ > 0 } }
camelia ===SORRY!===
Cannot resolve caller infix:«>»(Mu:U, Int:D); none of these signatures matches:
( --> Bool::True)
($ --> Bool::True)
(\a, \b)
(Real $a, Real $b)
(Int:D $a, Int:D $b --> Bool)
(int $a, int $b --> Boo…
ab5tract m: use v6.*; %*ENV<RAKUDO_RAKUAST> = 1; class A { has $.a where { $_ > 0 } } 07:24
camelia ===SORRY!===
Cannot resolve caller infix:«>»(Mu:U, Int:D); none of these signatures matches:
( --> Bool::True)
($ --> Bool::True)
(\a, \b)
(Real $a, Real $b)
(Int:D $a, Int:D $b --> Bool)
(int $a, int $b --> Boo…
ab5tract Oh, sorry, thought I was still in a chat with camelia 07:25
Is there a roast test that is failing for this? Because it seems really wild that there aren’t at least a dozen test files that use where clauses to some degree 07:56
lizmat there are more than 1000 matches for the word "where" in roast 08:07
ab5tract Thanks (I am glad I didn’t bring my laptop on vacation but I do feel a bit helpless) 08:14
m: use v6.*; subset A where * > 0; my class C { has A $.a }; C.new: :a(7) 08:15
camelia Use of uninitialized value of type Any in numeric context
in any multi_declarator:sym<null> at /home/camelia/rakudo-m-inst-2/share/perl6/lib/Perl6/Grammar.moarvm line 1
===SORRY!=== Error while compiling <tmp>
Attribute definition of type A (i…
ab5tract lizmat: I thought that use v6.* would use the new grammar, but this seems to go through the old one?
Oh, it mentions line 1 of the old grammar. If I check that I imagine it’s a conditional call into the new grammar 08:17
lizmat use v6.* just activates the existence of the RakuAST classes
the actual grammar is chosen in src/main.nqp 08:18
ab5tract Gotcha, thanks 08:24
When we release it, though, it will use the new grammar, right?
m: Q|subset A where * > 0; my class C { has A $.a }; C.new(:a(7))|.AST.EVAL 08:30
camelia ===SORRY!===
Unknown compilation input 'qast'
ab5tract :(
So I’m not sure what is the point of testing with v6.* if the current semantics of it are not going to match the semantics we are going to ship 08:33
m: use v6.d; subset A where * > 0; my class C { has A $.a }; dd C.new(:a(7)) 09:00
camelia C.new(a => 7)
ab5tract m:  use v6.e.PREVIEW; subset A where * > 0; my class C { has A $.a }; dd C.new(:a(7)) 09:03
camelia Use of uninitialized value of type Any in numeric context
in any multi_declarator:sym<null> at /home/camelia/rakudo-m-inst-2/share/perl6/lib/Perl6/Grammar.moarvm line 1
===SORRY!=== Error while compiling <tmp>
Attribute definition of type A (i…
lizmat yes
ab5tract Does the code snippet fail with RAKUDO_RAKUST=1? 09:04
Probably it does, as the eval is barfing 09:05
11:37 [Tux] left 12:05 [Tux] joined 15:19 coleman left 15:21 coleman joined
librasteve_ rakudoweekly.blog/2025/09/29/2025-...f-control/ 17:54
ab5tract librasteve_++ 18:11
Geth rakudo/presize-slurps: eefa17d3e5 | ab5tract++ (committed using GitHub Web editor) | src/core.c/IO/Path.rakumod
Migrate to infix max

The infix form is quite a bit faster than the prefix one.
18:16
ab5tract lizmat 18:30
lizmat librasteve_++ 18:31
ab5tract lizmat: so it turns out that those v6.* snippets *also* fail under RAKUDO_RAKUAST=1 .. but if the the use v6.* statement is removed entirely, things work as planned
github.com/rakudo/rakudo/issues/59...3348463746
lizmat ab5tract: but that's because they're in 6.d, no? 18:33
so maybe it's because of the PseudoStash handling in 6.e being different? 18:35
ab5tract huh, so there have been semantic changes on the way to 6.e that are un-related to RakuAST and are also versioned
that makes a lot of sense actually
lizmat vrurg did a lot of work on 6.e PseudoStashes
ab5tract I did notice that while working on that last ticket. The new stuff is much easier to read. 18:38
Geth rakudo/main: 5147b67f7a | ab5tract++ | src/core.e/PseudoStash.rakumod
6.e - Fix overly permissive lookup into CALLER

The new PsuedoStash code was a joy to work with, even including a comment that easily led me to the solution: the modes can be combined.
This fixes R#5910 (#5910)
19:22
linkable6 R#5910 [open]: github.com/rakudo/rakudo/issues/5910 [6.e][RAKUDO_RAKUAST=1] `$CALLER::foo` allows access to caller's `my $foo` in 6.e
Geth ¦ rakudo: ab5tract self-assigned `::('Exception').gist` throws in v6.e.PREVIEW github.com/rakudo/rakudo/issues/5911 19:31
ab5tract That one appears to be finished :D 20:06
so it looks to be like the change in behavior in R#5915 is actually intentional 20:07
linkable6 R#5915 [open]: github.com/rakudo/rakudo/issues/5915 [6.e][RAKUDO_RAKUAST=1] `my class A { has $.a where * > 0 }` does not compile in 6.e
Geth rakudo/presize-slurps: cd08d14644 | ab5tract++ (committed using GitHub Web editor) | src/core.c/IO/Path.rakumod
Actually migrate to infix max

Last attempt was not quite what we needed.
21:23