| 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 | |