Geth rakudo: ugexe++ created pull request #6253:
RakuAST: let nested string EVAL see the caller's lexicals
04:19
04:42 hurufu joined 06:28 finanalyst joined 08:51 finanalyst left
Geth rakudo/main: 684ac0fde6 | (Elizabeth Mattijsen)++ (committed using GitHub Web editor) | src/Raku/Actions.nqp
RakuAST: some streamlining in actions (#6252)

1. prevent repeated named capture lookups 2. streamline is-yada to not use a regular expression, but more
   native logic to check if a package is a stub
09:01
rakudo/lizmat-16: 6efed2e60b | (Elizabeth Mattijsen)++ | src/Raku/Actions.nqp
RakuAST: last set of streamlining actions
09:22
rakudo: lizmat++ created pull request #6254:
RakuAST: last set of streamlining actions
09:23 Pixi` joined 09:27 Pixi left
Geth rakudo/lizmat-17: 61a28ef81b | (Elizabeth Mattijsen)++ | 2 files
RakuAST: Streamline Node.find-nodes

1. Make the :$stopper argument take either a type, or code to execute
2. Create dedicated subs for each permutation or arguments
   So that it doesn't need to check those on each iteration
3. Remove .find-nodes-exclusive: it is now handled by .find-nodes
   And adapt all callsites to use .find-nodes
11:55
rakudo: lizmat++ created pull request #6255:
RakuAST: Streamline Node.find-nodes
12:01 Pixi joined 12:02 Pixi` left
Geth rakudo/main: 500ad6c868 | (Elizabeth Mattijsen)++ | src/Raku/ast/README.md
RakuAST: update stage of development
12:05
rakudo/main: 19bf1d90fe | (Elizabeth Mattijsen)++ (committed using GitHub Web editor) | 2 files
RakuAST: Streamline Node.find-nodes

1. Make the :$stopper argument take either a type, or code to execute
2. Create dedicated subs for each permutation or arguments so that it doesn't need to check those on each iteration
3. Remove .find-nodes-exclusive: it is now handled by .find-nodes and adapt all callsites to use .find-nodes
12:51
rakudo/lizmat-18: ff9dda21b7 | (Elizabeth Mattijsen)++ | src/Raku/ast/begintime.rakumod
RakuAST: streamline begintime handling

Actually mostly code esthetics, comment adding, and:
  - removed one unused named argument
  - removed one unnecessary return statement
12:59
rakudo: lizmat++ created pull request #6256:
RakuAST: streamline begintime handling
rakudo/main: 6add63b245 | (Nick Logan)++ | 6 files
RakuAST: route string EVAL through IMPL-FIXUP and wrap nested EVAL output

The string-EVAL branch of ForeignCode skipped IMPL-FIXUP-COMPILED-CODEREFS that the AST-EVAL branch runs. A Sub returned from `BEGIN { &x = EVAL
  'sub () { 42 }' }` had a `$!do` coderef whose static_code was not in any
SC. Outer-module precomp serialization failed with `missing static code ref for closure`. Route the RakuAST frontend's string EVAL through ... (21 more lines)
13:39
rakudo/main: 4c984c78ca | (Nick Logan)++ (committed using GitHub Web editor) | 6 files
Merge pull request #6243 from ugexe/ugexe/rakuast-nested-eval-wrapper

RakuAST: route string EVAL through IMPL-FIXUP and wrap nested EVAL output
rakudo/main: bc6a3a0526 | (Nick Logan)++ | 3 files
RakuAST: let nested string EVAL see the caller's lexicals

A string EVAL that runs while another compilation is in progress (most commonly at BEGIN time) resolved `$/` and `$!` to fresh Nil containers instead of the caller's, could not see lexicals of the calling block at all, and sent our-scoped declarations to GLOBAL instead of the caller's package, dying "Object of type GLOBAL in QAST::WVal, but not in SC" for ... (21 more lines)
rakudo/main: ad2bda0fd1 | (Nick Logan)++ (committed using GitHub Web editor) | 3 files
Merge pull request #6253 from ugexe/ugexe/rakuast-nested-eval-resolver-context

RakuAST: let nested string EVAL see the caller's lexicals
lizmat m: sub a(--> 42) { return 666 }; dd a 13:48
camelia ===SORRY!=== Error while compiling <tmp>
No return arguments allowed when return value 42 is already specified in the signature
at <tmp>:1
------> sub a(--> 42) { return 666 <HERE>}; dd a
lizmat that's nice and to be expected, but: 13:49
m: sub a(--> 42) { return-rw 666 }; dd a
camelia 666
lizmat that feels wrong!
ugexe --> $value in general has always seemed wrong to me 13:50
lizmat well, legacy and Raku only check on the name 'return'
which you could argue is sub optimisal if someone defines their own "return" sub
but I think the same logic should apply to "return-rw" if we're going to be checking for that at compile time 13:51
m: sub a(--> 42) { return-rw "foo" }; dd a
camelia "foo"
lizmat it apparently doesn't even check the type in the return 13:52
ugexe m: sub a(--> 42) { return 100 }; a() 13:53
camelia ===SORRY!=== Error while compiling <tmp>
No return arguments allowed when return value 42 is already specified in the signature
at <tmp>:1
------> sub a(--> 42) { return 100 <HERE>}; a()
ugexe heh, on my built it emits a warning about .perl 13:54
lizmat yeah, for me too
yup, will fix that
Geth rakudo/main: 52e1c24888 | (Elizabeth Mattijsen)++ | src/Perl6/Actions.nqp
Fix deprecation message on return value error message
13:56
[Coke] huh, wonder how that got missed. 14:02
ugexe you have to write some arguably bad code to exercise it 14:08
[Coke] heh
Huh, wonder how I didn't trigger that. :)
ugexe because you also need a relatively recent rakudo as well 14:12
[Coke] releasable6: next 14:17
releasable6 [Coke], Next release in ā‰ˆ16 days and ā‰ˆ4 hours. There are no known blockers. 93 out of 102 commits logged
[Coke], Details: gist.github.com/e9cd6268cc595cccf3...17bf748d4a
ugexe honestly it might not be bad to do Blin earlier this release, particularly since github.com/rakudo/rakudo/pull/6166 was merged 14:20
[Coke] I will try to do it this weekend. 14:23
(I have work travel M-T next week, and personal travel Th-F) 14:24
ugexe noice
Geth rakudo/lizmat-18: df46d8d715 | (Elizabeth Mattijsen)++ | src/Raku/ast/begintime.rakumod
RakuAST: change syntax that caused problems

For some reason the -> syntax broke some tests because of wrong number of arguments
class A { method foo(Int $a) { } }; constant b = A.new(0e0)
  ===SORRY!=== Error while compiling -e
An exception X::Comp::AdHoc occurred while evaluating a BEGIN: Too few positionals passed; expected 2 arguments but got 1
14:34
[Coke] There are still many PRs outstanding. Are we trying to get any of these in particular into next release? 14:46
ah, several of those are Draft. 14:47
github.com/rakudo/rakudo/pulls?q=i...no%3Adraft - 8 open from this year 14:48
ugexe To be clear I expect quite a few more PRs before the release. I’m just trying to figure out any fallout that already exists. 14:51
[Coke] oh, sure. 14:55
just want as few last minute must-merge situations as possible, I think we're both in the same place.
changelog caught up (again, could always use some cleanup) 15:16
changelog-wiki
Geth rakudo/main: 9c88752a60 | (Elizabeth Mattijsen)++ (committed using GitHub Web editor) | src/Raku/ast/begintime.rakumod
RakuAST: streamline begintime handling

Actually mostly code esthetics, comment adding, and:
  - removed one unused named argument
  - removed one unnecessary return statement
15:34
18:10 librasteve_ left
Geth rakudo/lizmat-19: a07c0735fb | (Elizabeth Mattijsen)++ | src/Raku/ast/call.rakumod
RakuAST: streamline call related RakuAST classes

Mostly code esthetics to improve readability, and some additional comments in places where I was sure I grokked everything.
Slightly changed the interface of the Arglist.IMPL-ADD-QAST-ARGS method to have it return the QAST that it was given. This allowed for quite significant simplification in most xxxQAST methods
18:46
rakudo: lizmat++ created pull request #6258:
RakuAST: streamline call related RakuAST classes
ugexe we should try to be careful to avoid churn for aesthetic purposes when there is a high velocity of functional code changes happening 18:50
its also hard/impossible to review functional changes buried in aesthetic changes 18:54
further, we should probably reserve aesthetic changes for immediately after a release happens. reverting things becomes significantly more problematic after that type of churn 18:59
so we would want to be sure that any new functional changes work (via Blin and release) before we make reverting those changes more difficult 19:00
lizmat Well, I'm running all of these through PRS and merge them when green (including all of the RakuAST testing in CI) 19:14
ugexe well if you dont think anything that has green CI will need to be reverted then yeah thats not a problem. but generally speaking i would expect Blin to potentially expose problems, and a revert is one way to avoid those. generally reverts use the literal `git revert` and don't revert the behavior by hand 19:17
if you're only touching code that has already been released that also does not present any issue 19:20
lizmat I hadn't realized that I have touched code that wasn't in the 2026.05 release 19:21
ugexe to be clear i'm not saying you did either
lizmat anyways... I'll stop my streamlining for now... :-) 19:22
I was in any case glad I could do the find-nodes optimization: that *did* touch on unreleased code perhaps, with the .find-nodes-exclusive being removed ?
ugexe i'm not sure i haven't really looked hard, its probably fine especially if the commit itself only touches that one thing and itself can be safely reverted without affecting other unrelated things. generally speaking aesthetic changes aren't going to be worth it, especially when its a bunch of them, because practically speaking it only affects a handful of people for a short period of time (the 19:30
next release)
aren't going to be worth it *on unreleased code*
lizmat well, I hope to make the code less daunting :-) 19:32
the find-nodes work was completely separated from esthetics work
ugexe yeah, but what im saying is making it less daunting on like july 1st has almost all the benefit of making it less daunting on june 15th but without a large portion of the risk 19:33
so again i haven't looked at any of these changes hollistically... i saw all the new line changes and similar nit pick level things across various pieces of potentially unrelated logic and wanted to point out this class of problem 19:35
lizmat understood
20:00 librasteve_ joined
Geth rakudo: ugexe++ created pull request #6259:
Carry native return types on compile-time resolved calls
20:20
21:17 hurufu left 21:18 hurufu joined 21:34 [Coke] left, [Coke] joined 22:43 hurufu left