🦋 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 codesections joined 00:02 reportable6 joined 00:12 djinni` joined 01:27 codesections left 03:08 MasterDuke left 06:00 reportable6 left 06:02 reportable6 joined 07:26 benchable6 left, greppable6 left, bisectable6 left, sourceable6 left, quotable6 left, statisfiable6 left, releasable6 left, committable6 left, coverable6 left, notable6 left, shareable6 left, reportable6 left, evalable6 left, linkable6 left, nativecallable6 left, tellable6 left, unicodable6 left, notable6 joined, evalable6 joined 07:27 reportable6 joined, releasable6 joined, linkable6 joined, nativecallable6 joined 07:28 bisectable6 joined, benchable6 joined, coverable6 joined, committable6 joined, shareable6 joined, quotable6 joined 07:29 statisfiable6 joined, greppable6 joined, tellable6 joined, sourceable6 joined, unicodable6 joined 08:20 Xliff joined 08:30 sena_kun joined 10:15 sourceable6 left, unicodable6 left, benchable6 left, linkable6 left, nativecallable6 left, evalable6 left, reportable6 left, shareable6 left, greppable6 left, releasable6 left, statisfiable6 left, committable6 left, quotable6 left, tellable6 left, coverable6 left, squashable6 left, notable6 left, bloatable6 left, bisectable6 left, reportable6 joined, tellable6 joined, sourceable6 joined, squashable6 joined 10:16 releasable6 joined, shareable6 joined, committable6 joined, evalable6 joined, bisectable6 joined, benchable6 joined, statisfiable6 joined 10:17 bloatable6 joined, coverable6 joined, nativecallable6 joined, notable6 joined, greppable6 joined 10:18 quotable6 joined, linkable6 joined, unicodable6 joined 11:24 unicodable6 left, bloatable6 left, sourceable6 left, reportable6 left, notable6 left, nativecallable6 left, shareable6 left, tellable6 left, statisfiable6 left, quotable6 left, benchable6 left, evalable6 left, greppable6 left, committable6 left, squashable6 left, releasable6 left, bisectable6 left, coverable6 left, linkable6 left 11:25 bloatable6 joined, nativecallable6 joined, squashable6 joined, benchable6 joined, evalable6 joined, bisectable6 joined 11:26 linkable6 joined, sourceable6 joined, unicodable6 joined, greppable6 joined, notable6 joined, coverable6 joined, committable6 joined 11:27 reportable6 joined, statisfiable6 joined, releasable6 joined, tellable6 joined, shareable6 joined, quotable6 joined
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)
nine Oh boy, that one was seriously hard to get to. I hope this is the final version 11:33
12:00 reportable6 left
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.
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
12:02 reportable6 joined 13:02 bisectable6 left, statisfiable6 left, notable6 left, squashable6 left, nativecallable6 left, linkable6 left, reportable6 left, quotable6 left, releasable6 left, committable6 left, greppable6 left, unicodable6 left, bloatable6 left, benchable6 left, shareable6 left, evalable6 left, sourceable6 left, greppable6 joined, releasable6 joined, bloatable6 joined 13:03 reportable6 joined, nativecallable6 joined, linkable6 joined, committable6 joined, notable6 joined, shareable6 joined, evalable6 joined 13:04 sourceable6 joined, quotable6 joined, unicodable6 joined, bisectable6 joined 13:05 benchable6 joined, squashable6 joined, statisfiable6 joined 14:05 evalable6 left, linkable6 left
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 evalable6 joined 14:08 linkable6 joined
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<😂>
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.
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.
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
15:27 tellable6 left, coverable6 left, sena_kun left, djinni` left, rypervenche left, zostay left, tellable6 joined, coverable6 joined, sena_kun joined, zostay joined 15:28 rypervenche joined, rypervenche left, rypervenche joined 15:29 djinni` joined
nine Huh... it's the new IMPL-INTERPRET in RakuAST::Circumfix::ArrayComposer 15:35
15:35 [TuxCM] left
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
15:36 [TuxCM] joined
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.
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
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
the odd thing is, that if I put a line before that with just:
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
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.
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
lizmat no change in # of tests
Geth rakudo/main: eddff44ea3 | (Elizabeth Mattijsen)++ | src/core.c/RakuAST/LegacyPodify.pm6
RakuAST: correct Doc::Para.contents generation
lizmat fixes quite a few tests, but no complete files yet
16:47 linkable6 left, evalable6 left 16:48 evalable6 joined 16:49 linkable6 joined 17:01 [TuxCM] left 17:02 [TuxCM] joined 17:09 [TuxCM] left 17:33 [TuxCM] joined 17:44 lucs_ is now known as lucs
timo looks like Pod::To::HTML is failing its tests? 17:59
18:00 reportable6 left 18:01 reportable6 joined
lizmat ah? 18:06
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
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!
19:23 linkable6 left 19:25 linkable6 joined
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
20:58 evalable6 left, linkable6 left 20:59 linkable6 joined 21:00 evalable6 joined
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
21:15 hythm joined 21:18 vrurg left
timo nine: what happened here? ` sub ***@***.*** = [] but DefaultValue) {` 21:23
that's a very interesting name for a sub
21:31 vrurg joined 22:20 hythm left 22:22 sena_kun left
timo we have no nqp op that would empty out a nqp::hash?(( 22:53