[00:36] <Geth> ¦ Blin/coke/cleanup: 77b48f322f | (Will Coleda)++ | 2 files

[00:36] <Geth> ¦ Blin/coke/cleanup: Cleanup around defaults/args

[00:36] <Geth> ¦ Blin/coke/cleanup: 

[00:36] <Geth> ¦ Blin/coke/cleanup: fix bug introduced in previous refactor

[00:36] <Geth> ¦ Blin/coke/cleanup: review: https://github.com/Raku/Blin/commit/77b48f322f

[00:36] <Geth> ¦ Blin/coke/cleanup: 3f6143ff37 | (Will Coleda)++ | 5 files

[00:36] <Geth> ¦ Blin/coke/cleanup: Move "havoc" check into a config

[00:36] <Geth> ¦ Blin/coke/cleanup: review: https://github.com/Raku/Blin/commit/3f6143ff37

[00:57] <Geth> ¦ Blin/coke/cleanup: 2a6407d333 | (Will Coleda)++ | 3 files

[00:57] <Geth> ¦ Blin/coke/cleanup: Move skip-tests into skips file

[00:57] <Geth> ¦ Blin/coke/cleanup: review: https://github.com/Raku/Blin/commit/2a6407d333

[00:57] <Geth> ¦ Blin/coke/cleanup: b03f0480cb | (Will Coleda)++ | resources/skips.json

[00:57] <Geth> ¦ Blin/coke/cleanup: Don't test Web::Scraper

[00:57] <Geth> ¦ Blin/coke/cleanup: review: https://github.com/Raku/Blin/commit/b03f0480cb

[00:58] <Geth> ¦ rakudo: ugexe++ created pull request #6530: RakuAST: bind a flattened block argument like a call would

[00:58] <Geth> ¦ rakudo: review: https://github.com/rakudo/rakudo/pull/6530

[01:06] <Geth> ¦ Blin/coke/cleanup: 8e8886abc2 | (Will Coleda)++ | 3 files

[01:06] <Geth> ¦ Blin/coke/cleanup: Move skip-tests into skips file

[01:06] <Geth> ¦ Blin/coke/cleanup: review: https://github.com/Raku/Blin/commit/8e8886abc2

[01:06] <Geth> ¦ Blin/coke/cleanup: 35b17c1798 | (Will Coleda)++ | resources/skips.json

[01:06] <Geth> ¦ Blin/coke/cleanup: Don't test Web::Scraper

[01:06] <Geth> ¦ Blin/coke/cleanup: review: https://github.com/Raku/Blin/commit/35b17c1798

[01:12] <Geth> ¦ Blin/coke/cleanup: d6e0adefab | (Will Coleda)++ | README.md

[01:12] <Geth> ¦ Blin/coke/cleanup: Pull in native libs command

[01:12] <Geth> ¦ Blin/coke/cleanup: 

[01:12] <Geth> ¦ Blin/coke/cleanup: Cleanup sample blin commands

[01:12] <Geth> ¦ Blin/coke/cleanup: 

[01:12] <Geth> ¦ Blin/coke/cleanup: Remove reference to (very stale) docker file

[01:12] <Geth> ¦ Blin/coke/cleanup: review: https://github.com/Raku/Blin/commit/d6e0adefab

[01:33] <ugexe> vrurg_: can you try to look at https://github.com/vrurg/raku-Test-Async/pull/3 when you get a chance?

[01:46] <Geth> ¦ rakudo/main: 755875ed52 | (Nick Logan)++ | 2 files

[01:46] <Geth> ¦ rakudo/main: RakuAST: bind a flattened block argument like a call would

[01:46] <Geth> ¦ rakudo/main: 

[01:46] <Geth> ¦ rakudo/main: A sunk for statement, and a given statement, can inline a simple

[01:46] <Geth> ¦ rakudo/main: enough body, binding the value straight into the parameter's lowered

[01:46] <Geth> ¦ rakudo/main: local. Previously that bind decontainerized the value outright, while

