🦋 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.
Geth rakudo/main: a72af165c4 | (Stefan Seifert)++ | 8 files
RakuAST: Report illegal postdeclaration of normal variables

Makes my $i; { $i++; my $i; } fail properly
This replaces the mechanism previously used for finding illegal post declarations of dymanic variables. Instead of relying on the order that nodes are attached to the tree, we instead piggy back on the traversal ... (6 more lines)
11:32
nine Oh boy, that one was seriously hard to get to. I hope this is the final version 11:33
Geth rakudo/main: 3b302c06be | (Elizabeth Mattijsen)++ | 3 files
RakuAST: make StatementList.code-statements an attribute

This is being used in several locations over the lifetime of the object, so better make it a full citizen (although a method to be used only internally).
Basicall, use StatementList.add-statement to add a statement, and StatementList.add-doc-block to add a Doc block. No external changes.
12:00
rakudo/main: 904d312645 | (Elizabeth Mattijsen)++ | src/core.c/RakuAST/Fixups.pm6
RakuAST: add special handling of X<> doc markup

It was not being handled properly before
Geth roast: eaba690eb5 | (Stefan Seifert)++ | S02-names-vars/variables-and-packages.t
Fix some error tests containing unrelated errors

These tests depended on the exact order the compiler detects error conditions. They are not about how to properly declare unit scoped packages, so fix that mistake and only test handling the interesting error.
14:07
Geth rakudo/main: eef4a7caec | (Stefan Seifert)++ | 4 files
RakuAST: get more canonicalization of names correct

Now correctly canoniclizes $today:foo["a","b"]:bar:baz["😂"] to
  $today:foo<a b>:bar:baz<😂>
14:18
rakudo/main: 97325f6511 | (Stefan Seifert)++ | src/Raku/Grammar.nqp
RakuAST: restore detection of Perl5 variable usage
rakudo/main: 9ca2e9d168 | (Stefan Seifert)++ | src/Raku/Grammar.nqp
RakuAST: restore proper error message on accidental sigilless declarations
nine The only failures remaining in t/spec/S02-names-vars/varnames.rakudo.moar are now due to the RakuAST frontend reporting an additional error on my a = 10; It reports that a is not known as a type in addition to the malformed my. 14:19
Oh, I think that can be fixed by changing the order in the grammar :) 14:22
Geth rakudo/main: f4f6166343 | (Stefan Seifert)++ | src/Raku/Grammar.nqp
RakuAST: avoid additional sorry on accidental sigilless declarations

Fixes my a; reporting unknown type a + the malformed my error. The latter is enough.
14:28
rakudo/main: 38cdaf3c1f | (Elizabeth Mattijsen)++ | 5 files
RakuAST: move podification to RakuAST::LegacyPodify

For now, no functional changes. But in the not too distant future it should be possible to plug in another logic to create RakuDoc objects from the provided RakuAST::Doc classes, and thus be able to customize what winds up in $=pod.
14:47
lizmat nine: seems t/spec/S32-array/splice.t regressed ? 15:01
nine That one has never passed for me? 15:18
Oh, wait, it's t/spec/S32-array/splice.rakudo.moar in the test log 15:20
lizmat sorry, yeah...
nine I seem to have missed that regression in RakuAST: get more canonicalization of names correct 15:24
nine Huh... it's the new IMPL-INTERPRET in RakuAST::Circumfix::ArrayComposer 15:35
nine Which totally makes sense. After all for a one-elememnt list it just returns that element instead of an array holding that element 15:35
nine Yeah, need to pass the result to Array.new 15:41
Geth rakudo/main: e253ce4542 | (Elizabeth Mattijsen)++ | 2 files
RakuAST: fix empty =begin foo␤=end foo

