Geth rakudo/main: 266e714f30 | (Nick Logan)++ | t/12-rakuast/xx-fixed-in-rakuast.rakutest
Keep operator wraps from leaking outside their test

The wrap tests for infix:<|> and postfix:<++> wrapped a setting operator with a handler that does not call the original, asserted with is-deeply, and only then removed the wrap through a separate EVAL. Everything that ran in between, including the compilation of the unwrap EVAL itself, executed with the operator broken for the ... (13 more lines)
00:16
rakudo/main: d2f6b7947d | (Nick Logan)++ (committed using GitHub Web editor) | t/12-rakuast/xx-fixed-in-rakuast.rakutest
Merge pull request #6260 from ugexe/ugexe/wrap-test-narrow-window

Keep operator wraps from leaking outside their test
[Coke] have managed to kill blin 3 times now before it actually started testing anything 00:37
Geth setup-raku/dependabot/npm_and_yarn/esbuild-0.28.1: 0e7fa42646 | dependabot[bot]++ (committed using GitHub Web editor) | 2 files
Bump esbuild from 0.28.0 to 0.28.1

Bumps [esbuild](github.com/evanw/esbuild) from 0.28.0 to 0.28.1.
  - [Release notes](github.com/evanw/esbuild/releases)
  - [Changelog](github.com/evanw/esbuild/blob/main...NGELOG.md)
  - [Commits](github.com/evanw/esbuild/compare/v.....v0.28.1)
... (8 more lines)
01:03
setup-raku: dependabot[bot]++ created pull request #56:
Bump esbuild from 0.28.0 to 0.28.1
rakudo: ugexe++ created pull request #6262:
RakuAST: capture bracketed groups as a whole
rakudo: ugexe++ created pull request #6263:
RakuAST: accept lexical regexes in the grammar sanity check
01:24
[Coke] it's been hanging try to pull build 2f9a672e30e807a2e6dff51b8a25cca76725aafe 01:35
linkable6 (2026-05-23) github.com/rakudo/rakudo/commit/2f9a672e30 [release] Bump VERSION to 2026.05
[Coke] c: 2f9a672e30e807a2e6dff51b8a25cca76725aafe 3.say
committable6 [Coke], ¦2f9a672: «3␤»
[Coke] m: d2f6b7947 2.say 01:36
camelia ===SORRY!=== Error while compiling <tmp>
Undeclared routine:
d2f6b7947 used at line 1
linkable6 (2026-06-12) github.com/rakudo/rakudo/commit/d2f6b7947d Merge pull request #6260 from ugexe/ugexe/wrap-test-narrow-window
[Coke] c: d2f6b7947 2.say
committable6 [Coke], ¦d2f6b79: «2␤»
[Coke] yah, keeps hanging on Attempting to fetch 2f9a672e30e807a2e6dff51b8a25cca76725aafe… 02:36
I foolishly did an apt-get update today 02:39
03:27 timo left
ugexe well the us government just banned the model i've been using the last week :/ 03:45
Geth rakudo: ugexe++ created pull request #6264:
RakuAST: release compiler services after composition
03:50
06:30 librasteve_ joined
Geth rakudo/main: 8c2682d231 | (Nick Logan)++ (committed using GitHub Web editor) | 4 files
RakuAST: release compiler services after composition