[01:46] <Geth> ¦ rakudo/main: calling the block runs the binder, which wraps the value in a fresh

[01:46] <Geth> ¦ rakudo/main: read-only Scalar. An itemized value thus lost its container in the

[01:47] <Geth> ¦ rakudo/main: <…commit message has 12 more lines…>

[01:47] <Geth> ¦ rakudo/main: review: https://github.com/rakudo/rakudo/commit/755875ed52

[01:47] <Geth> ¦ rakudo/main: edbdf5f8ec | (Nick Logan)++ | 4 files

[01:47] <Geth> ¦ rakudo/main: RakuAST: inline the sigil checks of a flattened for or given parameter

[01:47] <Geth> ¦ rakudo/main: 

[01:47] <Geth> ¦ rakudo/main: Previously a sunk for statement or a given statement whose parameter

[01:47] <Geth> ¦ rakudo/main: has an '@', '%' or '&' sigil declined the flattened form, since only

[01:47] <Geth> ¦ rakudo/main: the real binder performed the nominal type check those sigils carry.

[01:47] <Geth> ¦ rakudo/main: The statement then invoked the block on every value.

[01:47] <Geth> ¦ rakudo/main: 

[01:47] <Geth> ¦ rakudo/main: <…commit message has 15 more lines…>

[01:47] <Geth> ¦ rakudo/main: review: https://github.com/rakudo/rakudo/commit/edbdf5f8ec

[01:47] <Geth> ¦ rakudo/main: dd6634169b | (Nick Logan)++ (committed using GitHub Web editor) | 4 files

[01:47] <Geth> ¦ rakudo/main: Merge pull request #6530 from ugexe/ugexe/rakuast-flattened-param-bind

[01:47] <Geth> ¦ rakudo/main: 

[01:47] <Geth> ¦ rakudo/main: RakuAST: bind a flattened block argument like a call would

[01:47] <Geth> ¦ rakudo/main: review: https://github.com/rakudo/rakudo/commit/dd6634169b

[01:47] <ugexe> [Coke]: if you've got nothing else running tonight it would be useful for another rakuast blin run already :)

[02:45] *** jdv joined
[02:45] *** jdv left
[04:22] *** [Coke] left
[04:22] *** [Coke] joined
[05:12] *** Geth left
[05:13] *** Geth joined
[05:13] *** lizmat left
[08:08] *** lizmat_ left
[08:08] *** lizmat joined
[10:09] <timo> hm. can we get the actual lexical container object from the MY:: pseudostash? this doesn't seem to give me one:

[10:09] <timo> m: sub testsub() { my int $foo = 99; my num $bar = 10e5; for MY:: { next unless $_.key ~~ /foo|bar/; say "key: $_.key()"; say $_.value().VAR().raku(); } }; testsub()

[10:09] <camelia> rakudo-moar dd6634169: OUTPUT: «key: $foo␤99␤key: $bar␤1000000e0␤»

[10:12] <timo> i guess .raku skipped the container for me maybe

[10:14] <timo> ah, but from iterating over MY:: I get "Int" and "Num" as the result of $_.value().VAR().^name or $_.value().^name and other variants i've tried

[10:17] <timo> I guess if we wanted this to work properly, we would have to make sure to create a lexicalref for any native typed lexicals in a callframe