The problem was caused by the = on the next line already having been eaten by doc-configuration.
15:42
lizmat sadly no new passing tests :-(
Geth rakudo/main: 3a80128533 | (Stefan Seifert)++ | src/Raku/ast/circumfix.rakumod
RakuAST: fix interpretation of ArrayComposer returning non-Array
15:48
nine 797! Sorry for the noise
lizmat nine: I think I found a bunch of LHF in t/spec/S26-documentation/01-delimited.t and friends 15:52
it currently fails with: Cannot resolve caller postcircumfix:<[; ]>(Array:D, Int:D); none of these signatures matches:
and it fails on: 15:53
$=pod[0]
the odd thing is, that if I put a line before that with just:
$=pod
the following tests are ok, until the next time $=pod[N] is done
putting a $=pod before that, fixes those tests 15:54
etc etc
golfed to: 15:56
=begin foo
=end foo
say $=pod[0];
evalable6 (Any)
lizmat ok, RakuAST codegens it to a call &postcircumfix:<[; ]> 15:58
legacy correctly codegens this to call &postcircumfix:<[ ]>
nine: any idea on where to look for that ? 16:01
think I found it 16:05
testing...
Geth rakudo/main: edaa90ac6d | (Elizabeth Mattijsen)++ | src/Raku/ast/expressions.rakumod
RakuAST: correctly determine type of postcircumfix op

Having pod blocks in there, caused the wrong decision to be made. So look at the number of statements with code only.
16:17
lizmat 798!
nine nice!
Have you looked at other places where .statements is called?
lizmat this unbreaks most of the pod tests, which now fail for very small content differences
I thought I had covered them all already :-( 16:18
aah... more places
Geth rakudo/main: 654fb38007 | (Elizabeth Mattijsen)++ | 4 files
RakuAST: fix some more places where code-statements should be used
16:34
lizmat no change in # of tests
Geth rakudo/main: eddff44ea3 | (Elizabeth Mattijsen)++ | src/core.c/RakuAST/LegacyPodify.pm6
RakuAST: correct Doc::Para.contents generation
16:42
lizmat fixes quite a few tests, but no complete files yet
timo looks like Pod::To::HTML is failing its tests? 17:59
lizmat ah? 18:06
recently?
timo no idea tbh 18:07
[Coke] github.com/Raku/Pod-To-HTML is passing tests in git clone here. 18:30
Geth rakudo/main: 8d74e4e775 | (Stefan Seifert)++ | 4 files
RakuAST: support the is-dynamic pragma
18:42
timo gist.github.com/timo/45a0e190a81df...c7509bf6be [Coke] this is what i see locally 19:04
[Coke] timo: OS, raku version? 19:08
timo Implementing the Raku® Programming Language v6.d. 19:09
Built on MoarVM version 2023.02-3-g6adfc376c.
i'm on a fedora kinoite 38-prerelease inside a toolbox with the registry.fedoraproject.org/fedora-toolbox:38 image
Welcome to Rakudo™ v2023.02-302-g30e15f040. 19:10
.2 sounds a little old, huh
ah, but the commit is only like 2 weeks old 19:11
[Coke] yah, we skipped 3 and did 4, I think. 19:13
wonder if it's a recent commit to Pod2html that fixed something.
can you try running the tests in the git clone?
timo ah, between a release and the main branch
i'm now rebuilding my raku with a newer version %)
[Coke] ok 19:14
timo ok i did git clone [email@hidden.address] then cd into that and run "zef test ." and i get exceptions
ok i did git clone git@github.com:Raku/Pod-To-Html then cd into that and run "zef test ." and i get exceptions
any reason the toc calculator would no longer know what to do with Pod::Declarator? or a reason why it wouldn't have been asked to try that before? 19:20
[Coke] working for me on 2023.02 - trying latest... 19:22
Geth rakudo/main: 80c35e4273 | (Stefan Seifert)++ | src/Raku/ast/variable-access.rakumod
RakuAST: support binding to pseudo package variables

E.g. $CALLER::foo := 1;
nine 800!
timo * 531049679 - Revert "Introduce Pod::Declarator class" (2 weeks ago) <Elizabeth Mattijsen>
this may have introduced this declarator class and there needed to be an addition to Pod::To::HTML to deal with it 19:23
nine: way cool!
timo i now see the "Revert" in there %) 19:25
not sure if the right fix is just to copy the implementation of find-headings(Pod::Block,...) and match Pod::Declarator but it does get the tests working (writing more tests could be wise): 19:28
a new version of JSON::Fast is up, it now allows parsing jsonc, i.e. "json with c-style line and block comments" when the allow-jsonc option is turned on 19:49
much thanks to lizmat for the work 19:50
and another new release with support for a custom argument to sorted-keys that will be passed to .sort, so can be a one- or two-arity function 20:39
timo in an EXPORT sub do we have access to things that are already in the scope we're exporting into? 21:08
i'm thinking of letting a sub be passed by local name into "use JSON::Fast" for sorted keys and also a new secret fun feature
but of course use only takes strings
timo nine: what happened here? ` sub ***@***.*** = [] but DefaultValue) {` 21:23
that's a very interesting name for a sub
timo we have no nqp op that would empty out a nqp::hash?(( 22:53