[00:04] *** seednode left [00:06] *** seednode joined [00:08] *** reportable6 left [00:33] *** RakuIRCLogger left [00:33] *** RakuIRCLogger joined [00:38] *** lichtkind left [00:42] *** jjido left [00:45] *** [Coke]_ is now known as [Coke] [00:45] <[Coke]> Moritz's [01:10] *** reportable6 joined [01:59] *** monkey_ left [02:08] *** melezhik joined [02:08] Happy new year indeed! [02:09] To all raku people ))) [02:19] *** melezhik left [03:19] *** committable6 left [03:19] *** statisfiable6 left [03:19] *** reportable6 left [03:19] *** nativecallable6 left [03:19] *** bisectable6 left [03:19] *** bloatable6 left [03:19] *** greppable6 left [03:19] *** notable6 left [03:19] *** evalable6 left [03:19] *** quotable6 left [03:19] *** shareable6 left [03:19] *** releasable6 left [03:19] *** squashable6 left [03:19] *** linkable6 left [03:19] *** tellable6 left [03:19] *** coverable6 left [03:19] *** sourceable6 left [03:19] *** unicodable6 left [03:19] *** benchable6 left [03:20] *** unicodable6 joined [03:21] *** coverable6 joined [03:21] *** tellable6 joined [03:21] *** sourceable6 joined [03:21] *** bisectable6 joined [03:21] *** benchable6 joined [03:22] *** notable6 joined [03:22] *** shareable6 joined [03:22] *** squashable6 joined [03:23] *** releasable6 joined [03:40] Happy new year #raku, fewer bugs and luckier optimizations ;) [04:07] *** Xliff_ left [04:20] *** quotable6 joined [04:20] *** statisfiable6 joined [04:21] *** linkable6 joined [04:21] *** greppable6 joined [04:21] *** committable6 joined [04:22] *** evalable6 joined [04:23] *** bloatable6 joined [05:23] *** evalable6 left [05:23] *** committable6 left [05:23] *** quotable6 left [05:23] *** unicodable6 left [05:23] *** bloatable6 left [05:23] *** releasable6 left [05:23] *** statisfiable6 left [05:23] *** tellable6 left [05:23] *** benchable6 left [05:23] *** squashable6 left [05:23] *** greppable6 left [05:23] *** notable6 left [05:23] *** linkable6 left [05:23] *** coverable6 left [05:23] *** bisectable6 left [05:23] *** shareable6 left [05:23] *** sourceable6 left [05:24] *** greppable6 joined [05:24] *** bisectable6 joined [05:25] *** releasable6 joined [05:25] *** statisfiable6 joined [05:25] *** squashable6 joined [05:26] *** sourceable6 joined [05:26] *** unicodable6 joined [06:09] *** reportable6 joined [06:20] *** tejr joined [06:23] *** tellable6 joined [06:24] *** notable6 joined [06:25] *** evalable6 joined [06:26] .tell spacekookie you need to make newline optional in `TOP`, because you're matching it with ` \v ` in token `line`. and you need to add whitespace in token `scope`, `[ \h* \v+ ]*`. and here's how I would write it: https://gist.github.com/CIAvash/e7d877b9c394f9b8b342c8f9fde90fe1 [06:26] CIAvash, I'll pass your message to spacekookie [07:23] *** coverable6 joined [07:23] *** bloatable6 joined [07:25] *** quotable6 joined [07:25] *** linkable6 joined [07:26] *** benchable6 joined [07:28] *** seednode left [07:29] *** seednode joined [07:45] *** lichtkind joined [08:26] *** committable6 joined [08:38] *** Some-body_ joined [08:39] *** DarthGandalf left [08:41] *** Some-body_ is now known as DarthGandalf [09:25] *** shareable6 joined [10:20] *** Sgeo left [10:21] *** nativecallable6 joined [11:21] *** evalable6 left [11:21] *** linkable6 left [11:22] *** evalable6 joined [11:23] *** linkable6 joined [11:29] * lizmat wishes the #raku people a enjoyful 2022! [11:34] I have an half hour, let's have a look at that pesky arm64 :) [11:35] * El_Che scrolled through the module security discussion and it may be something that could bite us in the ass. Maybe no technical solution is needed, but the documentation should be very explicit about it [11:36] furthermore a duplication information in a meta6.json and in the source files will result in inconsistencies [11:59] *** jjido joined [12:02] ok, a hello world form of success: [12:02] uname -a [12:02] Linux cirrus-ci-task-6084719229009920 5.4.129-63.229.amzn2.aarch64 #1 SMP Tue Jul 20 21:22:19 UTC 2021 aarch64 aarch64 aarch64 GNU/Linux [12:02] :) [12:03] the trick is to avoid a timeout for 22 consecutive builds (the os+version matrix I build atm) [12:04] El_Che++ [12:08] *** reportable6 left [12:11] *** reportable6 joined [12:12] too bad github does not offer arm64, yet another CI system to learn [12:17] *** lichtkind_ joined [12:19] *** lichtkind left [13:16] arm64 builds will be throtled and this will make failing flapper tests very painful [13:19] *** linkable6 left [13:19] *** evalable6 left [13:21] *** linkable6 joined [13:33] Happy New Year, everyone! [13:34] @lizmat I submitted a FOSDEM22 presentation proposal yesterday. [13:35] @lizmat Since, well, I promised I will do that. It is titled "Multi-language Data Wrangling and Acquisition Conversational Agents". [14:00] *** jjido left [14:01] *** jjido joined [15:08] *** discord-raku-bot left [15:08] *** discord-raku-bot joined [15:09] *** jjido left [15:10] *** jjido joined [15:11] Anton Antonov++ [15:32] *** jjido left [16:01] *** kjp left [16:03] *** kjp joined [16:20] *** MoC joined [16:20] @lizmat I got a message from Andrew Shitov that it is accepted. [16:21] *** evalable6 joined [17:03] *** jjido joined [17:09] *** ProperN[out] left [17:10] *** ProperNoun joined [17:13] *** abraxxa-home joined [17:26] *** dextercd joined [18:04] *** djerius left [18:05] *** djerius joined [18:07] *** reportable6 left [18:10] *** jjido left [18:26] *** jjido joined [19:08] *** reportable6 joined [19:10] *** xinming joined [19:30] Hrm [19:30] m: class A { method foo { 'ok' } }; role B { method foo { callsame } }; my $a = A.new; $a does B; $a.foo.say; [19:30] rakudo-moar a10042dd9: OUTPUT: «ok␤» [19:31] m: class A { method foo { 'ok' } }; role B { multi method foo { callsame } }; my $a = A.new; $a does B; $a.foo.say; [19:31] rakudo-moar a10042dd9: OUTPUT: «ok␤» [19:32] that's what I'd expect but I'm getting Nil on both older and more recent branches [19:32] bisectable class A { method foo { "ok" } }; role B { multi method foo { callsame } }; my $a = A.new; $a does B; $a.foo.say; [19:34] *** Sgeo joined [19:34] looks like camelia is stuck on a commit from nov 19 [19:35] I'm not entirely sure though if Nil or 'ok' is the correc tthough. As I understand it, if A doesn't declare it as multi, then if B does, all of B's candidates will be exhausted before it's dispatched to A [19:36] actually nm on this machine I only have 2021.05, let me check on one with more recent. Maybe this is just something new-disp fixed [19:36] evalable6: class A { method foo { 'ok' } }; role B { multi method foo { callsame } }; my $a = A.new; $a does B; $a.foo.say; [19:36] MasterDuke, rakudo-moar 45510b4fa: OUTPUT: «ok␤» [19:37] evalable6: role A { multi method CALL-ME(Str:D $a, Str:D $b) { $a ~ $b } }; &infix:<+> does A; my $x = "a"; $x += "b"; say $x; my $y = 0; $y += 1; say $y; [19:37] guifa, rakudo-moar 45510b4fa: OUTPUT: «(exit code 1) ab␤Died with X::Multi::NoMatch␤␤» [19:37] oh, they're still stuck because of the force push [19:38] committable6: 2021.12 class A { method foo { 'ok' } }; role B { multi method foo { callsame } }; my $a = A.new; $a does B; $a.foo.say; [19:38] MasterDuke, ¦2021.12: «ok␤» [19:39] committable6: 2021.12 role A { multi method CALL-ME(Str:D $a, Str:D $b) { $a ~ $b } }; &infix:<+> does A; my $x = "a"; $x += "b"; say $x; my $y = 0; $y += 1; say $y; [19:39] MasterDuke, ¦2021.12: «ab␤Died with X::Multi::NoMatch␤␤ «exit code = 1»» [19:40] committable6: role A { multi method CALL-ME(Str:D $a, Str:D $b) { $a ~ $b }; multi method CALL-ME(|c) { say 'falling back'; callsame } }; &infix:<+> does A; my $x = "a"; $x += "b"; say $x; my $y = 0; $y += 1; say $y; [19:40] guifa, ¦role: «Cannot find this revision (did you mean “coke”?)» [19:40] err [19:40] committable 2021.12 role A { multi method CALL-ME(Str:D $a, Str:D $b) { $a ~ $b }; multi method CALL-ME(|c) { say 'falling back'; callsame } }; &infix:<+> does A; my $x = "a"; $x += "b"; say $x; my $y = 0; $y += 1; say $y; [19:41] m: role A { multi method CALL-ME(Str:D $a, Str:D $b) { $a ~ $b }; multi method CALL-ME(|c) { say 'falling back'; callsame } }; &infix:<+> does A; my $x = "a"; $x += "b"; say $x; my $y = 0; $y += 1; say $y; [19:41] rakudo-moar a10042dd9: OUTPUT: «ab␤falling back␤(Any)␤» [19:41] needs : or , after the name [19:42] committable: 2021.12 role A { multi method CALL-ME(Str:D $a, Str:D $b) { $a ~ $b }; multi method CALL-ME(|c) { say 'falling back'; callsame } }; &infix:<+> does A; my $x = "a"; $x += "b"; say $x; my $y = 0; $y += 1; say $y; [19:42] MasterDuke, ¦2021.12: «ab␤falling back␤(Any)␤» [19:46] I'm guessing the issue is that CALL-ME is a submethod rather than a method [19:46] *** jjido left [19:47] which normally would be fine: [19:47] m: class A { submethod foo { 'ok' } }; role B { submethod foo { self.A::foo } }; my $a = A.new; $a does B; $a.foo.say; [19:47] rakudo-moar a10042dd9: OUTPUT: «Cannot dispatch to method foo on A because it is not inherited or done by A+{B}␤ in submethod foo at line 1␤ in block at line 1␤␤» [19:54] okay, so there we go, issue golfed: how to access an A's foo from B ? [19:55] committable6: releases class A { submethod foo { 'ok' } }; role B { submethod foo { self.A::foo } }; my $a = A.new; $a does B; $a.foo.say; [19:56] MasterDuke, https://gist.github.com/866682f39ae5f2ce6d3c68179ff362fe [19:56] bisectable6: old=2021.09 new=2021.10 class A { submethod foo { 'ok' } }; role B { submethod foo { self.A::foo } }; my $a = A.new; $a does B; $a.foo.say; [19:56] MasterDuke, Bisecting by exit code (old=2021.09 new=2021.10). Old exit code: 0 [19:57] MasterDuke, bisect log: https://gist.github.com/e85e641b89fba254c4a70c8cb4ea3130 [19:57] MasterDuke, There are 224 candidates for the first “new” revision. See the log for more details [19:58] guifa: looks like it was the new-disp merge. should probably create an issue and/or ping jnthn [19:59] m: class A { submethod foo { 'ok' } }; role B { submethod foo { A.^methods.head.CALL-ME() } }; my $a = A.new; $a does B; $a.foo.say; [19:59] rakudo-moar a10042dd9: OUTPUT: «No such method 'CALL-ME' for invocant of type 'Submethod'␤ in submethod foo at line 1␤ in block at line 1␤␤» [19:59] * guifa raises an eyebrow [20:00] GOT IT [20:00] m: class A { submethod foo { 'ok' } }; role B { submethod foo { A.^methods.head()(self); } }; my $a = A.new; $a does B; $a.foo.say; [20:00] rakudo-moar a10042dd9: OUTPUT: «ok␤» [20:03] but I feel like there should be a simpler way to access A's submethod in this case [20:46] *** linkable6 left [20:46] *** evalable6 left [20:57] CIAvash: damn thank you! [20:57] hey spacekookie, you have a message: https://gist.github.com/400d756da8db4c5c30908abb4a11f7f1 [20:57] Happy new year btw! [20:58] * spacekookie pats tellable6 [20:59] *** jjido joined [21:22] *** abraxxa-home left [21:31] *** MoC left [21:47] *** linkable6 joined [22:17] *** monkey_ joined [22:18] *** lichtkind_ left [22:49] *** jjido left [23:49] *** committable6 left [23:49] *** coverable6 left [23:49] *** linkable6 left [23:49] *** nativecallable6 left [23:49] *** tellable6 left [23:49] *** releasable6 left [23:49] *** unicodable6 left [23:49] *** sourceable6 left [23:49] *** reportable6 left [23:49] *** statisfiable6 left [23:49] *** notable6 left [23:49] *** quotable6 left [23:49] *** bloatable6 left [23:49] *** bisectable6 left [23:49] *** squashable6 left [23:49] *** shareable6 left [23:49] *** benchable6 left [23:49] *** greppable6 left [23:49] *** squashable6 joined [23:50] *** shareable6 joined [23:50] *** reportable6 joined [23:50] *** releasable6 joined [23:51] *** greppable6 joined [23:51] *** sourceable6 joined [23:51] *** quotable6 joined [23:51] *** tellable6 joined [23:52] *** unicodable6 joined [23:52] *** monkey_ left