| ugexe | fyi i have a few errata PRs open in the roast repo that would be needed for some tests to pass | 02:16 | |
| just mentioning as i cant merge into the errata branches | 02:46 | ||
| Geth | rakudo: ugexe++ created pull request #6696: RakuAST: let node declarations be roles, and make the mixins roles |
05:01 | |
| roast/6.d-errata: 61762da16e | (Elizabeth Mattijsen)++ | S04-declarations/constant.t Using constants as a type is a no-no Using a constant as a type constraint never worked (and probably never will). In RakuAST it became a compile time error, so change: 1. change test from "todo" to "skip" 2. make sure other tests are compiled at runtime |
07:06 | ||
| lizmat | m: sub b() { sub a($x = return 42) { }; a }; dd b | 07:10 | |
| camelia | 42 | ||
| lizmat | m: Q|sub b() { sub a($x = return 42) { }; a }; dd b|.AST.EVAL | ||
| camelia | Attempt to return outside of any Routine in sub a at EVAL_0 line 1 in sub b at EVAL_0 line 1 in block <unit> at <tmp> line 1 |
||
| lizmat | feels to me that "return" as a default value should be disallowed | 07:11 | |
| m: sub b() { sub a($x = return-rw 42) { }; a }; dd b # as should be return-rw | 07:12 | ||
| camelia | 42 | ||
| lizmat | hmmm... there's a whole set of these: | 07:13 | |
| m: loop { LAST say "goodbye"; sub a($x = last) { }; a | 07:14 | ||
| camelia | ===SORRY!=== Error while compiling <tmp> Missing block at <tmp>:1 ------> T say "goodbye"; sub a($x = last) { }; a<HERE><EOL> expecting any of: statement end statement modifier statement modifier loop |
||
| lizmat | m: loop { LAST say "goodbye"; sub a($x = last) { }; a } | ||
| camelia | goodbye | ||
| Geth | roast/6.d-errata: 017c3e96de | (Elizabeth Mattijsen)++ | S12-attributes/smiley.t Make smiley tests less specific In the legacy grammar, many of these tests were testing for runtime In RakuAST many of these types of errors with attribute initializations have become compile-time errors, with their own execution error object. So change these "throws-like" tests to "dies-ok" tests with the original code wrapped in an EVAL. |
07:21 | |
| roast/6.d-errata: 488ebe0b2d | (Elizabeth Mattijsen)++ | S12-attributes/class.t Make test code syntactically correct Apparently the order of checks in RakuAST is slightly different than in legacy, so the unclosed class was seen before the error about the missing "self". Fix by adding a closing } |
07:25 | ||
| roast/6.d-errata: 783ad36bf3 | (Elizabeth Mattijsen)++ | S12-class/augment-supersede.t Make test code syntactically correct Apparently the order of checks in RakuAST is slightly different than in legacy, so the unclosed class was seen before the error about cyclical inheriting. Fix by adding a closing } |
07:28 | ||
| roast/6.d-errata: 21552f14f9 | (Elizabeth Mattijsen)++ | S32-exceptions/misc2.t Perl 5 variables are no longer treated specially So change the test to a generic "dies-ok" instead of for a specific error type |
07:48 | ||
| lizmat | m: class A { ... }; class B does A { }; role A { } | 07:54 | |
| camelia | ===SORRY!=== Error while compiling <tmp> A is not composable, so B cannot compose it at <tmp>:1 |
||
| Geth | roast/6.d-errata: 2c348d7dc5 | (Elizabeth Mattijsen)++ | integration/advent2011-day11.t Fix variable specification in test Apparently in legacy the validity of the method name was checked *before* seeing that the invocant was not a defined variable. Fix by specifying the correct variable name. |
07:59 | |
| roast/6.d-errata: 36fdd72818 | (Elizabeth Mattijsen)++ | S32-exceptions/misc.t Tweak many exception tests 1. inheritance recursion is checked at compose time 2. Useless use messages are no longer prefixed with "WARNINGS" |
08:09 | ||
| lizmat | my report of 6.d-errata issues: gist.github.com/lizmat/75080e598e9...d99f98969a | 08:15 | |
|
08:37
finanalyst left
08:52
djinni` left
09:00
djinni` joined
|
|||
| [Coke] | Added a section to the Changelog draft for bits for the release announcement (at the top), still have the Changelog stuff at the bottom, with a reminder to myself to remove the commit IDs from the announcement itself. | 10:31 | |
| How are we doing with commits left to go in/ongoing roast cleanup? | 10:33 | ||
| Still a few commits that hit after the last blin run (which had a few failures) | 10:34 | ||
| Now that we're in the last week, I'll do a (probably not) final run and open a ticket. | 10:35 | ||
| releasable6: next | |||
| releasable6 | [Coke], Next release in ā7 days and ā8 hours. There are no known blockers. 392 out of 445 commits logged | ||
| [Coke], Details: gist.github.com/9647800ca500fb73fe...725c009385 | |||
| Geth | Blin/main: e944a4b5a1 | (Will Coleda)++ | lib/Blin/Processing.rakumod Make it more likely to kill memory leaking tests. |
10:38 | |
| [Coke] | ^^ Been running with that for multiple days, just hadn't pushed it | ||
| kicked off another blin run now, offline for a while | 10:43 | ||
| lizmat | fwiw, I think we should release a RakuAST default 2026.09 release: | 10:49 | |
| 1. provided that 6.c/d errata roast are clean | |||
| 2. very publicly making clear that RAKUDO_RAKUAST=0 will enable the legacy backend and still be at 6.d like before | 10:51 | ||
| people using Raku in production would then only need to set the env var if they running into problems | 10:52 | ||
| then, in a next release where we make 6.e default, we should very publicly making clear that RAKU_LANGUAGE_VERSION=v6.d would set the default to that language version | 10:53 | ||
| should people find problems when running in 6.e | |||
| (note that I didn't mention that the eco system should be free of issues) | 10:54 | ||
| Geth | roast/6.d-errata: 6178012a60 | (Elizabeth Mattijsen)++ | S26-documentation/wacky.t Skip 2 shaky declarator docs behaviour tests The behaviour has become much more sane in RakuAST |
11:51 | |
|
12:16
MasterDuke joined
12:23
MasterDuke left
|
|||
| Geth | roast/6.c-errata: c20442bfaa | (Elizabeth Mattijsen)++ | 2 files Mark failing pod block checks as todo Not sure it's worth the time to figure out what is going wrong in the legacy podify logic |
12:58 | |
| roast/6.d-errata: 2df276cecb | (Elizabeth Mattijsen)++ | 2 files Mark failing pod block checks as todo Not sure it's worth the time to figure out what is going wrong in the legacy podify logic |
13:01 | ||
| roast/6.c-errata: abaf1232e5 | (Elizabeth Mattijsen)++ | S28-named-variables/slangs.t Remove tests on obsolete slang variables $=Quasi, $=Trans were already removed from 6.d-errata. $=P5Regex will be gone when :Perl5 regex support is eradicated |
13:12 | ||
| roast/6.d-errata: 3befe9fbdf | (Elizabeth Mattijsen)++ | S28-named-variables/slangs.t Remove tests on obsolete slang variable $=P5Regex will be gone when :Perl5 regex support is eradicated |
|||
| lizmat | afk for a few hours& | 13:13 | |
| ugexe | Weāre still missing documentation for all the rakuast classes, let alone making sure the exposed apis are good enough (a prerequisite of the documentation part). | 14:38 | |
| Geth | rakudo/main: 15 commits pushed by (Nick Logan)++ review: github.com/rakudo/rakudo/compare/7...d41e01f80b |
14:44 | |
|
15:32
finanalyst joined
|
|||
| ugexe | we also need to decide on the two PRs mentioned in github.com/Raku/problem-solving/issues/528 | 15:55 | |
| i'd also be wary of telling people they can still use the legacy frontend if we havent actually extensively tested that | 16:12 | ||
| lizmat | isn't that what we're doing now with blin runs / make spectest with RAKUDO_RAKUAST=1 set ? | 16:14 | |
| ugexe | you're proposing a rakuast built core with legacy runtime. does that match the testing scenario you mentioned? | 16:15 | |
| lizmat | ah, good point, indeed... hmmm... | ||
| lizmat makes mental note to always build core with RAKUDO_RAKUAST=1 now | 16:16 | ||
| ugexe | imo if there is going to be a switch to reenable legacy it shouldnt be advertised (i.e. it should be for allowig raku core devs to debug) and it should only exist for a couple of releases | 16:21 | |
| lizmat | agree with the couple of releases, because when we release 6.e, it will have to be gone | ||
| I see it more as an escape hatch for the daring | 16:22 | ||
| ugexe | an easier escape hatch is to use a release from one month earlier | ||
| lizmat | not when you need to reinstall stuff? | 16:24 | |
| hmmm... with a RakuAST built core, I get a fail on installing Crypt::Random with RakuAST: | 16:25 | ||
| RAKUDO_RAKUAST=1 zef install Crypt::Random | |||
| ===> Searching for: Crypt::Random | |||
| ===> Staging Crypt::Random:ver<0.4.1> | |||
| ===SORRY!=== | |||
| Method 'PERFORM-BEGIN' must be implemented by RakuAST::BeginTime because it is required by roles: RakuAST::BeginTime. | |||
| ugexe | yea probably the pr i just merged | 16:26 | |
| which goes back to my earlier comment about finalizing the public api | |||
| lizmat | fwiw, I'd be ok with not having full RakuAST docs for a release with RakuAST as the default | 16:27 | |
| I agree the docs should be there for the 6.e release | |||
| hmm... Array::Agnostic will not install with a RakuAST built core | 16:28 | ||
| Object does not exist in serialization context | 16:29 | ||
| (independent of whether RAKUDO_RAKUAST=1 is specified) | |||
| ugexe | that moarvm serialization issue wasn't rakuast specific | 16:30 | |
| github.com/rakudo/rakudo/issues/6507 | 16:31 | ||
| lizmat | aaah,,, duh | 16:32 | |
| that's the one that needs the MoarVM fix, right? | |||
| ugexe | yes | 16:34 | |
| lizmat | understood | ||
| ugexe | i'm also not sure why we should release rakuast without 6.e | 16:35 | |
| lizmat | well, it would be a real life test of 6.d under RakuAST, wouldn't it ? | ||
| ugexe | well we version things for the users | 16:36 | |
| instead we would be exposing a bunch of new namespaces, potential behavior changes, etc in the existing version | |||
| maybe thats mostly unavoidable i guess though... has to happen sooner or later | 16:37 | ||
| lizmat | yeah, and instead of one big bang, we would have 2 slightly smaller big bangs | 16:38 | |
| afk for an hour or so& | |||
| ugexe | oh the Crypt::Random crypt isnt a raku issue. its from the `if` module which calls a IMPL- method for some reason | 16:58 | |
| github.com/raku-community-modules/if/pull/10 | 17:06 | ||
| [Coke] | github.com/coke/raku-blin-release-...ailures.md - through 7ded5ff7de | 17:08 | |
| linkable6 | (2026-09-18) github.com/rakudo/rakudo/commit/7ded5ff7de Only use new Rat.raku rendering in 6.e+ | ||
| [Coke] | some repeats, some new. | ||
| did not do a redo since the "can't find anything" failures are gone. | 17:10 | ||
| can retry if any look suspicious. | 17:11 | ||
| ugexe | the notable ones are LWP::Simple, Terminal::UI, and FontConfig | 17:28 | |
| Geth | rakudo/main: 26d8ff70dc | (Nick Logan)++ (committed using GitHub Web editor) | 4 files RakuAST: report the composition error of a documented type (#6686) Previously a class or grammar that carried a declarator doc and failed to compose died with a dispatch error from podify, and the composition error with its location was lost. The CATCH that records the compose exception was at the level of PRODUCE-META-OBJECT, so a failed compose returned from the method without the type and podify was given NQPMu. ... (16 more lines) |
18:16 | |
| rakudo/main: 4 commits pushed by (Nick Logan)++ | |||
| lizmat | ugexe: thanks for the "if" fix, update on its way to the ecosystem now | 18:54 | |
| Geth | rakudo/main: 0f34b7f417 | (Nick Logan)++ (committed using GitHub Web editor) | 2 files RakuAST: make node methods with a return type inlinable (#6697) Previously a node method that declares a return type ran its body as a closure so the value could be checked. MoarVM never inlines a frame that takes a closure, and the conversion, the check and the error message together were too large to inline as well. A call to a flag accessor such as sunk cost about 90 ns from another node method and 130 ns from ... (9 more lines) |
20:39 | |
|
22:10
finanalyst left
|
|||
| Geth | rakudo: ugexe++ created pull request #6699: RakuAST: keep a loop body a frame once a loop has finished in its scope |
22:39 | |
|
22:48
Pixi` joined
22:51
Pixi left
22:53
Pixi` left
23:05
Pixi joined
|
|||
| Geth | rakudo/main: 6e5474c240 | (Nick Logan)++ (committed using GitHub Web editor) | src/Raku/ast/var-lowering.rakumod RakuAST: keep a loop body a frame once a loop has finished in its scope (#6699) Previously every eligible loop body flattened into the frame around it. MoarVM specializes a frame that is still running only once, from inside its first hot loop, using what it had observed by then. A loop starting after that one ended ran the rest of the invocation with nothing observed about its body, so a second flattened loop in one frame ran about 2.5x ... (6 more lines) |
23:21 | |