🦋 Welcome to the IRC channel of the core developers of the Raku Programming Language (raku.org #rakulang). This channel is logged for the purpose of history keeping about its development | evalbot usage: 'm: say 3;' or /msg camelia m: ... | Logs available at irclogs.raku.org/raku-dev/live.html | For MoarVM see #moarvm
Set by lizmat on 8 June 2022.
00:00 reportable6 left 00:01 reportable6 joined 00:26 japhb left 00:27 japhb joined
Geth rakudo: MasterDuke17++ created pull request #5241:
Copy stuff to RakuAST grammar that uses `.obs`
01:50 japhb left 01:53 japhb joined
tbrowder__ tonyo: looking good, fez-guy! gonna add all functionality of App::Mii6 02:23
02:57 squashable6 left 02:59 squashable6 joined 04:56 bisectable6 left, reportable6 left, evalable6 left, bloatable6 left, linkable6 left, shareable6 left, releasable6 left, sourceable6 left, unicodable6 left, quotable6 left, nativecallable6 left, tellable6 left, benchable6 left, squashable6 left, coverable6 left, committable6 left, greppable6 left, notable6 left, statisfiable6 left, benchable6 joined, unicodable6 joined 04:57 tellable6 joined, quotable6 joined, greppable6 joined 04:58 reportable6 joined, bloatable6 joined, sourceable6 joined, bisectable6 joined, linkable6 joined, shareable6 joined, committable6 joined, statisfiable6 joined, evalable6 joined, notable6 joined 04:59 releasable6 joined, coverable6 joined, nativecallable6 joined, squashable6 joined 06:00 reportable6 left 06:01 reportable6 joined
Geth rakudo/main: b340c2b185 | MasterDuke17++ (committed using GitHub Web editor) | src/Raku/Grammar.nqp
Copy stuff to RakuAST grammar that uses `.obs`

These are directly copied from src/Perl6/Grammar.nqp and are primarily simple cases that just exist to give helpful error messages.
08:01 sena_kun joined
lizmat I see that the V<> formatting code doesn't actually wind up in a FormattingCode object, which feels... wrong? 09:02
I mean, if you want stuff to be used verbatim, maybe you'd want it to be given a special style, rather than just be treated as ordinary content ? 09:03
well, I guess the documentation gives the answer: docs.raku.org/language/pod.html#Verbatim_text 09:04
Nemokosch > only changes the way its contents are parsed, not the way they are rendered this doesn't even make sense 09:11
Is this trying to say that V<> doesn't erase the context it appears in? 09:15
lizmat it doesn't parse its contents for formatting codes, is what it does
Nemokosch Yes, so far so good. But obviously by changing the parsing, you DO change the rendering. The rendering is based on the parsing 09:17
It's the sentence that makes no sense, not the concept
lizmat ah, then make a documentation PR :-) 09:18
Nemokosch First I'd like to know what you deduced from this text 09:19
lizmat nine: maybe a strange idea, but regarding the parsing of pod for formatting codes, perhaps we should do that in Raku ? 09:20
I don't think we have pod in the setting, so we could do that in a module in core, which could be handy to have as a separate thing altogether ? 09:21
so that the Raku Grammar would just pass whatever is between the (conceptual) =begin / =end to a routine that would do the parsing ? 09:22
and that routine would live in core.c
do we have a reason why E<> formatting codes aren't directly rendered to graphemes ? 09:35
nine lizmat: oh I'm usually all for doing things in Raku. The caveat being that as I mentioned my POD knowledge is barely above 0, so I really can't say whether there would be any drawbacks or whether any of this would need to be more integrated into the Raku parser (e.g. for slangs, pragmas or the like) 10:26
lizmat well, it would be the part between =begin foo / =end foo 10:27
with any config already parsed
which you could consider to be a slang already
it would use the same trick as deparsing: a hllsym containing the class to do the parsing 10:28
m: $=pod.push("foo"); dd $=pod # this feels meh 11:51
camelia ["foo"]
12:00 reportable6 left
Nemokosch lol 12:00
12:01 reportable6 joined 14:27 vrurg left 14:38 nine left 14:40 vrurg joined 14:43 camelia left 14:49 camelia joined 15:08 camelia left 15:15 camelia joined 15:18 nine joined
lizmat nine: do we have a way to indicate that a RakuAST::Node does *not* produce any QAST ? 15:48
nine Not that I'm aware of 15:51
lizmat so returning an nqp::null is the closest to it I guess ? 15:56
tonyo tbrowder__: thanks dude
nine I guess you mean QAST::Op.new(:op<null>) 16:14
lizmat yup
[Coke] ...ok, but then it *is* producing QAST, no? :) 16:28
nine Well the whole machinery assumes that QAST is produced, so that is at least QAST with negigible effect. It's not pretty, but it's also low hanging fruit for when everything is finally working and we're looking for opportunities to optimize things. 17:10
lizmat so the way I see it atm, is that pod generates a RakuAST tree of objects, which then gets inserted in the current statement list as a Statement::Pod object 17:16
when the entire RakuAST of a compunit is QASTed, the QAST of the pod is generated into the $!pod-blocks array of the Compilation Unit, pushed one by one as they get to be QASTed 17:18
but the RakuAST pod tree itself would not produce anything (except maybe an nqp::null)
this would allow macros to add pod if they wanted to, specifically Declarator opd 17:19
18:00 reportable6 left 18:03 reportable6 joined 21:38 squashable6 left 21:39 sena_kun left 21:41 squashable6 joined 23:26 evalable6 left, linkable6 left 23:27 linkable6 joined 23:29 evalable6 joined