Geth rakudo: ugexe++ created pull request #6658:
Apply :ratchet to an atom followed by sigspace whitespace
00:52
ugexe [Coke]: any way you could do a blin run on github.com/rakudo/rakudo/pull/6658 ? I'm trying to see the fallout (as there is at least one: ASN::Grammar) to determine if its something we can even change at this point 00:53
[Coke] I think we need to copy your branch to one on rakudo/rakudo, should be easy 01:17
on it 01:18
ugexe thanks! 01:20
Geth rakudo/ugexe/rakuast-sigspace-ratchet: da2a52539d | (Nick Logan)++ | 4 files
Ratchet the atom under trailing sigspace

In a ratchet regex the whitespace that sigspace inserts after an atom was attached inside the node the enclosing position ratchets, so the ratchet landed on a concat, which the regex compiler ignores. A quantifier, alternation, subrule call or capture group followed by whitespace in a rule or an rx:r:s regex therefore backtracked as if there were no ratchet: ... (24 more lines)
01:21
rakudo/ugexe/rakuast-sigspace-ratchet: b180d6078d | (Nick Logan)++ | t/02-rakudo/ltm-before-assertion.t
Backtrack explicitly in the LTM before-assertion test grammar

The lookahead in the test grammar's infix chain rule matched `.+` and then an operator, with rule whitespace in between. A rule ratchets that quantifier, so once it has taken the rest of the input it cannot give the operator back, and the lookahead only succeeded while the whitespace after the quantifier shielded it from the ratchet.
This backtracks with `.+!` instead, which stays declarative for the LTM prefix the test is about and matches under the ratchet.
[Coke] c: b180d6078d e.say # when this works I can blin run
committable6 [Coke], ¦b180d60: «Cannot find this revision (did you mean “7fb098d”?)»
[Coke] started 01:37
did it from 2026.08 so we also get the last few commits that weren't in the last run
⏳ 1250 out of 2520 modules processed (49.6%) 03:00
Geth rakudo: ugexe++ created pull request #6659:
RakuAST: fix a batch of deparse holes found by round tripping raku code
03:47
04:46 kurahaupo joined 06:48 kurahaupo left 07:28 lizmat joined 07:53 kurahaupo joined 08:12 lizmat left 10:44 kurahaupo left 10:56 kurahaupo joined 13:05 ilogger2 left 13:17 ilogger2 joined 13:18 camelia left, camelia joined 13:19 nine left 13:20 nine joined 13:27 kurahaupo left 13:45 kjp left, rba left, disbot left 13:50 lizmat joined 13:51 kjp joined, rba joined, disbot joined 13:52 disbot left, disbot3 joined 13:53 disbot3 is now known as disbot
lizmat . 14:00
lizmat waves from Prague
[Coke] github.com/coke/raku-blin-release-results is currently showing the redo run - 7 failures, include the one needle 14:03
lizmat [Coke]: I hope to have some time tomorrow, but it could well be that I won't be able to fix Compile::Needle before Friday 14:04
[Coke] Yup, that's fine.
lizmat cool... ... now going back to being a tourist& 14:05
14:05 lizmat left
ab5tract waves to lizmat in Prague (if you are reading this Liz shut the laptop lid!) 14:28
Do I recall some conversation related to ridding ourselves of P5Regex and QP5Regex? 14:29
Geth rakudo/main: 17 commits pushed by (Nick Logan)++
review: github.com/rakudo/rakudo/compare/b...26c8856aca
14:54
rakudo: ugexe++ created pull request #6660:
RakuAST: fix a second batch of deparse holes found by round tripping modules
15:03
[Coke] releasable6: next 15:06
releasable6 [Coke], Next release in ≈18 days and ≈3 hours. There are no known blockers. 174 out of 174 commits logged
ugexe "Should we make breaking changes to the regex engine along with RakuAST?" - github.com/Raku/problem-solving/issues/528 17:31
[Coke] I think if we gated it at 6.e, that'd be a no brainer. The question is, what if we do it, then make RAKUAST the default while still on 6.d, yes 18:10
?
ugexe the problem is no one puts `use v6.d` in their modules, so when we switch to 6.e those modules would still be opt-ing into the new behavior that would break them 18:19
and there is no way to warn them ahead of time about it
which is basically the same thing as gating it
so then why gate it at all 18:20
with most of the other gated changes people's code will break very obviously
although to be fair i guess we found those 6 modules that would break, which did break pretty obviously with the new behavior 18:23
the other thing is one of the changes is in nqp, so it would apply to legacy. the main reason i name rakuast at all is because we are breaking other things in rakuast so the release of rakuast already will have the expectation of some breakage 18:28
m: sub foo(*@_, Int :$bar) { say $bar.WHAT }; foo(bar => "abc"); # for example this errors under RakuAST, and we don't bother revision gating the previous obviously broken behavior 18:30
camelia (Str)
ab5tract So this is a bit of a brain stretch on my part, but should we consider having no `use v6.` statement at all would default to the previous language release? 18:53
s/should/could/ 18:54
ugexe that just kicks the can down the road for one release 18:55
ab5tract true, but it does give more breathing room and less (annoying, imo) noise about "this release breaks my unbounded-to-a-release code" 18:57
so that at least the bug reports that arrive after pressing 6.e are actually about 6.e
ugexe i dont think the people this would affect are going to catch this any earlier than whenever the new behavior is forced on them 18:58
it is also kind of difficult to document these things. like how do you describe the change in LTM behavior of certain constructs in certain situations 18:59
ab5tract yeah, that's fair. I just really don't enjoy that part of the release cycle. 19:02
ugexe it would also be sort of unfortunate if all the new raku implementation have to encode this broken regex behavior for certain revisions and a different non broken regex behavior for others, as i kind of think they just would just skip the revision and implement the correct way
ab5tract Oof, I hadn't even thought of that. 19:03
ugexe Another way I think of when to revision gate is: would I feel ok enshrining the broken behavior in pre-6.e roast tests if it isn’t already enshrined there? 19:07
[Coke] if these were clearly bugs, I think we're allowed to fix bugs regardless of version. 19:12
(are they clearly bugs?)
19:15 finanalyst joined
ab5tract P5Regex isn't a bug but it isn't exactly something to keep around either 19:16
but in general I think you're pointing out a great rule of thumb 19:18
ugexe hard to say what is clearly a bug in this case. i lean towards yes in the sense that if someone read the speculations they would have wrote something slightly different or files a bug report, and that the roast doesn't encode the broken behaviors 19:23
ab5tract: did you see github.com/rakudo/rakudo/pull/6534 ? i assume that aligns with getting rid of P5Regex
the roasts technically allow p5 regex not to work as long as its a runtime failure: github.com/Raku/roast/blob/85a8790...0.t#L9-L12 19:24
my PR is a compile time error though (and it should be) so that check never gets to apply 19:25
m: say "a" ~~ m:XXX/a/; 19:26
camelia ===SORRY!=== Error while compiling <tmp>
Adverb XXX not allowed on m
at <tmp>:1
------> say "a" ~~ m:XXX/a/<HERE>;
ab5tract yeah, that would cover it, sans the relevant nqp cleanup of course 19:28
I hadn't seen that one yet, but it feels like its adoption is predicated on a 'yes' answer to the problem solving ticket 19:32
ugexe we already decided we aren't implementing p5 regex in rakuast, we just haven't decided what that actually looks like / means 19:33
ab5tract ah, ok. that's probably the discussion I was vaguely remembering 19:34
ugexe my biggest issue with having it is the question of "which version of p5 regex?", when do we update that, etc 19:36
the version implemented now is behind what current perl implements 19:37
inline::perl5 will work on rakuast so if someone really wants perl regex they can just use that 19:39
20:21 lizmat joined 21:25 finanalyst left 22:04 lizmat left
Geth rakudo/main: 35 commits pushed by (Nick Logan)++
review: github.com/rakudo/rakudo/compare/a...7db968c7b0
22:15
rakudo: ugexe++ created pull request #6661:
RakuAST: fix a third batch of deparse holes found by round tripping raku code
22:22
ugexe lots of commits, but they are mostly 1-5 line changes (not including tests) 22:23
japhb Doesn't make them any less valuable. ;-) 22:55
23:12 kurahaupo joined