🦋 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.
MasterDuke hm. looks like `$*LANG.pragma('p5isms')` is always false where i am in the code (my new RakuAST::Call::Name.PERFORM-CHECK method), regardless of whether i have `use isms <Perl5>;` or not... 00:45
but huh, it does hit RakuAST::Pragma.PERFORM-BEGIN with $name eq 'isms' before it gets into my RakuAST::Call::Name.PERFORM-CHECK 01:10
wait, there's no `method pragma` anywhere in the rakudo source?! the only one is in nqp's NQPMatchRole?! 01:17
Geth rakudo/main: fa2b9e34b4 | (Elizabeth Mattijsen)++ | src/core.c/Str.pm6
Introduce Str.is-whitespace implementation detail method

Returns True of the string is empty, or consists of just whitespace
13:11
rakudo/main: a7571cb482 | (Elizabeth Mattijsen)++ | 3 files
RakuAST: step 1 of full RakuDoc intergration into the grammar

This commit rips out all of the old grammar / actions support for pod blocks, and replaces this by a new simplified "slang" that creates the new RakuAST::Doc::xxx objects. Sadly, it couldn't be made into a true slang yet, but that may be possible in the future. It's basically a very limited set of tokens and action ... (15 more lines)
[TuxCM] I have what I want now working as intended thanks to the collective ideas I got here. Of course I want more, but that has to be postponed for now 13:13
Thanks!
lizmat make test: +1 (139/150) make spectest: +1 (792/1355)
[TuxCM] Rakudo v2023.04-19-ga7571cb48 (v6.d) on MoarVM 2023.04-1-g965be0af5
csv-ip5xs0.803 - 0.816
csv-ip5xs-205.016 - 5.100
csv-parser3.819 - 3.975
csv-test-xs-200.382 - 0.383
test6.211 - 7.339
test-t1.335 - 1.449
test-t --race0.822 - 0.838
test-t-2022.262 - 22.854
test-t-20 --race6.168 - 6.629
13:34
[Coke] lizmat: Ugh. So even with skipping the comments, I'm finding other issues, like extra trailing commas (some of which are only an issue because they commented out the last X lines of the JSON) 16:19
lizmat meh, but is that valid JSONC ? 16:20
[Coke] skipping the comments with a regex was very easy, however. I may try to extend it to strip out trailing commas as well, or just complain to the devs to clean up the JSON
I can't find a spec, but I do see github.com/Microsoft/node-jsonc-parser which specifically has an option for it. 16:22
regexes++ 16:29
[Coke] oops, found I wasn't dealing with \\'s in strings, only \"; even with all these allowances, still found one JSON file that doesn't parse due to a *missing* comma instead of an extra one. :) 16:40
lizmat so what generates such dirty JSON files? some JS ? 16:41
[Coke] People. 16:53
ha. Couldn't figure out why this last one was failing... non-breaking spaces separating array elements.
the MS tooling seems to be much more lenient about this kind of thing, which I hate. 16:54
Guessing this particular one was cut and paste from a word doc or a web page. 16:55
lizmat meh, the "make test" +1 was a false positive 16:58
Geth rakudo/main: c7f4ab142d | (Elizabeth Mattijsen)++ | src/Raku/Grammar.nqp
RakuAST: doc-content doesn't need to have a proto
17:22
nine MasterDuke: yes, even Raku::Grammar uses ome NQP infrastructure (though a lot less than Perl6::Grammar) 19:18
lizmat: a7571cb482847267c176455e9d1b6680c0511a4c broke t/02-rakudo/16-begin-time-eval.t 20:47
MasterDuke nine: hm, but `$*LANG.pragma('p5isms')` always being false after `RakuAST::Pragma.PERFORM-BEGIN` is called definitely seems like a bug 21:22
nine lizmat: apparently alsot/spec/APPENDICES/A03-older-specs/01-misc.rakudo.moar "Method 'from-paragraphs' not found for invocant of class 'RakuAST::Doc::Block" 21:24
MasterDuke: if you use a dynamic variable in a RakuAST node's code you are holding it wrong (or are doing something very, very special in which case you know that it's correct) 21:28
Geth rakudo/main: 7b86e38b7e | (Stefan Seifert)++ | 3 files
RakuAST: make variables available to their initializers

Fixes my $sub = sub () { $sub() };
lizmat nine: that one will be fixed when core.c will always get loaded 21:31
tellable6 2023-04-28T19:33:05Z #raku <tbrowder__> lizmat look8ng
2023-04-28T19:35:52Z #raku <tbrowder__> lizmat it may be a role or class, surprising me, but given complexity of pdf it makes sense, we'll see, lots of code to download
nine MasterDuke: pragmas can only be checked in Grammar and Actions (that one place in Raku/ast/code.rakumod looks wrong) 21:32
lizmat pretty sure t/02-rakudo/16-begin-time-eval.t will be fixed then as well
nine Ok. Please don't push any commits to main that regress tests. It's a lot of work to find out whether it was one of my changes that's responsible or not. 21:33
MasterDuke: so in short, check that pragma in the actions code and pass it as flag to the RakuAST node so you can access it later in the PERFORM-CHECK method. 21:37
lizmat nine: tried to automagically load the core.c setting, but alas, no such luck :-( 22:01