[Coke] it's better than "terminal.app"? 00:26
japhb: it's muscle memory at this point, 00:27
Geth rakudo: ugexe++ created pull request #6553:
RakuAST: compile a native array subscript to a raw position op
00:34
ugexe $ ./install/bin/raku -e 'my int @a; my int $i = 0; my num $t = now.Num; while $i < 50_000_000 { @a[0] = $i; $i = $i + 1 }; say now.Num - $t'
3.3392715454101562
$ RAKUDO_RAKUAST=1 ./install/bin/raku -e 'my int @a; my int $i = 0; my num $t = now.Num; while $i < 50_000_000 { @a[0] = $i; $i = $i + 1 }; say now.Num - $t'
0.7493548393249512
with the above PR
hopefully it will survive the next blin run 00:39
Geth rakudo/main: b241160147 | (Nick Logan)++ (committed using GitHub Web editor) | 4 files
RakuAST: report static types for attribute reads and self (#6551)

Previously an attribute read and the self term both reported Mu as their static type, so the optimize pass could not decide anything over them. Arithmetic on a native attribute in a method body stayed on the full operator call path. The same arithmetic on a native lexical leaves that path at compile time. This reports the ... (5 more lines)
01:35
rakudo/main: 7b628279d6 | (Nick Logan)++ (committed using GitHub Web editor) | 4 files
RakuAST: optimize the compiled regex QAST at code generation (#6550)

Previously the compiled regex QAST went to the backend untouched: the only call into QRegex::Optimizer sits in the legacy optimizer, which this frontend replaced wholesale, so every regex kept its scan loop in front of an anchor to the start of the string and kept its nested concats. ... (19 more lines)
rakudo/main: e414916c54 | (Nick Logan)++ (committed using GitHub Web editor) | 5 files
RakuAST: elide unused implicits from methods and generated accessors (#6549)

Previously every method bound &?ROUTINE to its own code object on every call. The implicit declaration list is produced before the body parse can report whether anything uses it, so the binding could not be demand driven there. The lowering pass sees the whole body, so the emission decision moves there instead. An unused &?ROUTINE ... (15 more lines)
rakudo/main: ffc46a32eb | (Nick Logan)++ (committed using GitHub Web editor) | 3 files
RakuAST: compile resolved operator calls as static lookups (#6548)

Previously only a named sub call and a chaining comparison compiled their callee lookup as a static one, while a resolved prefix, infix, or postfix operator call looked up its callee lexical by name again on every execution. This marks operator calls the same way, gated on the same check that the resolution is bound once, so the VM resolves the callee a single time. A loop spending its time in operator calls runs about a third faster, matching the legacy frontend, whose optimizer makes every resolved call a static one.
01:37
01:50 coleman left, coleman joined 02:29 nine left, camelia left 02:30 nine joined 02:31 camelia joined
Geth rakudo: ugexe++ created pull request #6554:
RakuAST: lower native attribute steps to raw ops
03:02
rakudo/main: 4 commits pushed by (Nick Logan)++ 03:21
rakudo: ugexe++ created pull request #6555:
RakuAST: lower a for loop over a literal integer sequence
03:58
roast: ugexe++ created pull request #897:
Wait for the Channel Supply to drain before checking what it saw
04:10
roast: ugexe++ created pull request #898:
Make the EADDRINUSE quit test deterministic
04:26
japhb [Coke]: Yeah, at the moment Ghostty is the best terminal overall on both MacOS and Linux. I think they were planning a Windows port, but I don't know if that's happened yet. 04:27
(Not saying Ghostty is perfect, just better than most of the alternatives most of the time. A few terminals have one or two things they do really well, but I feel like the Ghostty *baseline* is quite good. Plus, for my needs, Terminal Inspector is just really damned useful.) 04:29
Geth rakudo/main: 4b8ddb43f6 | (Nick Logan)++ (committed using GitHub Web editor) | 4 files
RakuAST: compile a native array subscript to a raw position op (#6553)

Previously a subscript of a native array called the postcircumfix routine, which dispatched through its candidates and the array's AT-POS or ASSIGN-POS on every access. A plain native int, num, or str array declaration owns the stock native container, so a subscript by an int literal or a native int lexical compiles to the ... (16 more lines)
04:33
rakudo/main: f347751b2d | (Nick Logan)++ (committed using GitHub Web editor) | 3 files
RakuAST: lower native attribute steps to raw ops (#6554)

Previously an increment, decrement, or compound assignment on a native int or num attribute called the operator routine or the metaop on every access, while the same forms on a native lexical lowered to raw step ops. An attribute read reports its native type, so this accepts an attribute as the step target and as the compound ... (7 more lines)
04:34
07:30 ShimmerFairy left, ShimmerFairy joined 08:17 lizmat left 11:13 finanalyst left 12:13 ShimmerFairy left 12:14 ShimmerFairy joined 13:14 camelia left 13:15 nine left 13:50 nine joined 14:02 camelia joined
[Coke] fires up ghostty (loves the demo video on the main page) 14:23
.seen japhb 14:28
tellable6 [Coke], gist.github.com/f7ebb6e3ca1e23ea62...5aba2d2d85
[Coke] will try using ghostty for a bit. 14:30
... ok, once I got the "ssh to a box without ghostty" working... my click-on-links bug is gone. 14:34
Geth rakudo: ugexe++ created pull request #6556:
RakuAST: bind a <-> block's native parameter as a reference
15:13
17:37 finanalyst joined
Geth nqp/coke/test-moarvm-fix: e4a03e4c37 | (Will Coleda)++ | tools/templates/MOAR_REVISION
test moarvm fix
18:32
rakudo/coke/test-moarvm-fix: 86dc6eacde | (Will Coleda)++ | tools/templates/NQP_REVISION
test moarvm fix
18:34
rakudo/coke/test-moarvm-fix: 19a125e7e9 | (Will Coleda)++ | src/main.nqp
Change default to AST
timo ugexe: did you write the fix for repossession yourself? 18:51
[Coke] I specifically did not know the answer to that question, which is why I announced what I was doing here. 19:31
kicking off a AST blin run to see what that changes. 19:32
timo oh, there's the message, ok it was you that pulled it over 19:33
[Coke] yah, mentioned in #moarvm sorry. 19:34
Happy to delete the 3 branches once the blin run is done.
timo I could have seen it myself, don't worry about it
[Coke] Might be nice to have a way to do a blin run with a commit from a completely different repo. 19:35
every time I run blin, I see some module name I haven't seen before, like Acme::Insult::Lala
timo blin uses whateverable's builds, right? so if you want that, we'd have to add more repos to what whateverable looks at, and come up with something to disambiguate (you can ask for named branches too, or did I misremember?) 19:36
[Coke] I think anything that resolves to a commit id works. 19:37
as we discovered, it seems to build every commit. (And understands "HEAD") 19:38
to test a tuple, seems the easiest thing so far is "get all the changes into branches on the 3 main repos, make each one depend on the right one" 19:39
Easy enough if an uncommon task.
Geth roast: ugexe++ created pull request #899:
Run a silent child in the RT #115390 loops
21:07
[Coke] m: say [+] 1..Inf 21:12
camelia (timeout) 21:13
[Coke] rakupp says 50005000
21:14 lizmat joined
lizmat . 21:15
21:31 lizmat left 21:55 finanalyst left