Geth rakudo/main: b8b8874c7a | (Nick Logan)++ | 2 files
RakuAST: apply the default parameter type to post-constraint sub-signatures

A destructuring sub-signature binds like the enclosing routine's parameter list, so an unfilled parameter should bind to Any, the same default an ordinary routine parameter gets. The grammar arranges this by passing $*ON-ROUTINE into the nested signature, which lets the signature action install the Any default. ... (10 more lines)
00:03
rakudo/main: 08237dcff5 | (Nick Logan)++ (committed using GitHub Web editor) | 2 files
Merge pull request #6267 from ugexe/ugexe/rakuast-subsignature-default-type

RakuAST: apply the default parameter type to post-constraint sub signatures
rakudo/main: 2c52423ad9 | (Nick Logan)++ | 2 files
RakuAST: accept lexical regexes in the grammar sanity check

A capturing <foo> assertion resolves to a lexically visible regex when there is one, and compiles to a call to it rather than to a method of the grammar; Assertion::Named registers and resolves the
  &foo lookup for exactly this purpose. The grammar sanity check only
consulted the composed methods, so a grammar using such an assertion ... (8 more lines)
rakudo/main: 978e54b1b6 | (Nick Logan)++ (committed using GitHub Web editor) | 2 files
Merge pull request #6263 from ugexe/ugexe/rakuast-grammar-lexical-assertions

RakuAST: accept lexical regexes in the grammar sanity check
rakudo/main: bf586a663e | (Nick Logan)++ | 2 files
RakuAST: emit the lexical self when a self term has no resolution

A role body is compiled at compose time, ahead of the compilation unit's check pass. A `self` term inside a regex in a role is reached through that early compilation, so it arrives at code generation without a resolution recorded by the check pass and dies with "This element has not been resolved". ... (6 more lines)
rakudo/main: d80e464e3a | (Nick Logan)++ (committed using GitHub Web editor) | 2 files
Merge pull request #6268 from ugexe/ugexe/rakuast-self-in-regex

RakuAST: emit the lexical self when a self term has no resolution
00:05
rakudo/main: 76927f5833 | (Nick Logan)++ | 3 files
RakuAST: align operator sink-warning purity with the legacy frontend

The "useless use in sink context" warning asked the operator node's own
  `is-pure`, which answers from a table that treats every operator outside
a small set as pure. So `temp %h;` as a statement was flagged useless even though it localizes its target and restores it when the scope leaves, and any user-defined prefix or infix without side-effect-free ... (11 more lines)
rakudo/main: f7a1853247 | (Nick Logan)++ (committed using GitHub Web editor) | 3 files
Merge pull request #6269 from ugexe/ugexe/rakuast-operator-sink-purity

RakuAST: align operator sink-warning purity with the legacy frontend
rakudo/main: 7a0cdb44ee | (Nick Logan)++ | 3 files
RakuAST: don't drop a declaration when collapsing a constant conditional

Previously the ternary (`?? !!`) and short-circuit (`&&`/`||` and their loose `and`/`or` forms) collapses replaced the whole expression with the branch the constant condition selected, but only checked that the dropped branch was droppable, not the condition they also removed. A condition like
  `(my @a := (3, 7))` declares and binds a variable, so folding it away lost
the binding and let the empty declared array decide the branch instead of the bound value. This makes both collapses require the condition to be droppable too, so a condition that declares a variable is left for runtime.
rakudo/main: 37fced81ad | (Nick Logan)++ (committed using GitHub Web editor) | 3 files
Merge pull request #6273 from ugexe/ugexe/rakuast-collapse-keeps-declaration

RakuAST: don't drop a declaration when collapsing a constant conditional
rakudo/main: 4 commits pushed by (Nick Logan)++ 00:08
rakudo/main: 3adba69e5d | (Nick Logan)++ | 2 files
Accept a Mu lhs and rhs in the test-assign metaops

