[04:19] <Geth> ¦ rakudo: ugexe++ created pull request #6253: RakuAST: let nested string EVAL see the caller's lexicals

[04:19] <Geth> ¦ rakudo: review: https://github.com/rakudo/rakudo/pull/6253

[04:42] *** hurufu joined
[06:28] *** finanalyst joined
[08:51] *** finanalyst left
[09:01] <Geth> ¦ rakudo/main: 684ac0fde6 | (Elizabeth Mattijsen)++ (committed using GitHub Web editor) | src/Raku/Actions.nqp

[09:01] <Geth> ¦ rakudo/main: RakuAST: some streamlining in actions (#6252)

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

[09:01] <Geth> ¦ rakudo/main: 1. prevent repeated named capture lookups

[09:01] <Geth> ¦ rakudo/main: 2. streamline is-yada to not use a regular expression, but more

[09:01] <Geth> ¦ rakudo/main:    native logic to check if a package is a stub

[09:01] <Geth> ¦ rakudo/main: review: https://github.com/rakudo/rakudo/commit/684ac0fde6

[09:22] <Geth> ¦ rakudo/lizmat-16: 6efed2e60b | (Elizabeth Mattijsen)++ | src/Raku/Actions.nqp

[09:22] <Geth> ¦ rakudo/lizmat-16: RakuAST: last set of streamlining actions

[09:22] <Geth> ¦ rakudo/lizmat-16: review: https://github.com/rakudo/rakudo/commit/6efed2e60b

[09:22] <Geth> ¦ rakudo: lizmat++ created pull request #6254: RakuAST: last set of streamlining actions

[09:22] <Geth> ¦ rakudo: review: https://github.com/rakudo/rakudo/pull/6254

[09:23] *** Pixi` joined
[09:27] *** Pixi left
[11:55] <Geth> ¦ rakudo/lizmat-17: 61a28ef81b | (Elizabeth Mattijsen)++ | 2 files

[11:55] <Geth> ¦ rakudo/lizmat-17: RakuAST: Streamline Node.find-nodes

[11:55] <Geth> ¦ rakudo/lizmat-17: 

[11:55] <Geth> ¦ rakudo/lizmat-17: 1. Make the :$stopper argument take either a type, or code to execute

[11:55] <Geth> ¦ rakudo/lizmat-17: 

[11:55] <Geth> ¦ rakudo/lizmat-17: 2. Create dedicated subs for each permutation or arguments

[11:55] <Geth> ¦ rakudo/lizmat-17:    So that it doesn't need to check those on each iteration

[11:55] <Geth> ¦ rakudo/lizmat-17: 

[11:55] <Geth> ¦ rakudo/lizmat-17: 3. Remove .find-nodes-exclusive: it is now handled by .find-nodes

[11:55] <Geth> ¦ rakudo/lizmat-17:    And adapt all callsites to use .find-nodes

[11:55] <Geth> ¦ rakudo/lizmat-17: review: https://github.com/rakudo/rakudo/commit/61a28ef81b

[11:55] <Geth> ¦ rakudo: lizmat++ created pull request #6255: RakuAST: Streamline Node.find-nodes

[11:55] <Geth> ¦ rakudo: review: https://github.com/rakudo/rakudo/pull/6255

[12:01] *** Pixi joined
[12:02] *** Pixi` left
[12:05] <Geth> ¦ rakudo/main: 500ad6c868 | (Elizabeth Mattijsen)++ | src/Raku/ast/README.md

[12:05] <Geth> ¦ rakudo/main: RakuAST: update stage of development

[12:05] <Geth> ¦ rakudo/main: review: https://github.com/rakudo/rakudo/commit/500ad6c868

[12:51] <Geth> ¦ rakudo/main: 19bf1d90fe | (Elizabeth Mattijsen)++ (committed using GitHub Web editor) | 2 files

[12:51] <Geth> ¦ rakudo/main: RakuAST: Streamline Node.find-nodes

[12:51] <Geth> ¦ rakudo/main: 

[12:51] <Geth> ¦ rakudo/main: 1. Make the :$stopper argument take either a type, or code to execute

[12:51] <Geth> ¦ rakudo/main: 

[12:51] <Geth> ¦ rakudo/main: 2. Create dedicated subs for each permutation or arguments so that it doesn't need to check those on each iteration

[12:51] <Geth> ¦ rakudo/main: 

[12:51] <Geth> ¦ rakudo/main: 3. Remove .find-nodes-exclusive: it is now handled by .find-nodes and adapt all callsites to use .find-nodes

[12:51] <Geth> ¦ rakudo/main: review: https://github.com/rakudo/rakudo/commit/19bf1d90fe

[12:59] <Geth> ¦ rakudo/lizmat-18: ff9dda21b7 | (Elizabeth Mattijsen)++ | src/Raku/ast/begintime.rakumod

[12:59] <Geth> ¦ rakudo/lizmat-18: RakuAST: streamline begintime handling

[12:59] <Geth> ¦ rakudo/lizmat-18: 

[12:59] <Geth> ¦ rakudo/lizmat-18: Actually mostly code esthetics, comment adding, and:

[12:59] <Geth> ¦ rakudo/lizmat-18: - removed one unused named argument

[12:59] <Geth> ¦ rakudo/lizmat-18: - removed one unnecessary return statement

[12:59] <Geth> ¦ rakudo/lizmat-18: review: https://github.com/rakudo/rakudo/commit/ff9dda21b7

[12:59] <Geth> ¦ rakudo: lizmat++ created pull request #6256: RakuAST: streamline begintime handling

[12:59] <Geth> ¦ rakudo: review: https://github.com/rakudo/rakudo/pull/6256

[13:39] <Geth> ¦ rakudo/main: 6add63b245 | (Nick Logan)++ | 6 files

[13:39] <Geth> ¦ rakudo/main: RakuAST: route string EVAL through IMPL-FIXUP and wrap nested EVAL output

[13:39] <Geth> ¦ rakudo/main: 

[13:39] <Geth> ¦ rakudo/main: The string-EVAL branch of ForeignCode skipped IMPL-FIXUP-COMPILED-CODEREFS

[13:39] <Geth> ¦ rakudo/main: that the AST-EVAL branch runs. A Sub returned from `BEGIN { &x = EVAL

[13:39] <Geth> ¦ rakudo/main: 'sub () { 42 }' }` had a `$!do` coderef whose static_code was not in any

[13:39] <Geth> ¦ rakudo/main: SC. Outer-module precomp serialization failed with `missing static code

[13:39] <Geth> ¦ rakudo/main: ref for closure`. Route the RakuAST frontend's string EVAL through

[13:39] <Geth> ¦ rakudo/main: <…commit message has 21 more lines…>

[13:39] <Geth> ¦ rakudo/main: review: https://github.com/rakudo/rakudo/commit/6add63b245

[13:39] <Geth> ¦ rakudo/main: 4c984c78ca | (Nick Logan)++ (committed using GitHub Web editor) | 6 files

[13:39] <Geth> ¦ rakudo/main: Merge pull request #6243 from ugexe/ugexe/rakuast-nested-eval-wrapper

[13:39] <Geth> ¦ rakudo/main: 

[13:39] <Geth> ¦ rakudo/main: RakuAST: route string EVAL through IMPL-FIXUP and wrap nested EVAL output

[13:40] <Geth> ¦ rakudo/main: review: https://github.com/rakudo/rakudo/commit/4c984c78ca

[13:40] <Geth> ¦ rakudo/main: bc6a3a0526 | (Nick Logan)++ | 3 files

[13:40] <Geth> ¦ rakudo/main: RakuAST: let nested string EVAL see the caller's lexicals

[13:40] <Geth> ¦ rakudo/main: 

[13:40] <Geth> ¦ rakudo/main: A string EVAL that runs while another compilation is in progress (most

[13:40] <Geth> ¦ rakudo/main: commonly at BEGIN time) resolved `$/` and `$!` to fresh Nil containers

[13:40] <Geth> ¦ rakudo/main: instead of the caller's, could not see lexicals of the calling block at

[13:40] <Geth> ¦ rakudo/main: all, and sent our-scoped declarations to GLOBAL instead of the caller's

[13:40] <Geth> ¦ rakudo/main: package, dying "Object of type GLOBAL in QAST::WVal, but not in SC" for

[13:40] <Geth> ¦ rakudo/main: <…commit message has 21 more lines…>

[13:40] <Geth> ¦ rakudo/main: review: https://github.com/rakudo/rakudo/commit/bc6a3a0526

[13:40] <Geth> ¦ rakudo/main: ad2bda0fd1 | (Nick Logan)++ (committed using GitHub Web editor) | 3 files

[13:40] <Geth> ¦ rakudo/main: Merge pull request #6253 from ugexe/ugexe/rakuast-nested-eval-resolver-context

[13:40] <Geth> ¦ rakudo/main: 

[13:40] <Geth> ¦ rakudo/main: RakuAST: let nested string EVAL see the caller's lexicals

[13:40] <Geth> ¦ rakudo/main: review: https://github.com/rakudo/rakudo/commit/ad2bda0fd1

[13:48] <lizmat> m: sub a(--> 42) { return 666 }; dd a

[13:48] <camelia> rakudo-moar 19bf1d90f: OUTPUT: «===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␤»

[13:49] <lizmat> that's nice and to be expected, but:

[13:49] <lizmat> m: sub a(--> 42) { return-rw 666 }; dd a

[13:49] <camelia> rakudo-moar 19bf1d90f: OUTPUT: «666␤»

[13:49] <lizmat> that feels wrong!

[13:50] <ugexe> --> $value in general has always seemed wrong to me

[13:50] <lizmat> well, legacy and Raku only check on the name 'return'

[13:50] <lizmat> which you could argue is sub optimisal if someone defines their own "return" sub

[13:51] <lizmat> 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] <lizmat> m: sub a(--> 42) { return-rw "foo" }; dd a

