Geth rakudo/main: bd5bab3cfe | (Nick Logan)++ (committed using GitHub Web editor) | 4 files
Clean up all generated build artifacts on make clean (#6575)

Previously make clean removed the bytecode under blib/Perl6 but left blib/Raku in place, so Grammar and Actions survived a clean and could be picked up by a later build. CLEANUPS_ALL now covers BLIB_RAKUDO_R alongside BLIB_RAKUDO, and the js backend cleanup list gains the matching source map entry. ... (5 more lines)
01:25
rakudo/main: db40e8ca9d | (Nick Logan)++ (committed using GitHub Web editor) | 2 files
Share the revision gate mixin across gated routines (#6573)

Previously every `is revision-gated` application parameterized the is-revision-gated role with a freshly computed Int. Parameterizations intern by argument identity, and during the setting build each site's revision Int is a distinct object, so every gated routine minted its own curried role, mixin type, and mixin cache type, all serialized into the ... (6 more lines)
rakudo/main: 7070da8300 | (Nick Logan)++ (committed using GitHub Web editor) | 4 files
RakuAST: generate the POPULATE method from the build plan (#6559)

Previously only the legacy frontend implemented the metamodel's generate_buildplan_executor hook, so every class it compiled got a POPULATE submethod compiled from its build plan while a class the RakuAST frontend compiled fell back to Mu.POPULATE, which interprets the plan on every object construction. This implements the hook on ... (17 more lines)
rakudo/main: d88b94ac58 | (Nick Logan)++ (committed using GitHub Web editor) | 2 files
Cache interpolated regex compilations by pattern source (#6568)

Previously a string interpolated into a regex was compiled with EVAL and the resulting regex was cached by mixing a role into the string object itself. Code such as <{ %h.keys.join("|") }> produces a new string object on every match attempt, so every attempt compiled the pattern again. MoarVM never deallocates bytecode, so long running ... (18 more lines)
01:27
rakudo/main: 3b6a4052a3 | (Nick Logan)++ | 2 files
Keep Range integer bounds from leaking a Failure

Previously int-bounds decided whether the endpoints fit integer bounds by asking each of them for .Int and checking the result was an Int. An endpoint with no integer value fails there, and nothing marked that Failure handled, so the garbage collector reported it as an unhandled Failure in DESTROY. Summing an endless Range was enough to produce one. ... (10 more lines)
01:29
rakudo/main: ac2ce1c1ce | (Nick Logan)++ | 2 files
Answer reductions that do not need to reach the end

Previously every reduction folded its values one at a time until they ran out, so a reduction over values that never run out never returned. Some of those reductions have their answer well before the end.
A short-circuit operator settles on a value that no further operand can ... (33 more lines)
rakudo/main: 9bbff6bde2 | (Nick Logan)++ (committed using GitHub Web editor) | 4 files
Merge pull request #6576 from ugexe/ugexe/reduce-short-circuit-infinite

Answer reductions over endless sequences
rakudo/main: ec663ef241 | (Nick Logan)++ (committed using GitHub Web editor) | 2 files
Merge pull request #6572 from ugexe/ugexe/rakuast-name-stub-through-container

RakuAST: name stub packages without their container
01:59 guifa left 02:09 guifa joined 02:59 guifa left 03:11 guifa joined 03:22 apogee_ntv left 03:23 apogee_ntv joined
Geth rakudo: ugexe++ created pull request #6578:
RakuAST: re-form BEGIN-compiled code with the optimize walk's marks
04:53
06:16 samebchase left 06:17 samebchase joined 07:01 samebchase left 07:12 guifa left 07:26 guifa joined 08:46 finanalyst joined 10:19 guifa left 10:21 JRaspass left, JRaspass joined 10:27 guifa joined 10:30 finanalyst left
Geth rakudo/main: 1fced10462 | (Elizabeth Mattijsen)++ | 3 files
Some more implementation-detail marking

  - List::Reifier
  - TypeEnv
  - ThreadPoolScheduler::ThreadPoolAwaiter (hidden by my)
11:20
11:37 guifa left 11:46 guifa joined 13:43 guifa left 13:47 guifa joined 15:36 guifa left 15:43 guifa joined 17:55 Voldenet left, Voldenet joined 19:43 guifa left 19:50 guifa joined 21:26 samebchase joined 21:30 MasterDuke joined 21:54 MasterDuke left 22:44 guifa left 22:50 guifa joined 22:59 guifa left 23:12 guifa joined
Geth rakudo/main: c9828b2ae5 | (Nick Logan)++ (committed using GitHub Web editor) | 9 files
RakuAST: re-form BEGIN-compiled code with the optimize walk's marks (#6578)

A routine invoked at BEGIN time compiles ahead of the unit's optimize walk and caches its QAST block. Previously the unit emission reused that cache, so such routines ran at runtime with none of the marks the walk decides. The setting machinery the compiler itself executes while building CORE is exactly such code, so a hot iterator method paid an ... (20 more lines)
23:14
rakudo: ugexe++ created pull request #6579:
RakuAST: elide unused implicit setup in re-formed frames
23:58