The test-assign metaops (//=, ||=, &&=, and the loose and control forms) take their left and right sides through a sigilless \lhs and a $rhs, both of which default to an Any type constraint. The legacy frontend inlines these so it never binds the parameters, but the RakuAST frontend calls the helper, so a Mu on either side died with "expected Any but got Mu". ... (9 more lines)
00:09
rakudo/main: f38ab67b32 | (Nick Logan)++ (committed using GitHub Web editor) | 2 files
Merge pull request #6274 from ugexe/ugexe/test-assign-metaop-mu

RakuAST: Accept a Mu lhs and rhs in the test-assign metaops
rakudo/main: 14eaee6ddb | (Nick Logan)++ | 3 files
RakuAST: don't redeclare a special variable bound in a sub-signature

A block or routine declares an implicit $_, $/, and $! unless its signature already binds one. The check for an existing binding only looked at top-level parameters, so a special variable bound inside a destructuring sub-signature, such as the $_ in `-> (:value($_))`, went unnoticed. The implicit one was then declared alongside it, and the two declarations of the same lexical failed to ... (6 more lines)
00:13
rakudo/main: aa5e2499d0 | (Nick Logan)++ (committed using GitHub Web editor) | 3 files
Merge pull request #6277 from ugexe/ugexe/rakuast-subsignature-special-vars

RakuAST: don't redeclare a special variable bound in a sub signature
ugexe i wonder how far along in the ecosystem we actually are 00:50
[Coke] ===> Testing: ASTQuery:ver<0.0.7>:auth<zef:FCO> - that worked! 02:14
ugexe: are we at a point where I could try a RAKUAST run (with a normal build of raku) and get you some useful output? 02:15
I think I'd have to do a modified run with maybe legacy 2026.05 and AST HEAD? 02:16
ugexe couldnt hurt to try, although i see Blin has JSON::Fast as a dependency which still needs to be fixed to work on rakuast 02:45
08:59 finanalyst joined 09:15 finanalyst left 11:12 Geth left, Geth joined
Geth rakudo/main: 1c586eb252 | (Elizabeth Mattijsen)++ | src/core.c/Order.rakumod
Revert "Add infix:<cmp>(Iterable:D, Iterable:D)"

This reverts commit ee30c34fff8aec4b60aaf1242bc0402ebf69fa63.
It broke Crane and Data::Reshapers. Not sure why yet, but since it was a minor its that was being addressed in:
   github.com/rakudo/rakudo/issues/6075
That issue has now been re-opened.
11:12
rakudo/main: 5eee34b568 | (Elizabeth Mattijsen)++ | 4 files
Make sure has %.a is Set works properly

Commit 0918c0552ed made sure that the empty set wouldn't get clobbered when using the 'my %.s is Set' syntax. Unfortunately there was one other case that wasn't properly covered, which manifested itself in a blin run and the Games::Wordle distro.
... (21 more lines)
15:15
[Tux] Rakudo v2026.05-137-g5eee34b56 (v6.d) on MoarVM 2026.05.1-11-gc68094f8b
csv-ip5xs0.264 - 0.268
csv-ip5xs-201.065 - 1.082
csv-parser1.042 - 1.053
csv-test-xs-200.115 - 0.117
test1.824 - 1.839
test-t0.461 - 0.486
test-t --race0.291 - 0.300
test-t-205.837 - 6.463
test-t-20 --race1.375 - 1.391
15:23
csv-test-xs 0.014 - 0.015
tux.nl/Talks/CSV6/speed4-20.html / tux.nl/Talks/CSV6/speed4.html tux.nl/Talks/CSV6/speed.log
[Coke] ugexe: blin itself doesn't need to run with RAKUAST on 15:52
but we can set it before each test run as needed.
ugexe another thing is we dont really need the bisect part of it 16:43
if that could be disabled it'd be faster and cheaper 16:44
timo and using a rakudo that's compiled by the rakuast backend, of course 17:35
not just turning it on for every test
[Coke] timo: I thought ugexe specifically said in a previous conversation that wasn't necessary 17:50
timo oh ok 17:51
[Coke] that's not something that works as is with the whateverable bots.
timo do they create builds for branches as well or just for main?
[Coke] I think every commit on main. you can ask committable to try some random branch commit: 17:54
c: abcd: say 3
committable6 [Coke], ¦abcd:: Ā«Cannot find this revision (did you mean ā€œab09c6dā€?)Ā»
[Coke] c: ab09c6d: 3.say 17:55
committable6 [Coke], ¦ab09c6d:: Ā«Cannot find this revision (did you mean ā€œab09c6dā€?)Ā»
[Coke] c: ab09c6d 3.say
committable6 [Coke], ¦ab09c6d: «3␤»
timo because if we can have commits on branches, we can just have a branch that removes the need to set the env var during compilation to get that, or some other change like that 17:59
Geth rakudo/coke/test: a3e8ad2629 | (Will Coleda)++ | README.md
WIP
18:01
[Coke] c: a3e8ad2629 2.say 18:05
committable6 [Coke], ¦a3e8ad2: Ā«Cannot find this revision (did you mean ā€œa99da6cā€?)Ā»
timo c: a3e8ad2629 2.say 18:20
committable6 timo, ¦a3e8ad2: «2␤»
timo we just had to wait a little bit longer :)
[Coke] Cool. if someone can make a branch off main with that one change, I can use that, and then the blin run is pretty easy to setup, I think. 18:27
timo we want one for the very latest main, right? not for the previous release? 19:39
there are tests and such that rely on RAKUDO_RAKUAST being set in the environment, but we're testing the ecosystem modules, not rakudo's own tests, so it shouldn't be a problem if the effect of RAKUDO_RAKUAST is there but the env var itself isn't 19:51
Geth rakudo/5eee34-but-build-rakudo-with-rakuast: 0a0e22d509 | (Timo Paulssen)++ | src/main.nqp
Reverse meaning of RAKUDO_RAKUAST, introduce RAKUDO_NO_RAKUAST

