disbot <_.mu._> Scrolled back for the coding assistent issue but that wasn't really enlightening. Is there some ressource somewhere stating project policy or blog posts people have made to explain their stance? 00:22
elcaro Maybe it's already been mentioned, but I just realised there's no pre-compiled binaries for 2026.08 on rakudo.org/downloads 00:32
01:23 Voldenet_ joined, Voldenet left 01:24 Voldenet_ is now known as Voldenet
Voldenet > LLM is just an excellent tool to attract new users 01:29
my upper management also believes this, but was this ever… confirmed anyhow?
It feels more like a meme
LLM is only useful if in you review its code 01:34
lucs: you're not matching full string, just 2ab
m: say '4a2ab' ~~ /:r (\d) 'a' 'b'/; say ~$0;
camelia 「2ab」
0 => 「2」
2
Voldenet m: say '4a2ab' ~~ /:r ^ (\d) 'a' 'b' $/; # this doesn't match 01:35
camelia Nil
Voldenet m: say '2ab' ~~ /:r ^ (\d) 'a' 'b' $/; # this does match
camelia 「2ab」
0 => 「2」
lucs Oh. Hmm... 01:39
Voldenet and no backtracking means that after matching part of the regex, engine will not backtrack 01:48
m: say <aaab> ~~ /a+ b/ # engine will greedily match a, then b, this will work 01:49
camelia 「aaab」
01:49 kylese left
Voldenet m: say <aaab> ~~ /a+ ab/ # engine will greedily match a, then after exhausting all `a` letters, it'll never match a 01:49
camelia 「aaab」
Voldenet erm
m: say <aaab> ~~ /:r a+ ab/ # engine will greedily match a, then after exhausting all `a` letters, it'll never match a
camelia Nil
Voldenet m: say <aaab> ~~ /:r a+ b/ # this works with ratchet as well 01:50
camelia 「aaab」
01:50 kylese joined
[Coke] el_che: did you do 2026.08 binary? 01:58
patrickb: did you do 2026.08 binary?
02:01 greppable6 left, releasable6 left, benchable6 left, unicodable6 left, nativecallable6 left, committable6 left, coverable6 left, sourceable6 left, quotable6 left, linkable6 left, shareable6__ left, bloatable6 left, bisectable6 left, evalable6 left, huggable6 left, notable6 left, tellable6 left
Voldenet btw, in your example `4a` simply fails and then `2ab` gets matched, so there's no backtracking - you need example where one token is ambiguously matched by previous term and next term can't match it 02:02
m: say <4a2ab> ~~ /:r \w+ ab/; # no matches 02:03
camelia Nil
Voldenet m: say <4a2ab> ~~ /\w+ ab/; # at first no matches, but after backtracking there's an obvious match
camelia 「4a2ab」
02:04 releasable6 joined, shareable6 joined, evalable6 joined, greppable6 joined, huggable6 joined, bisectable6 joined, sourceable6 joined, linkable6 joined 02:05 quotable6 joined, coverable6 joined, committable6 joined, bloatable6 joined, benchable6 joined 02:06 notable6 joined, nativecallable6 joined, tellable6 joined, unicodable6 joined
lucs Voldenet: I think I was confusing the backtracking as something that happens in the regex (in my example, can't go back to try the \d once it has been matched) rather than in the string (irrelevant in my example, just restart trying the match at 2, which succeeds). 02:09
Thanks for the clear examples.
02:15 kylese left, kylese joined 02:18 bisectable6 left, tellable6 left, evalable6 left, greppable6 left, benchable6 left, quotable6 left 02:21 bloatable6 left, coverable6 left, nativecallable6 left, notable6 left, committable6 left, sourceable6 left, huggable6 left, shareable6 left, releasable6 left 02:22 unicodable6 left, linkable6 left 02:23 bloatable6 joined, evalable6 joined, greppable6 joined, benchable6 joined, quotable6 joined, shareable6 joined 02:24 linkable6 joined, nativecallable6 joined 02:25 coverable6 joined, sourceable6 joined, unicodable6 joined, releasable6 joined, bisectable6 joined, committable6 joined, huggable6 joined 02:26 tellable6 joined, notable6 joined
disbot <demanddystopia> i recall there was a site that had like a visualization of the grammar, incl like when it fails trying to find what, don't think that applied to single regexes though that'd be kinda useful too 02:30
Voldenet github.com/FCO/Grammar-Editor 02:53
[Coke] feel like the instructions should be for an installed version, not a git clone version. ^^ 02:55
Voldenet I remember seeing website version, can't find it though 03:09
elcaro fco.github.io/GrammarEditor/ 03:27
04:18 Pixi joined 04:20 Pixi` left 04:41 Pixi left 05:35 kjp joined 05:44 Sgeo left 05:48 abraxxa joined 05:50 gfldex left 05:51 gfldex joined
patrickb [Coke]: I did not. 2026.08 fails to build because of a bug in zmij. Now that you remind me, I still need to bump the zmij version... 06:57
07:56 dakkar joined 09:34 oodani left, oodani joined
El_Che [Coke]: yes 11:40
11:52 Pixi joined
disbot <antononcube> You can start a discussion on www.reddit.com/r/rakulang/ 12:01
<antononcube> Grammar visualization can be done with Mermaid-JS both deterministically and with LLMs. 12:06
<antononcube> rakuforprediction.wordpress.com/20...-grammars/ 12:07
<antononcube> I probably have to update "FunctionalParsers" to produce Graphviz DOT and Raku graphs for EBNF strings. 12:08
Voldenet but it doesn't literally visualise raku grammars sadly 12:15
disbot <antononcube> It does via other packages.
Voldenet Like, I'm not sure if this approach can explain the difference of regex with :r and without 12:16
disbot <antononcube> No, it is not that fine-grained. 12:17
<antononcube> Well, I am not sure. Maybe. "FunctionalParsers", "EBNF::Grammar", and "Grammar::TokenProcessing" can produce EBNF strings corresponding to Raku grammars and corresponding visualizations. I think at some point I made a corresponding use case workflow. (I will try to find it.) 12:19
Voldenet Grammar::Debugger is also not fine-grained enough either 12:21
timo chucks gist.github.com/timo/0c15d5b3f1ab2...a42bbc1c8d into the chat 12:32
but yes, Grammar::Debugger only operatos on 12:33
a per-routine level
disbot <antononcube> The package "Grammar::TokenProcessing" parses Raku grammars, its to-ebnf-grammar takes both strings and Raku grammar classes. But it needs to be updated -- while installing it I see some legacy warning messages. 12:34
<antononcube> Also, it does not parse certain token specs, it seems. 12:35
<antononcube> This works: 12:38
<antononcube> cdn.discordapp.com/attachments/633...9f85e&
<antononcube> But using this grammar does not: grammar MyGrammar { token TOP { <letter>+ } token letter { <vowel> || <consonant> } token vowel { <[aeiou]> } token consonant { <[bcdfghjklmnpqrstvwxyz]> } } (The grammar is not fully parsed.) 12:39
Voldenet in fact, :r is such a technical detail that I'm not sure it can be explained easily with ebnf 12:42
disbot <antononcube> Also, it can be visualized without some additional legend or explanations. 12:44
Voldenet about the above, rakuast produces very clean `Regex::Assertion::CharClass` btw 12:46
disbot <antononcube> BTW, I used those packages to automate my work with DSL grammars. I haven't used them in the last few years. Also, at this point, LLMs can be used instead. But it will be good idea to make them work in more robust manner.
Voldenet meh idk, LLMs are not good fit for code that should be fully generated 12:47
it's possible to convert RakuAST to ebnf directly and the other way around 12:48
and I'd rather ask LLM for the converter
disbot <antononcube> Agh, yes, I made "Grammar::TokenProcessing" because RakuAST was not that useful or accessible at the time. And the advances or RakuAST means less need that package.
<antononcube> Right, I would rather have a deterministic converter. And, yeah, should not be hard to make one with the current LLMs / AI-agents. 12:49
Voldenet yeah, RakuAST makes such code easier to write for sure 12:50
but it'd still be large project, especially when you consider that raku grammars are way richer than ebnf 12:52
disbot <antononcube> I was given a similar warning few years ago -- Raku grammars are too rich, etc, to make an interpreter of them. 12:54
<antononcube> But, of course, one can make a parser-interpreter on a subset of Raku grammars. (Like, "Grammar::TokenProcessing".)
<antononcube> In my opinion, grammar converters are "must have" for the Raku ecosystem. 12:55
<antononcube> (Since, grammars, are Raku's "calling card".) 12:56
<antononcube> For example, this grammar converter "ANTLR4::Grammar" has to be reviewed / updated / extended. 12:59
<antononcube> That package converts ANTLR grammars to Raku. But it can also convert Raku grammars to ANTLR then dedicated visualizers can be used. (Standalone, via packages, or IDEs.) 13:02
lizmat sadly DrForr is no longer among us, so somebody else will need to do that 13:03
El_Che :( 13:04
lizmat if more people would donate to raku.foundation/Donations we could actually set up a grant system to pay someone to do that 13:15
(as afaik TPRF will no longer accept new Raku grant requests)
Voldenet antononcube: that was easier than I expected glot.io/snippets/hmcin3oqkl 13:20
[Coke] Speaking of donations - I'm sure this is not easy to setup on the donation side, but I'd be willing to do matching donations up to a limit. 13:22
(I'm also not sure if there are rules about that sort of thing on the foundation side. I know this is a common thing in the US) 13:24
lizmat Actually, this was discussed in the board, and it was felt it would be too soon to do this 13:25
disbot <antononcube> @Voldenet Ollama LLMs -- i.e. relatively small ones, run locally -- can reliably produce Mermaid-JS visualizations: 13:26
<antononcube> cdn.discordapp.com/attachments/633...85448&
[Coke] ah. Well, instead I encourage everyone to donate a small amount if they can. 13:27
Voldenet yes, but it's such a waste of cpu power to get something non-deterministic 13:28
it's like writing a calculator with an llm
disbot <antononcube> @Voldenet Even very detailed ones:
<antononcube> cdn.discordapp.com/attachments/633...4c3c2&
<antononcube> I understand, but that is not a great argument.
<antononcube> I prefer deterministic solutions, of course, but with the LLMs I can easily get "one of" results and move on. 13:29
Voldenet depends on the use case I suppose 13:30
disbot <antononcube> Well, sort of. LLMs being unreliable and slow can make certain "LLM employment" a fairly long and frustrating endeavor. 13:31
Voldenet I'm proudly writing scripts for 4 hours so I can avoid 20 minutes of work, but then I can do that work in just 5 seconds! :P
disbot <antononcube> I made a model about LLM usage accumulation of money and frustration 3 years ago. Now it is old, because of the AI-agents use. 13:33
[Coke] Voldenet: story of my life. 13:34
disbot <antononcube> But, much of my LLM-related work (I get payed for) comes from the perspective that LLMs are unreliable and slow.
ab5tract [Coke]++ # for his very generous offer 14:18
[Coke] ab5tract: I didn't mention how much, maybe it's not that generous. :)
ab5tract while true, it's still a very appreciated gesture regardless of whatever details you fill in later 14:19
mayhaps it will even inspire some others to follow your example :) 14:28
15:40 human-blip left 15:42 human-blip joined 15:48 human-blip left 15:50 human-blip joined 15:52 Geth__ joined 15:53 Geth__ left, Geth__ joined 15:54 ChanServ sets mode: +o lizmat 15:55 Geth left 15:56 Geth__ left, Geth joined, ChanServ sets mode: -o lizmat 17:02 dakkar left 19:59 johnjay left 20:21 pippo joined 20:24 johnjay joined
pippo m: my %a = 'A' => 1, B => '1', C => '3'; %a.append('A' => 2); 20:28
camelia ( no output )
pippo m: my %a = 'A' => 1, B => '1', C => '3'; say %a.append('A' => 2); 20:29
camelia {A => [1 2], B => 1, C => 3}
pippo m: my %a = 'A' => 1, B => '1', C => '3'; %a ,= 'A' => 2; say %a; 20:30
camelia {A => 2, B => 1, C => 3}
pippo is ",=" supposed to replace or append? 20:31
In the documentation ",=' seems to be a concatenation operator... 20:33
20:40 pippo left 21:21 kelt0m left 21:23 kelt0m joined 21:28 johnjay left 21:30 johnjay joined 21:31 johnjay left 21:32 johnjay joined
ugexe %a ,= 'A' => 2 means %a = %a, 'A' => 2 21:41
22:00 johnjay left
disbot <demanddystopia> is the documentation wrong or slightly misleading then? 22:10
<demanddystopia> cause it says > Creates an object that concatenates, in a class-dependent way, the contents of the variable on the left-hand side and the expression on the right-hand side: but it doesn't seem to do the contents but the variable itself? Or maybe that's a consequence of the item context stuff idk, just felt that it rarely behaved as I thought it would 22:12
22:19 DemandDystopia joined 22:25 DemandDystopia left 22:26 DemandDystopia joined 22:27 DemandDystopia left, DemandDystopia joined 22:33 DemandDystopia left 22:37 johnjay joined
lizmat weekly: andrewshitov.com/2026/09/15/raku-l...-italiano/ 22:48
notable6 lizmat, Noted! (weekly)
23:41 Sgeo joined 23:55 lucs left