The compiler services handed to the metamodel on compose end up in the slurpy named arguments of any compose method along the way, and those live in the method's frame. A custom metaclass that creates a closure during compose and installs it as a method, the way OO::Monitors wraps every method with lock handling, puts that frame ... (11 more lines)
07:04
setup-raku: f6d278afea | dependabot[bot]++ (committed using GitHub Web editor) | 2 files
Bump esbuild from 0.28.0 to 0.28.1 (#56)

Bumps [esbuild](github.com/evanw/esbuild) from 0.28.0 to 0.28.1.
  - [Release notes](github.com/evanw/esbuild/releases)
  - [Changelog](github.com/evanw/esbuild/blob/main...NGELOG.md)
  - [Commits](github.com/evanw/esbuild/compare/v.....v0.28.1)
... (9 more lines)
08:07
12:26 timo joined
[Coke] bah. takes *minutes* to get to "attempting to fetch ..." - put in a dd statement there to capture the link it's retrieving... no output. 13:19
Do we have any way to make sure the "mothership" is responing? 13:20
Geth Blin/coke/cleanup: 8b9e9e556d | (Will Coleda)++ | 2 files
Fix Essential handling
13:35
Blin/coke/cleanup: ee89a67236 | (Will Coleda)++ | 2 files
also track fail.json
Blin: 1aa0628f3e | (Will Coleda)++ | lib/Blin/Tester/Zef.rakumod
This is the number of hours after which to force an update

0 == no hours, don't force.
13:50
ugexe What is the mothership? 17:38
Geth rakudo: ugexe++ created pull request #6265:
RakuAST: interpret pairs, hash composers, and contextualizers
18:17
rakudo: ugexe++ created pull request #6266:
RakuAST: don't adopt a setting builtin's WHO when a package shadows it
18:18
ugexe I can get most of the dependency chain of Cro::HTTP installed under RakuAST, but Cro::HTTP itself has bigger issues 18:19
notably spesh issues that are exposed with rakuast because it doesn't do lexical to local lowering 18:20
we could add lexical to local lowering to rakuast and potentially get around it, but it still feels bad that code only works because of optimizations 18:21
Notably moar needs to reset per invocation cloned lexicals ahead of each entry into the inlined body 18:23
ab5tract Yeah ideally we would fix that. In fact, theoretically we might find some interesting things from a blin run that disables opt and s 18:25
*spesh
ugexe i've hit a couple 18:26
ab5tract This is another one that needs some moarvm changes, right?
ugexe yeah 18:27
18:57 Pixi left 19:04 finanalyst joined 19:31 Pixi joined
timo i'm a little confused by that 20:18
the optimizer wouldn't lower lexicals to locals if they are referenced in an inner block
what does "per invocation cloned lexicals" mean exactly? 20:19
do blocks usually initialize their lexicals upon entry with a `setlex` instruction? does rakuast maybe skip those in some cases? 20:31
[Coke] mothership is the thing that serves out the pre-compiled rakus. 20:40
[6~[6~
oops
timo moths are cool 20:42
ugexe m: raku -e 'my $b="/tmp/b.moarvm";run($*EXECUTABLE,"--target=mbc","--output=$b","-e",q[my @a;{@a}],:!err);my @l=run("$*EXECUTABLE/../moar","--dump",$b,:out).out.slurp.lines;say "setlex=",+@l.grep(/<<setlex>>/)," getlex=",+@l.grep(/<<getlex>>/)' 21:34
camelia ===SORRY!=== Error while compiling <tmp>
Two terms in a row
at <tmp>:1
------> raku -e<HERE> 'my $b="/tmp/b.moarvm";run($*EXECUTABLE
expecting any of:
infix
infix stopper
postfix
statement end
ugexe m: my $b="/tmp/b.moarvm";run($*EXECUTABLE,"--target=mbc","--output=$b","-e",q[my @a;{@a}],:!err);my @l=run("$*EXECUTABLE/../moar","--dump",$b,:out).out.slurp.lines;say "setlex=",+@l.grep(/<<setlex>>/)," getlex=",+@l.grep(/<<getlex>>/) 21:35
camelia setlex=0 getlex=0
ugexe hmm im not sure that is accurate. locally its setlex=0 getlex=1
with the point being i don't think rakuast is skipping the setlex if that legacy example isn't doing it 21:36
21:52 finanalyst left
ugexe on legacy the non captred my @ gets lowered to a local so theres no contvar in the frame for the inliner to mishandle. rakuast doesnt lowe r it so the contvar stays put in an inlineable frame and the inliner reuses one clone across calls 22:03
timo do you have a speshlog or two for me? 22:13
lizmat m: sub MAIN; # TIL that "unit" is optional here 22:22
camelia ( no output )
lizmat sleep&
ugexe gist.github.com/ugexe/8bf9bb2f0742...7dd7c60bd0 I can put a MVM_SPESH_LOG up somewhere if that would be useful, but its 600k lines 23:54
(that link has MVM_SPESH_INLINE_LOG=1 output)