just so we can build a whateverable-built rakudo for Blin to use where it's easier to have an entirely different rakudo build that turns rakuast on than it is to get a rakudo into Blin sideways ...
19:54
timo [Coke]: very small diff, i hope it's actually enough 19:55
ugexe fwiw switching between rakudo_rakuast one/off can lead to various precomp issues 20:02
github.com/rakudo/rakudo/pull/6261 fixes a lot of that, but i still run into it
lizmat yeah, I regularly need to nuke my install
ugexe theres also issues like rakudoast not adding some piece of info to code that the legacy frontend needs to inline correctly which ends up with a rakudo_rakuast=1 built rakudo sometimes not working with legacy frontend runtime code 20:03
20:10 finanalyst joined
timo I do believe that blin already keeps everything separate by rakudo build, so it shouldn't lead to mixing legacy and rakuast by accident, at the very least when it comes to precompse 20:25
20:47 rakkable left, rakkable joined
[Coke] I believe that's correct. Won't hurt to throw blin and it and see if anything explodes (and I'll do a small subset first) 21:04
in an airport right now, planned regular second blin run this weekend, will squeeze it in some time before month end
timo++ for the setup, that's a great help.
timo kids, don't do this at home ;) 21:06
[Coke] airports are fine when you have a friend who has access to the lounge. 21:07
timo oh, i meant the hack i built to get a rakuast rakudo into whateverable, nothing related to airports 21:09
[Coke] ah, I thought you were riffing on the fact that I was not at home. :) 21:13
timo oh! 21:15
now that could have been a great joke right there
22:02 sjn left 22:24 sjn joined
ugexe as long as they don't share ~/.raku at all 23:07
timo it feels like blin would have a lot of difficulty if it did 23:09
ugexe i guess i should have said doesn't interact with it indirectly in some way. i find i often have to delete it even though i never actually install anything into that path
timo mhm 23:10
23:12 finanalyst left