Geth Blin/coke/cleanup: 77b48f322f | (Will Coleda)++ | 2 files
Cleanup around defaults/args

fix bug introduced in previous refactor
00:36
Blin/coke/cleanup: 3f6143ff37 | (Will Coleda)++ | 5 files
Move "havoc" check into a config
Blin/coke/cleanup: 2a6407d333 | (Will Coleda)++ | 3 files
Move skip-tests into skips file
00:57
Blin/coke/cleanup: b03f0480cb | (Will Coleda)++ | resources/skips.json
Don't test Web::Scraper
rakudo: ugexe++ created pull request #6530:
RakuAST: bind a flattened block argument like a call would
00:58
Blin/coke/cleanup: 8e8886abc2 | (Will Coleda)++ | 3 files
Move skip-tests into skips file
01:06
Blin/coke/cleanup: 35b17c1798 | (Will Coleda)++ | resources/skips.json
Don't test Web::Scraper
Blin/coke/cleanup: d6e0adefab | (Will Coleda)++ | README.md
Pull in native libs command

Cleanup sample blin commands
Remove reference to (very stale) docker file
01:12
ugexe vrurg_: can you try to look at github.com/vrurg/raku-Test-Async/pull/3 when you get a chance? 01:33
Geth rakudo/main: 755875ed52 | (Nick Logan)++ | 2 files
RakuAST: bind a flattened block argument like a call would

A sunk for statement, and a given statement, can inline a simple enough body, binding the value straight into the parameter's lowered local. Previously that bind decontainerized the value outright, while calling the block runs the binder, which wraps the value in a fresh read-only Scalar. An itemized value thus lost its container in the ... (12 more lines)
01:46
rakudo/main: edbdf5f8ec | (Nick Logan)++ | 4 files
RakuAST: inline the sigil checks of a flattened for or given parameter

Previously a sunk for statement or a given statement whose parameter has an '@', '%' or '&' sigil declined the flattened form, since only the real binder performed the nominal type check those sigils carry. The statement then invoked the block on every value.
... (15 more lines)
rakudo/main: dd6634169b | (Nick Logan)++ (committed using GitHub Web editor) | 4 files
Merge pull request #6530 from ugexe/ugexe/rakuast-flattened-param-bind

RakuAST: bind a flattened block argument like a call would
ugexe [Coke]: if you've got nothing else running tonight it would be useful for another rakuast blin run already :)
02:45 jdv joined, jdv left 04:22 [Coke] left, [Coke] joined 05:12 Geth left 05:13 Geth joined, lizmat left 08:08 lizmat_ left, lizmat joined
timo hm. can we get the actual lexical container object from the MY:: pseudostash? this doesn't seem to give me one: 10:09
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()
camelia key: $foo
99
key: $bar
1000000e0
timo i guess .raku skipped the container for me maybe 10:12
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:14
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:17
10:26 quotable6 left, huggable6 left, greppable6 left, nativecallable6 left, bloatable6 left, benchable6 left, bisectable6 left, shareable6 left, evalable6 left, linkable6 left, sourceable6 left, notable6 left, unicodable6 left, tellable6 left, committable6 left, releasable6 left, coverable6 left 10:30 sourceable6 joined, releasable6 joined, greppable6 joined, bloatable6 joined 10:31 bisectable6 joined, committable6 joined 10:32 huggable6 joined, nativecallable6 joined, notable6 joined, coverable6 joined, quotable6 joined, evalable6 joined, shareable6 joined 10:33 unicodable6 joined, linkable6 joined, tellable6 joined 10:35 benchable6 joined 12:13 djinni` left 12:18 djinni` joined
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
encoded the result of the find_method
[Coke] ugexe: missed that comment last night but will start one now.
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:44
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
Default to AST< override with _LEGACY
timo then we can maybe instead of `nqp::can($callee, "WRAPPERS")` use something that asks for no fallbacks 13:48
all in all, probably not a very hot code path. nevertheless ... 13:50
rakudo -e 'say "hi"' hits it 49 times 13:53
but not every time it results in many calls to find_method_fallback 13:57
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 13:59
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 ?
timo the thing I'm counting is an nqp::sin_n(99e0) that I put in front of the nqp::can :D 14:06
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:08
so in conclusion, possibly an optimization opportunity that's almost completely worthless :) 14:10
[Coke] c: f531cbe5fc say e*pi 14:13
committable6 [Coke], ¦f531cbe: «8.539734222673566␤»
timo but at least I learned something 14:15
Geth Blin/coke/cleanup: efd470d10e | (Will Coleda)++ | bin/blin.p6
Respect "skip" action
14:17
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:20
ok I'll leave it be :) 14:24
still looking for the correct way to leave out dispatch code running in the `moar timeline` output 14:25
ugexe when i looked at 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 14:49
[Coke] ugexe: first round pushed, I haven't looked at the contents. 15:01
ugexe [Coke]: looks like network issues are causing it to fail to fetch thing 15:16
the first 5 results all look like that 15:17
Geth rakudo: ugexe++ created pull request #6531:
Don't count handler calls to test an operator wrap
16:13
roast: ugexe++ created pull request #895:
Roll enough times for the weighted roll tests to be stable
17:11
roast: 10f52bb60a | (Nick Logan)++ (committed using GitHub Web editor) | 3 files
Make more statistical tests less likely to fail (#895)

48466a57d did this for the Mix roll tests. The same assertions are in bag.t, baghash.t and mixhash.t, still drawing only 100 values. Rolling 100 times from a 1:2 bag and requiring the "a" count plus 2 to stay under the "b" count fails at 49 against an expectation of 33, which is roughly 1 in 1200 per assertion. There are six of them across the three files, so a spectest run tripped one every couple hundred runs.
This applies the same 100000 values and the same scaled bounds to the remaining files.
17:13
linkable6 ROAST#895 [closed]: github.com/Raku/roast/pull/895 Roll enough times for the weighted roll tests to be stable
[Coke] [2026-08-09T13:29:44-04:00 ] ⏳ 1586 out of 2501 modules processed (63.41%) 17:30
ugexe: do those roast tests need to go to 6.c and 6.d? 17:31
70 failures so far, pushed 17:34
17:58 jdv joined 17:59 jdv left
ugexe they fix flakey tests, they aren't tied to any revisin 18:00
seems like the "spectest with nodelay & blocking" ci test doesnt set either nodelay or spesh blocking 18:01
[Coke] ugexe: yes: should we also fix the flakey tests on the branches? 18:56
[2026-08-09T14:28:49-04:00 ] ⏳ 1929 out of 2501 modules processed (77.12%)
and then the OOM hit
grabbed the last 40 "Testing..." lines, (only had 32 cores), will see if one of those hits an issue. 18:59
85 failures in that run
19:13 donaldh left
ugexe i assume yes, but i didn't even know there were other branches 20:54
anyone happen to remember what the other spec test flappers are? 21:08
21:21 donaldh joined
Geth rakudo: ugexe++ created pull request #6532:
RakuAST: metaop purity follows the wrapped operator in sink analysis
22:30
ugexe moved some fixes to the 6.c and 6.d errata branches 23:23
Geth rakudo: ugexe++ created pull request #6533:
RakuAST: give a flattened '@' parameter the Positional bind failover
23:28