[00:26] <[Coke]> it's better than "terminal.app"?

[00:27] <[Coke]> japhb: it's muscle memory at this point,

[00:34] <Geth> ¦ rakudo: ugexe++ created pull request #6553: RakuAST: compile a native array subscript to a raw position op

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

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

[00:34] <ugexe> 3.3392715454101562

[00:34] <ugexe> $ 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'

[00:34] <ugexe> 0.7493548393249512

[00:34] <ugexe> with the above PR

[00:39] <ugexe> hopefully it will survive the next blin run

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

[01:35] <Geth> ¦ rakudo/main: RakuAST: report static types for attribute reads and self (#6551)

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

[01:35] <Geth> ¦ rakudo/main: Previously an attribute read and the self term both reported Mu as

[01:35] <Geth> ¦ rakudo/main: their static type, so the optimize pass could not decide anything

[01:35] <Geth> ¦ rakudo/main: over them. Arithmetic on a native attribute in a method body stayed

[01:35] <Geth> ¦ rakudo/main: on the full operator call path. The same arithmetic on a native

[01:35] <Geth> ¦ rakudo/main: lexical leaves that path at compile time. This reports the

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

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

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

[01:35] <Geth> ¦ rakudo/main: RakuAST: optimize the compiled regex QAST at code generation (#6550)

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

[01:35] <Geth> ¦ rakudo/main: Previously the compiled regex QAST went to the backend untouched: the

[01:35] <Geth> ¦ rakudo/main: only call into QRegex::Optimizer sits in the legacy optimizer, which

[01:35] <Geth> ¦ rakudo/main: this frontend replaced wholesale, so every regex kept its scan loop

[01:35] <Geth> ¦ rakudo/main: in front of an anchor to the start of the string and kept its nested

[01:35] <Geth> ¦ rakudo/main: concats.

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

[01:36] <Geth> ¦ rakudo/main: review: https://github.com/rakudo/rakudo/commit/7b628279d6

[01:36] <Geth> ¦ rakudo/main: e414916c54 | (Nick Logan)++ (committed using GitHub Web editor) | 5 files

[01:36] <Geth> ¦ rakudo/main: RakuAST: elide unused implicits from methods and generated accessors (#6549)

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

[01:36] <Geth> ¦ rakudo/main: Previously every method bound &?ROUTINE to its own code object on

[01:36] <Geth> ¦ rakudo/main: every call. The implicit declaration list is produced before the

[01:36] <Geth> ¦ rakudo/main: body parse can report whether anything uses it, so the binding could

[01:36] <Geth> ¦ rakudo/main: not be demand driven there. The lowering pass sees the whole body,

[01:36] <Geth> ¦ rakudo/main: so the emission decision moves there instead. An unused &?ROUTINE

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

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

[01:37] <Geth> ¦ rakudo/main: ffc46a32eb | (Nick Logan)++ (committed using GitHub Web editor) | 3 files

[01:37] <Geth> ¦ rakudo/main: RakuAST: compile resolved operator calls as static lookups (#6548)

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

[01:37] <Geth> ¦ rakudo/main: Previously only a named sub call and a chaining comparison compiled

[01:37] <Geth> ¦ rakudo/main: their callee lookup as a static one, while a resolved prefix, infix,

[01:37] <Geth> ¦ rakudo/main: or postfix operator call looked up its callee lexical by name again

[01:37] <Geth> ¦ rakudo/main: on every execution. This marks operator calls the same way, gated on

[01:37] <Geth> ¦ rakudo/main: the same check that the resolution is bound once, so the VM resolves

[01:37] <Geth> ¦ rakudo/main: the callee a single time. A loop spending its time in operator calls

[01:37] <Geth> ¦ rakudo/main: runs about a third faster, matching the legacy frontend, whose

[01:37] <Geth> ¦ rakudo/main: optimizer makes every resolved call a static one.

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

[01:50] *** coleman left
[01:50] *** coleman joined
[02:29] *** nine left
[02:29] *** camelia left
[02:30] *** nine joined
[02:31] *** camelia joined
[03:02] <Geth> ¦ rakudo: ugexe++ created pull request #6554: RakuAST: lower native attribute steps to raw ops

[03:02] <Geth> ¦ rakudo: review: https://github.com/rakudo/rakudo/pull/6554

[03:21] <Geth> ¦ rakudo/main: 4 commits pushed by (Nick Logan)++

[03:21] <Geth> ¦ rakudo/main: 7169a07b2c | RakuAST: form a setting operator's meta-op at compile time

[03:21] <Geth> ¦ rakudo/main: 2875e15f94 | RakuAST: compile a standalone negated comparison as a prefix ! call

[03:21] <Geth> ¦ rakudo/main: 788140cf95 | RakuAST: treat a meta infix as the chain link it is

[03:21] <Geth> ¦ rakudo/main: f00db3d62d | Merge pull request #6552 from ugexe/ugexe/rakuast-metaop-hoist

[03:21] <Geth> ¦ rakudo/main: review: https://github.com/rakudo/rakudo/compare/ffc46a32eb2a...f00db3d62d4b

[03:58] <Geth> ¦ rakudo: ugexe++ created pull request #6555: RakuAST: lower a for loop over a literal integer sequence

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

[04:10] <Geth> ¦ roast: ugexe++ created pull request #897: Wait for the Channel Supply to drain before checking what it saw

[04:10] <Geth> ¦ roast: review: https://github.com/Raku/roast/pull/897

[04:26] <Geth> ¦ roast: ugexe++ created pull request #898: Make the EADDRINUSE quit test deterministic

[04:26] <Geth> ¦ roast: review: https://github.com/Raku/roast/pull/898

[04:27] <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:29] <japhb> (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:33] <Geth> ¦ rakudo/main: 4b8ddb43f6 | (Nick Logan)++ (committed using GitHub Web editor) | 4 files

[04:33] <Geth> ¦ rakudo/main: RakuAST: compile a native array subscript to a raw position op (#6553)

[04:33] <Geth> ¦ rakudo/main: 

[04:33] <Geth> ¦ rakudo/main: Previously a subscript of a native array called the postcircumfix

[04:33] <Geth> ¦ rakudo/main: routine, which dispatched through its candidates and the array's

[04:33] <Geth> ¦ rakudo/main: AT-POS or ASSIGN-POS on every access. A plain native int, num, or

[04:33] <Geth> ¦ rakudo/main: str array declaration owns the stock native container, so a

[04:33] <Geth> ¦ rakudo/main: subscript by an int literal or a native int lexical compiles to the

[04:33] <Geth> ¦ rakudo/main: <…commit message has 16 more lines…>

[04:33] <Geth> ¦ rakudo/main: review: https://github.com/rakudo/rakudo/commit/4b8ddb43f6

[04:34] <Geth> ¦ rakudo/main: f347751b2d | (Nick Logan)++ (committed using GitHub Web editor) | 3 files

[04:34] <Geth> ¦ rakudo/main: RakuAST: lower native attribute steps to raw ops (#6554)

[04:34] <Geth> ¦ rakudo/main: 

[04:34] <Geth> ¦ rakudo/main: Previously an increment, decrement, or compound assignment on a

[04:34] <Geth> ¦ rakudo/main: native int or num attribute called the operator routine or the

[04:34] <Geth> ¦ rakudo/main: metaop on every access, while the same forms on a native lexical

[04:34] <Geth> ¦ rakudo/main: lowered to raw step ops. An attribute read reports its native type,

[04:34] <Geth> ¦ rakudo/main: so this accepts an attribute as the step target and as the compound

[04:34] <Geth> ¦ rakudo/main: <…commit message has 7 more lines…>

[04:34] <Geth> ¦ rakudo/main: review: https://github.com/rakudo/rakudo/commit/f347751b2d

[07:30] *** ShimmerFairy left
[07:30] *** 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
[14:23] * [Coke] fires up ghostty (loves the demo video on the main page)

[14:28] <[Coke]> .seen japhb

[14:28] <tellable6> [Coke], https://gist.github.com/f7ebb6e3ca1e23ea6261865aba2d2d85

[14:30] * [Coke] will try using ghostty for a bit.

[14:34] <[Coke]> ... ok, once I got the "ssh to a box without ghostty" working... my click-on-links bug is gone. 

[15:13] <Geth> ¦ rakudo: ugexe++ created pull request #6556: RakuAST: bind a <-> block's native parameter as a reference

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

[17:37] *** finanalyst joined
[18:32] <Geth> ¦ nqp/coke/test-moarvm-fix: e4a03e4c37 | (Will Coleda)++ | tools/templates/MOAR_REVISION

[18:32] <Geth> ¦ nqp/coke/test-moarvm-fix: test moarvm fix

[18:32] <Geth> ¦ nqp/coke/test-moarvm-fix: review: https://github.com/Raku/nqp/commit/e4a03e4c37

[18:34] <Geth> ¦ rakudo/coke/test-moarvm-fix: 86dc6eacde | (Will Coleda)++ | tools/templates/NQP_REVISION

[18:34] <Geth> ¦ rakudo/coke/test-moarvm-fix: test moarvm fix

[18:34] <Geth> ¦ rakudo/coke/test-moarvm-fix: review: https://github.com/rakudo/rakudo/commit/86dc6eacde

[18:34] <Geth> ¦ rakudo/coke/test-moarvm-fix: 19a125e7e9 | (Will Coleda)++ | src/main.nqp

[18:34] <Geth> ¦ rakudo/coke/test-moarvm-fix: Change default to AST

[18:34] <Geth> ¦ rakudo/coke/test-moarvm-fix: review: https://github.com/rakudo/rakudo/commit/19a125e7e9

[18:51] <timo> ugexe: did you write the fix for repossession yourself?

[19:31] <[Coke]> I specifically did not know the answer to that question, which is why I announced what I was doing here.

[19:32] <[Coke]> kicking off a AST blin run to see what that changes.

[19:33] <timo> oh, there's the message, ok it was you that pulled it over

[19:34] <[Coke]> yah, mentioned in #moarvm sorry.

[19:34] <[Coke]> Happy to delete the 3 branches once the blin run is done.

[19:34] <timo> I could have seen it myself, don't worry about it

[19:35] <[Coke]> Might be nice to have a way to do a blin run with a commit from a completely different repo.

[19:35] <[Coke]> every time I run blin, I see some module name I haven't seen before, like Acme::Insult::Lala

[19:36] <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:37] <[Coke]> I think anything that resolves to a commit id works.

[19:38] <[Coke]> as we discovered, it seems to build every commit. (And understands "HEAD")

[19:39] <[Coke]> 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] <[Coke]> Easy enough if an uncommon task.

[21:07] <Geth> ¦ roast: ugexe++ created pull request #899: Run a silent child in the RT #115390 loops

[21:07] <Geth> ¦ roast: review: https://github.com/Raku/roast/pull/899

[21:12] <[Coke]> m: say [+] 1..Inf

[21:13] <camelia> rakudo-moar f347751b2: OUTPUT: «(timeout)»

[21:13] <[Coke]> rakupp says 50005000

[21:14] *** lizmat joined
[21:15] <lizmat> .

[21:31] *** lizmat left
[21:55] *** finanalyst left