[13:51] <camelia> rakudo-moar 19bf1d90f: OUTPUT: «"foo"␤»

[13:52] <lizmat> it apparently doesn't even check the type in the return

[13:53] <ugexe> m: sub a(--> 42) { return 100 }; a()

[13:53] <camelia> rakudo-moar ad2bda0fd: OUTPUT: «===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()␤»

[13:54] <ugexe> heh, on my built it emits a warning about .perl

[13:54] <lizmat> yeah, for me too

[13:54] <lizmat> yup, will fix that

[13:56] <Geth> ¦ rakudo/main: 52e1c24888 | (Elizabeth Mattijsen)++ | src/Perl6/Actions.nqp

[13:56] <Geth> ¦ rakudo/main: Fix deprecation message on return value error message

[13:56] <Geth> ¦ rakudo/main: review: https://github.com/rakudo/rakudo/commit/52e1c24888

[14:02] <[Coke]> huh, wonder how that got missed.

[14:08] <ugexe> you have to write some arguably bad code to exercise it

[14:08] <[Coke]> heh

[14:08] <[Coke]> Huh, wonder how I didn't trigger that. :)

[14:12] <ugexe> because you also need a relatively recent rakudo as well

[14:17] <[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

[14:17] <releasable6> [Coke], Details: https://gist.github.com/e9cd6268cc595cccf30dec17bf748d4a

[14:20] <ugexe> honestly it might not be bad to do Blin earlier this release, particularly since https://github.com/rakudo/rakudo/pull/6166 was merged

[14:23] <[Coke]> I will try to do it this weekend.

[14:24] <[Coke]> (I have work travel M-T next week, and personal travel Th-F)

[14:24] <ugexe> noice

[14:34] <Geth> ¦ rakudo/lizmat-18: df46d8d715 | (Elizabeth Mattijsen)++ | src/Raku/ast/begintime.rakumod

[14:34] <Geth> ¦ rakudo/lizmat-18: RakuAST: change syntax that caused problems

[14:34] <Geth> ¦ rakudo/lizmat-18: 

[14:34] <Geth> ¦ rakudo/lizmat-18: For some reason the -> syntax broke some tests because of wrong

[14:34] <Geth> ¦ rakudo/lizmat-18: number of arguments

[14:34] <Geth> ¦ rakudo/lizmat-18: 

[14:34] <Geth> ¦ rakudo/lizmat-18: class A { method foo(Int $a) { } }; constant b = A.new(0e0)

[14:34] <Geth> ¦ rakudo/lizmat-18: ===SORRY!=== Error while compiling -e

[14:34] <Geth> ¦ rakudo/lizmat-18: An exception X::Comp::AdHoc occurred while evaluating a BEGIN:

[14:34] <Geth> ¦ rakudo/lizmat-18: Too few positionals passed; expected 2 arguments but got 1

[14:34] <Geth> ¦ rakudo/lizmat-18: review: https://github.com/rakudo/rakudo/commit/df46d8d715

[14:46] <[Coke]> There are still many PRs outstanding. Are we trying to get any of these in particular into next release?

[14:47] <[Coke]> ah, several of those are Draft.

[14:48] <[Coke]> https://github.com/rakudo/rakudo/pulls?q=is%3Apr+is%3Aopen+no%3Adraft - 8 open from this year

[14:51] <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:55] <[Coke]> oh, sure.

