🦋 Welcome to the MAIN() IRC channel of the Raku Programming Language (raku.org). This channel is logged for the purpose of keeping a history about its development | evalbot usage: 'm: say 3;' or /msg camelia m: ... | Log inspection is getting closer to beta. If you're a beginner, you can also check out the #raku-beginner channel!
Set by lizmat on 25 August 2021.
00:04 seednode left 00:06 seednode joined 00:08 reportable6 left 00:33 RakuIRCLogger left, RakuIRCLogger joined 00:38 lichtkind left 00:42 jjido left 00:45 [Coke]_ is now known as [Coke]
[Coke] Moritz's 00:45
01:10 reportable6 joined 01:59 monkey_ left 02:08 melezhik joined
melezhik Happy new year indeed! 02:08
To all raku people ))) 02:09
02:19 melezhik left 03:19 committable6 left, statisfiable6 left, reportable6 left, nativecallable6 left, bisectable6 left, bloatable6 left, greppable6 left, notable6 left, evalable6 left, quotable6 left, shareable6 left, releasable6 left, squashable6 left, linkable6 left, tellable6 left, coverable6 left, sourceable6 left, unicodable6 left, benchable6 left 03:20 unicodable6 joined 03:21 coverable6 joined, tellable6 joined, sourceable6 joined, bisectable6 joined, benchable6 joined 03:22 notable6 joined, shareable6 joined, squashable6 joined 03:23 releasable6 joined
Voldenet Happy new year #raku, fewer bugs and luckier optimizations ;) 03:40
04:07 Xliff_ left 04:20 quotable6 joined, statisfiable6 joined 04:21 linkable6 joined, greppable6 joined, committable6 joined 04:22 evalable6 joined 04:23 bloatable6 joined 05:23 evalable6 left, committable6 left, quotable6 left, unicodable6 left, bloatable6 left, releasable6 left, statisfiable6 left, tellable6 left, benchable6 left, squashable6 left, greppable6 left, notable6 left, linkable6 left, coverable6 left, bisectable6 left, shareable6 left, sourceable6 left 05:24 greppable6 joined, bisectable6 joined 05:25 releasable6 joined, statisfiable6 joined, squashable6 joined 05:26 sourceable6 joined, unicodable6 joined 06:09 reportable6 joined 06:20 tejr joined 06:23 tellable6 joined 06:24 notable6 joined 06:25 evalable6 joined
CIAvash .tell spacekookie you need to make newline optional in `TOP`, because you're matching it with `<scopeword> \v <scope>` in token `line`. and you need to add whitespace in token `scope`, `[ \h* <scope-line> \v+ ]*`. and here's how I would write it: gist.github.com/CIAvash/e7d877b9c3...f9fde90fe1 06:26
tellable6 CIAvash, I'll pass your message to spacekookie
07:23 coverable6 joined, bloatable6 joined 07:25 quotable6 joined, 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, linkable6 left 11:22 evalable6 joined 11:23 linkable6 joined
lizmat wishes the #raku people a enjoyful 2022! 11:29
El_Che I have an half hour, let's have a look at that pesky arm64 :) 11:34
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:35
furthermore a duplication information in a meta6.json and in the source files will result in inconsistencies 11:36
11:59 jjido joined
El_Che ok, a hello world form of success: 12:02
uname -a
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
:)
the trick is to avoid a timeout for 22 consecutive builds (the os+version matrix I build atm) 12:03
lizmat El_Che++ 12:04
12:08 reportable6 left 12:11 reportable6 joined
El_Che too bad github does not offer arm64, yet another CI system to learn 12:12
12:17 lichtkind_ joined 12:19 lichtkind left
El_Che arm64 builds will be throtled and this will make failing flapper tests very painful 13:16
13:19 linkable6 left, evalable6 left 13:21 linkable6 joined
Anton Antonov Happy New Year, everyone! 13:33
@lizmat I submitted a FOSDEM22 presentation proposal yesterday. 13:34
@lizmat Since, well, I promised I will do that. It is titled "Multi-language Data Wrangling and Acquisition Conversational Agents". 13:35
14:00 jjido left 14:01 jjido joined 15:08 discord-raku-bot left, discord-raku-bot joined 15:09 jjido left 15:10 jjido joined
lizmat Anton Antonov++ 15:11
15:32 jjido left 16:01 kjp left 16:03 kjp joined 16:20 MoC joined
Anton Antonov @lizmat I got a message from Andrew Shitov that it is accepted. 16:20
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
guifa Hrm 19:30
m: class A { method foo { 'ok' } }; role B { method foo { callsame } }; my $a = A.new; $a does B; $a.foo.say;
camelia ok
guifa m: class A { method foo { 'ok' } }; role B { multi method foo { callsame } }; my $a = A.new; $a does B; $a.foo.say; 19:31
camelia ok
guifa 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
MasterDuke looks like camelia is stuck on a commit from nov 19 19:34
guifa 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:35
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
MasterDuke evalable6: class A { method foo { 'ok' } }; role B { multi method foo { callsame } }; my $a = A.new; $a does B; $a.foo.say;
evalable6 ok
guifa 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
evalable6 (exit code 1) ab
Died with X::Multi::NoMatch
MasterDuke oh, they're still stuck because of the force push
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
committable6 MasterDuke, ¦2021.12: «ok␤»
MasterDuke 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
committable6 MasterDuke, ¦2021.12: «ab␤Died with X::Multi::NoMatch␤␤ «exit code = 1»»
guifa 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
committable6 guifa, ¦role: «Cannot find this revision (did you mean “coke”?)»
guifa err
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;
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
camelia ab
falling back
(Any)
MasterDuke needs : or , after the name
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
committable6 MasterDuke, ¦2021.12: «ab␤falling back␤(Any)␤»
guifa I'm guessing the issue is that CALL-ME is a submethod rather than a method 19:46
19:46 jjido left
guifa 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;
camelia Cannot dispatch to method foo on A because it is not inherited or done by A+{B}
in submethod foo at <tmp> line 1
in block <unit> at <tmp> line 1
guifa okay, so there we go, issue golfed: how to access an A's foo from B ? 19:54
MasterDuke 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:55
committable6 MasterDuke, gist.github.com/866682f39ae5f2ce6d...179ff362fe 19:56
MasterDuke 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;
bisectable6 MasterDuke, Bisecting by exit code (old=2021.09 new=2021.10). Old exit code: 0
MasterDuke, bisect log: gist.github.com/e85e641b89fba254c4...8cb4ea3130 19:57
MasterDuke, There are 224 candidates for the first “new” revision. See the log for more details
MasterDuke guifa: looks like it was the new-disp merge. should probably create an issue and/or ping jnthn 19:58
guifa 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
camelia No such method 'CALL-ME' for invocant of type 'Submethod'
in submethod foo at <tmp> line 1
in block <unit> at <tmp> line 1
guifa raises an eyebrow
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;
camelia ok
guifa but I feel like there should be a simpler way to access A's submethod in this case 20:03
20:46 linkable6 left, evalable6 left
spacekookie CIAvash: damn thank you! 20:57
tellable6 hey spacekookie, you have a message: gist.github.com/400d756da8db4c5c30...bb4a11f7f1
spacekookie Happy new year btw!
spacekookie pats tellable6 20:58
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, coverable6 left, linkable6 left, nativecallable6 left, tellable6 left, releasable6 left, unicodable6 left, sourceable6 left, reportable6 left, statisfiable6 left, notable6 left, quotable6 left, bloatable6 left, bisectable6 left, squashable6 left, shareable6 left, benchable6 left, greppable6 left, squashable6 joined 23:50 shareable6 joined, reportable6 joined, releasable6 joined 23:51 greppable6 joined, sourceable6 joined, quotable6 joined, tellable6 joined 23:52 unicodable6 joined, monkey_ left