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