[14:55] <[Coke]> just want as few last minute must-merge situations as possible, I think we're both in the same place.

[15:16] <[Coke]> changelog caught up (again, could always use some cleanup)

[15:16] <[Coke]> changelog-wiki

[15:34] <Geth> ¦ rakudo/main: 9c88752a60 | (Elizabeth Mattijsen)++ (committed using GitHub Web editor) | src/Raku/ast/begintime.rakumod

[15:34] <Geth> ¦ rakudo/main: RakuAST: streamline begintime handling

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

[15:34] <Geth> ¦ rakudo/main: Actually mostly code esthetics, comment adding, and:

[15:34] <Geth> ¦ rakudo/main: - removed one unused named argument

[15:34] <Geth> ¦ rakudo/main: - removed one unnecessary return statement

[15:34] <Geth> ¦ rakudo/main: review: https://github.com/rakudo/rakudo/commit/9c88752a60

[18:10] *** librasteve_ left
[18:46] <Geth> ¦ rakudo/lizmat-19: a07c0735fb | (Elizabeth Mattijsen)++ | src/Raku/ast/call.rakumod

[18:46] <Geth> ¦ rakudo/lizmat-19: RakuAST: streamline call related RakuAST classes

[18:46] <Geth> ¦ rakudo/lizmat-19: 