[10:26] *** quotable6 left
[10:26] *** huggable6 left
[10:26] *** greppable6 left
[10:26] *** nativecallable6 left
[10:26] *** bloatable6 left
[10:26] *** benchable6 left
[10:26] *** bisectable6 left
[10:26] *** shareable6 left
[10:26] *** evalable6 left
[10:26] *** linkable6 left
[10:26] *** sourceable6 left
[10:26] *** notable6 left
[10:26] *** unicodable6 left
[10:26] *** tellable6 left
[10:26] *** committable6 left
[10:26] *** releasable6 left
[10:26] *** coverable6 left
[10:30] *** sourceable6 joined
[10:30] *** releasable6 joined
[10:30] *** greppable6 joined
[10:30] *** bloatable6 joined
[10:31] *** bisectable6 joined
[10:31] *** committable6 joined
[10:32] *** huggable6 joined
[10:32] *** nativecallable6 joined
[10:32] *** notable6 joined
[10:32] *** coverable6 joined
[10:32] *** quotable6 joined
[10:32] *** evalable6 joined
[10:32] *** shareable6 joined
[10:33] *** unicodable6 joined
[10:33] *** linkable6 joined
[10:33] *** tellable6 joined
[10:35] *** benchable6 joined
[12:13] *** djinni` left
[12:18] *** djinni` joined
[13:43] <timo> is there a reason why we can't determine and store whether any of a class's mro entries has any fallbacks at compose time? presumably, as it currently always goes through all mro entries when it runs ClassHOW's find_method, we can probably add a new fallback to an existing class and have derived classes find it, as long as the dispatcher at the call site hasn't run yet, since then it'll have

[13:43] <timo> encoded the result of the find_method

[13:43] <[Coke]> ugexe: missed that comment last night but will start one now.

[13:44] <timo> I stumbled over seven or so consecutive calls to find_method_fallback in a nativecall test, when it's looking for WRAPPED, which the raku-call dispatcher does whenever it encounters a Routine object

[13:45] <timo> on the other hand, do we really need WRAPPERS to be suppliable via a FALLBACK method?

[13:45] <Geth> ¦ rakudo/dd6634169-but-with-rakuast: f531cbe5fc | (Will Coleda)++ | src/main.nqp

[13:45] <Geth> ¦ rakudo/dd6634169-but-with-rakuast: Default to AST< override with _LEGACY

[13:45] <Geth> ¦ rakudo/dd6634169-but-with-rakuast: review: https://github.com/rakudo/rakudo/commit/f531cbe5fc

[13:48] <timo> then we can maybe instead of `nqp::can($callee, "WRAPPERS")` use something that asks for no fallbacks

[13:50] <timo> all in all, probably not a very hot code path. nevertheless ...

[13:53] <timo> rakudo -e 'say "hi"' hits it 49 times

[13:57] <timo> but not every time it results in many calls to find_method_fallback

[13:59] <timo> presumably, the nqp::can, since it's going through a dispatcher itself, will have a bit of caching for types that have been seen before

[14:00] <timo> didn't check what exactly it guards on

[14:00] <lizmat> if it is properly garded, wouldn't the number of calls be a lot less ?

[14:06] <timo> the thing I'm counting is an nqp::sin_n(99e0) that I put in front of the nqp::can :D

[14:08] <timo> it's guarding on the type, which starts out with just `Sub+{is-pure} mixin` and then gets `Sub`. i guess the trick is that with nativecall we get many Sub classes with different mixins

[14:10] <timo> so in conclusion, possibly an optimization opportunity that's almost completely worthless :)

[14:13] <[Coke]> c: f531cbe5fc say e*pi

[14:13] <committable6> [Coke], ¦f531cbe: «8.539734222673566␤»

[14:15] <timo> but at least I learned something

[14:17] <Geth> ¦ Blin/coke/cleanup: efd470d10e | (Will Coleda)++ | bin/blin.p6

[14:17] <Geth> ¦ Blin/coke/cleanup: Respect "skip" action

[14:17] <Geth> ¦ Blin/coke/cleanup: review: https://github.com/Raku/Blin/commit/efd470d10e

[14:20] <timo> oh, was I actually looking at the post-optimization version when I said the find_method_fallback calls were missing? maybe I was

[14:24] <timo> ok I'll leave it be :)

[14:25] <timo> still looking for the correct way to leave out dispatch code running in the `moar timeline` output

[14:49] <ugexe> when i looked at https://github.com/rakudo/rakudo/issues/5605  i considered something like $x.VAR.of(...) (i.e. adding `of` to the `LexRef` classes) but that would require a moarvm op (nativerefprimspec or some such) for reading body.u.lex.type