[18:46] <Geth> ¦ rakudo/lizmat-19: Mostly code esthetics to improve readability, and some additional

[18:46] <Geth> ¦ rakudo/lizmat-19: comments in places where I was sure I grokked everything.

[18:46] <Geth> ¦ rakudo/lizmat-19: 

[18:46] <Geth> ¦ rakudo/lizmat-19: Slightly changed the interface of the Arglist.IMPL-ADD-QAST-ARGS

[18:46] <Geth> ¦ rakudo/lizmat-19: method to have it return the QAST that it was given.  This allowed

[18:46] <Geth> ¦ rakudo/lizmat-19: for quite significant simplification in most xxxQAST methods

[18:46] <Geth> ¦ rakudo/lizmat-19: review: https://github.com/rakudo/rakudo/commit/a07c0735fb

[18:46] <Geth> ¦ rakudo: lizmat++ created pull request #6258: RakuAST: streamline call related RakuAST classes

[18:46] <Geth> ¦ rakudo: review: https://github.com/rakudo/rakudo/pull/6258

[18:50] <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:54] <ugexe> its also hard/impossible to review functional changes buried in aesthetic changes

[18:59] <ugexe> further, we should probably reserve aesthetic changes for immediately after a release happens. reverting things becomes significantly more problematic after that type of churn

[19:00] <ugexe> 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:14] <lizmat> Well, I'm running all of these through PRS and merge them when green  (including all of the RakuAST testing in CI)

[19:17] <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:20] <ugexe> if you're only touching code that has already been released that also does not present any issue

[19:21] <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

[19:22] <lizmat> anyways... I'll stop my streamlining for now...  :-)

[19:22] <lizmat> 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 ?

[19:30] <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] <ugexe> next release)

[19:30] <ugexe> aren't going to be worth it *on unreleased code*

[19:32] <lizmat> well, I hope to make the code less daunting   :-)

[19:32] <lizmat> the find-nodes work was completely separated from esthetics work

[19:33] <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:35] <ugexe> 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
[20:20] <Geth> ¦ rakudo: ugexe++ created pull request #6259: Carry native return types on compile-time resolved calls

[20:20] <Geth> ¦ rakudo: review: https://github.com/rakudo/rakudo/pull/6259

[21:17] *** hurufu left
[21:18] *** hurufu joined
[21:34] *** [Coke] left
[21:34] *** [Coke] joined
[22:43] *** hurufu left