[15:01] <[Coke]> ugexe: first round pushed, I haven't looked at the contents.

[15:16] <ugexe> [Coke]: looks like network issues are causing it to fail to fetch thing

[15:17] <ugexe> the first 5 results all look like that

[16:13] <Geth> ¦ rakudo: ugexe++ created pull request #6531: Don't count handler calls to test an operator wrap

[16:13] <Geth> ¦ rakudo: review: https://github.com/rakudo/rakudo/pull/6531

[17:11] <Geth> ¦ roast: ugexe++ created pull request #895: Roll enough times for the weighted roll tests to be stable

[17:11] <Geth> ¦ roast: review: https://github.com/Raku/roast/pull/895

[17:13] <Geth> ¦ roast: 10f52bb60a | (Nick Logan)++ (committed using GitHub Web editor) | 3 files

[17:13] <Geth> ¦ roast: Make more statistical tests less likely to fail (#895)

[17:13] <Geth> ¦ roast: 

[17:13] <Geth> ¦ roast: 48466a57d did this for the Mix roll tests. The same assertions are in

[17:13] <Geth> ¦ roast: bag.t, baghash.t and mixhash.t, still drawing only 100 values. Rolling

[17:13] <Geth> ¦ roast: 100 times from a 1:2 bag and requiring the "a" count plus 2 to stay

[17:13] <Geth> ¦ roast: under the "b" count fails at 49 against an expectation of 33, which is

[17:13] <Geth> ¦ roast: roughly 1 in 1200 per assertion. There are six of them across the three

[17:13] <linkable6> ROAST#895 [closed]: https://github.com/Raku/roast/pull/895 Roll enough times for the weighted roll tests to be stable

[17:13] <Geth> ¦ roast: files, so a spectest run tripped one every couple hundred runs.

[17:13] <Geth> ¦ roast: 

[17:13] <Geth> ¦ roast: This applies the same 100000 values and the same scaled bounds to the

[17:13] <Geth> ¦ roast: remaining files.

[17:13] <Geth> ¦ roast: review: https://github.com/Raku/roast/commit/10f52bb60a

[17:30] <[Coke]> [2026-08-09T13:29:44-04:00 ] ⏳ 1586 out of 2501 modules processed (63.41%)

[17:31] <[Coke]> ugexe: do those roast tests need to go to 6.c and 6.d?

[17:34] <[Coke]> 70 failures so far, pushed

[17:58] *** jdv joined
[17:59] *** jdv left
[18:00] <ugexe> they fix flakey tests, they aren't tied to any revisin

[18:01] <ugexe> seems like the "spectest with nodelay & blocking" ci test doesnt set either nodelay or spesh blocking

[18:56] <[Coke]> ugexe: yes: should we also fix the flakey tests on the branches?

[18:56] <[Coke]> [2026-08-09T14:28:49-04:00 ] ⏳ 1929 out of 2501 modules processed (77.12%)

[18:56] <[Coke]> and then the OOM hit

[18:59] <[Coke]> grabbed the last 40 "Testing..." lines, (only had 32 cores), will see if one of those hits an issue.

[18:59] <[Coke]> 85 failures in that run

[19:13] *** donaldh left
[20:54] <ugexe> i assume yes, but i didn't even know there were other branches

[21:08] <ugexe> anyone happen to remember what the other spec test flappers are?

[21:21] *** donaldh joined
[22:30] <Geth> ¦ rakudo: ugexe++ created pull request #6532: RakuAST: metaop purity follows the wrapped operator in sink analysis

[22:30] <Geth> ¦ rakudo: review: https://github.com/rakudo/rakudo/pull/6532

[23:23] <ugexe> moved some fixes to the 6.c and 6.d errata branches

[23:28] <Geth> ¦ rakudo: ugexe++ created pull request #6533: RakuAST: give a flattened '@' parameter the Positional bind failover

[23:28] <Geth> ¦ rakudo: review: https://github.com/rakudo/rakudo/pull/6533

