[00:01] AlexDaniel: I meant the trouble to keep the design docs separate from raku.org [00:05] \o nine [00:27] o/ [01:35] How goes the progress to Raku? [01:36] Also... what's the difference between self and SELF? [01:46] Xliff_: No difference, as far as I know. [01:47] It's just could be useful to have an alias in some cases. Especially if you create a custom method but need access to the self from closure. [02:30] Ah. "SELF" was referenced in a recent commit from lizmat as a replacement for "self" and was wondering if there was a significant diff... [02:31] https://github.com/rakudo/rakudo/commit/ed8f5141fe <-- this one [03:19] Xliff_: It feels to me like remains of older times as if at some point self wasn't provided automatically in some cases. But it's better to ask lizmat and it's a question I always forget to ask. [03:20] vrurg: Fair enough. Thanks! [03:21] .ask jnthn I have removed the new batch call ops in https://github.com/rakudo/rakudo/pull/3199 and extended WALK functionality. Would be great if you review it so I could possibly finally merge it. [03:21] vrurg, I'll pass your message to jnthn [03:23] Xliff_: I finally got time to look into 3075 again. Beats me, but I can't reproduce travis failures! [03:23] vrurg: Ah. That's OK. I know you'll get it/ [03:24] Xliff_: I don't remember, when you tried merging R#3284, what went wrong with it? Did you get `make test` passing without errors? [03:25] vrurg: Yes. The problem was I kept getting unexplainable build errors. [03:26] Was it the same on JulyActionRefactor branch? [03:26] Yes. [03:28] Wow... For me the branch is compiling and useTestBug.pl6 is running. [03:29] Heh. I probably merged things wrong. [03:29] Either that or old .precomp files. [03:29] Could be the case too... [03:30] Well, I have work tomorrow. I will try again when I get home. Deal? [03:30] Best if you can check it out from my vrurg/rakudo repo and checkout rakudo_3075 branch from there. [03:31] Sure deal! :) [03:31] OK. Will talk to you tomorrow. [03:31] o/ [04:25] *** b2gills joined [05:45] *** Xliff joined [08:02] <[Tux]> Xliff, I didn't change a thing, but I suspect a slow sshfs connection [08:20] *** robertle joined [08:27] vrurg Xliff "self" is always de-containerized [08:28] if you specify a parameter with a backslash, it is taken "as-is", and thus *not* decontainerized [08:28] calling it SELF is just an idiom, to indicate it is the invocant, possibly with its container [08:40] *** [Tux] joined [09:03] *** sena_kun joined [09:08] *** Altai-man_ joined [09:10] *** sena_kun left [09:37] <|Tux|> Hmm, a load of 221 is high. High enough to be very worrysome. [09:42] I have once seen a load of 2000+. It froze completely soon after that :-) Something about a parallelizing fork bomb :-) [09:53] <|Tux|> in this case a lost samba share. processes won't stop [09:53] <|Tux|> which also explains the slowness yesterday, I guess [09:54] <|Tux|> the samba-server had an upgrade and automatic reboot (Windows--) and all connections to it seem to hang [10:19] *** stdev joined [10:31] *** steale joined [10:33] *** Kaiepi joined [10:34] *** stdev left [10:55] *** |Tux| joined [10:57] *** |Tux| left [11:00] *** |Tux| joined [11:01] *** |Tux| left [11:01] *** |Tux| joined [11:09] *** sena_kun joined [11:10] *** Altai-man_ left [11:33] *** steale left [11:49] *** steale joined [13:08] *** lucasb joined [13:08] *** Altai-man_ joined [13:10] *** sena_kun left [14:06] lizmat: thanks! I guessed that it's about containerization, but didn't think it through all the way down. :) [14:09] *** Guest13443 left [14:10] *** Guest85410 joined [14:10] AlexDaniel: done :) [14:10] Guest85410: nice! What about the nickname? [14:10] Is it bad, should I change to dogbert17 instead? [14:11] that'd be more clear, yeah [14:11] Hmm, I need a password for that I think which means I'll have to fix it later [14:12] I was thinking about the release. What would you say if I offered to create a draft of the MoarVM changelog? [14:12] YES! Please! [14:12] it would have to be reviewed ofc [14:12] Reviewing is not a problem! [14:13] samcv: ↑ some help is on the way! [14:13] Do you have a clever 'git log' incantation that I should use? [14:13] Guest85410: can you try this tool? https://github.com/MoarVM/MoarVM/blob/master/tools/update-changelog.p6 [14:14] aha [14:14] I also need to finish rakudo's changelog but that's not a problem, I just had a backlog of things I had to do and now I'm a bit free-er :) [14:15] Cool, I'm getting tired of the fact that we haven't released yet :) [14:17] Guest85410: btw I think we will only be including commits from this one and older https://github.com/MoarVM/MoarVM/commit/7ecfcc9ba8604f1e79c9b1424f317a47a709e7ef [14:17] Guest85410: so skip the newest 5 commits for now [14:18] ok, now the tool is starting to ask questions [14:18] [9f679f32] {JIT} (Commit) Jit and add a template for smrt_intify | src/jit/core_templates.expr, src/jit/graph.c | Daniel Green [14:18] MODIFY (e)dit/(d)rop/(c)ategory/d(o)ne/(T)itlecase/[(m)erge into other commit]/[change (v)iew opts]; PRINT (b)ody/d(i)ff/num-(l)eft/(D)ump/(C)omplete/(U)uncomplete; GOTO (n)ext/(G)oto commit ID; (Q)uit and save or (s)ave: [14:19] will this tool create a text file or will it try to commit something? [14:20] Guest85410: it should update https://github.com/MoarVM/MoarVM/blob/master/docs/ChangeLog [14:21] Guest85410: once you're done, you can PR it to moarvm [14:22] ok, i'll try it out for a bit [14:22] TIL `git switch` [14:23] Guest85410: PR it against this branch: https://github.com/MoarVM/MoarVM/tree/release-2019.11 [14:24] will do [14:24] oh, TIL `git restore` [14:25] finally they're fixing stuff :) [14:25] well, functionally it wasn't broken, but the user interface was meh [14:31] It generated a JSON file [14:36] AlexDaniel: what am I supposed to do with this JSON file, do you know? [14:36] Guest85410: I'm not sure! :) [14:36] Guest85410, oh yay. thanks [14:36] <|Tux|> All systems involved in the samba-share debacle now rebooted: [14:36] <|Tux|> Rakudo version 2019.07.1-479-ged8f5141f - MoarVM version 2019.07.1-317-g1b2f72e5e [14:36] <|Tux|> csv-test-xs-20 0.420 - 0.446 [14:36] <|Tux|> csv-ip5xs 0.695 - 0.699 [14:36] <|Tux|> test-t --race 0.785 - 0.895 [14:36] <|Tux|> test-t 1.726 - 1.781 [14:37] <|Tux|> test 6.017 - 6.388 [14:37] <|Tux|> csv-ip5xs-20 6.563 - 6.668 [14:37] <|Tux|> test-t-20 --race 8.970 - 9.041 [14:37] <|Tux|> csv-parser 21.310 - 21.478 [14:37] <|Tux|> test-t-20 29.140 - 29.543 [15:04] *** steale left [15:04] *** steale joined [15:08] AlexDaniel, samcv: is something like this what we want? https://gist.github.com/dogbert17/1c151a7a54093bb648312bd852a18d36 [15:09] *** sena_kun joined [15:10] *** Altai-man_ left [15:25] *** steale left [15:27] Guest85410, yeah [16:11] *** robertle left [16:47] m: say class { my $.bar = 42 }.bar # I expect an error here [16:47] rakudo-moar ed8f5141f: OUTPUT: «42␤» [16:48] m: my $!foo [16:48] rakudo-moar ed8f5141f: OUTPUT: «5===SORRY!5=== Error while compiling ␤Cannot use ! twigil on 'my' variable␤at :1␤------> 3my $!foo7⏏5␤ expecting any of:␤ constraint␤» [16:48] lucasb: no error is correct [16:48] it's a class variable or whatever the right name is [16:48] like static field in java? [16:49] does Raku even has that? :) I didn't know [16:49] Well, more like a private static field + an accessor method. [16:49] yeah [16:50] The body of a class is just a normal block, so we can just use lexical variables for "static" things. [16:50] m: class Foo { my $.bar }; my $a = Foo.new; my $b = Foo.new; $a.bar = 45; say $b.bar [16:50] rakudo-moar ed8f5141f: OUTPUT: «45␤» [16:51] maybe a bit unexpected that you can write into it like that [16:52] Yeah, it'd be better if one had to `is rw` for that. [16:52] I don't think that works now [16:52] m: class Foo { my $.bar is rw }; my $a = Foo.new; my $b = Foo.new; $a.bar = 45; say $b.bar [16:52] rakudo-moar ed8f5141f: OUTPUT: «5===SORRY!5=== Error while compiling ␤Can't use unknown trait 'is' -> 'rw' in a variable declaration.␤at :1␤------> 3class Foo { my $.bar is rw 7⏏5}; my $a = Foo.new; my $b = Foo.new; $a.␤ expecting any of:␤ Typ…» [16:54] well, ok, actually, I'm not sure [16:54] lucasb: you're probably right that people may use `my` by accident [16:54] I've done that in the past [16:55] lucasb: can you try grepping all-modules for that problem? [16:55] lucasb: https://github.com/moritz/perl6-all-modules [16:55] it's a bit outdated but still good enough [16:56] if you manage to find modules where people used `my` instead of `has` by accident then we may actually have a language trap… [16:56] you'd never notice if you only have one instance [16:59] grepping across multiple lines is a pain :( [17:00] https://gist.github.com/Whateverable/680009cacdf80cd827645ba0406ad73f [17:00] ah, it's simpler because we can look at the dot, right [17:02] what is this? https://github.com/spebern/Parser-FreeXL-Native/blob/9dd80a1d20d4ca666053b05a7ce04332226d7ea8/lib/Parser/FreeXL/Native.pm6#L139 [17:02] feels like they didn't want to use `my` [17:02] otherwise seems like I'm the only idiot who did that mistake [17:02] :) [17:06] I just wanted to point this detail. It feels strange to me, not the lexical static class variable, but the fact that it's possible to create an accessor for that using the dot twigil. It feels even stranger that inside a method, 'my $.foo' is *not* constrained within its scope. [17:07] AlexDaniel, jnthn: thanks for clarifications [17:08] It's just that methods attach to the nearest surrounding package, so a `my $.foo` inside of a method will be installing the accessor just as if you'd written a method inside of a method [17:08] m: class Foo { method hmm { my $.bar = 42 }; }; my $a = Foo.new; my $b = Foo.new; $a.bar = 45; say $b.bar [17:08] rakudo-moar ed8f5141f: OUTPUT: «45␤» [17:08] m: class Foo { method hmm { my $.bar = 42 }; }; my $a = Foo.new; my $b = Foo.new; $a.bar = 45; $a.hmm; say $b.bar [17:08] rakudo-moar ed8f5141f: OUTPUT: «42␤» [17:08] *** Altai-man_ joined [17:08] m: class Foo { method hmm { has $.bar = 42 }; }; my $a = Foo.new; $a.bar = 45; $a.hmm; say $a.bar [17:08] rakudo-moar ed8f5141f: OUTPUT: «Cannot modify an immutable Int (42)␤ in block at line 1␤␤» [17:09] m: class Foo { method hmm { has $.bar is rw = 42 }; }; my $a = Foo.new; $a.bar = 45; $a.hmm; say $a.bar [17:09] rakudo-moar ed8f5141f: OUTPUT: «45␤» [17:09] ok I didn't know you could do that :D [17:10] m: class Foo { method hmm { has $.bar is rw = 42 }; method aaAAA { has $.bar }; } [17:10] rakudo-moar ed8f5141f: OUTPUT: «===SORRY!===␤Package 'Foo' already has an attribute named '$!bar'␤» [17:10] goddamn lack of the line number but otherwise it seems to be alright [17:10] https://gist.github.com/Whateverable/f31912f7be10c688ca83b64d9537d340 #<-- all the 4 sigils :) [17:10] *** sena_kun left [17:11] this one seems to be a mistake? https://github.com/szabgab/Perl6-Maven/blob/1d9a6f2f7c06d4fd2f5dadba7b52b3ca03d46b2b/lib/Perl6/Maven/Collector.pm6#L8-L9 [17:12] my $pages = Perl6::Maven::Collector.get_pages; [17:12] ok, not a mistake, seems like that's exactly what they meant [17:18] *** Kaiepi left [17:31] *** Kaiepi joined [18:16] *** robertle joined [18:20] AlexDaniel: can you take a quick look at https://gist.github.com/dogbert17/1c151a7a54093bb648312bd852a18d36 [18:20] samcv: ↑ [18:21] jnthn: ↑ [18:23] As it is now the newest commits are at the bottom under each heading [18:23] also, you mentioned that I should skip five commit or something like that. From which commit should I skip? [18:34] AlexDaniel: ignore my last question [18:59] *** MasterDuke joined [19:06] *** maettu joined [19:10] *** Altai-man_ left [19:18] lizmat: Ah! Thanks for the explanation [19:33] *** sena_kun joined [19:44] And another Rakudo Weekly hits the Net: https://rakudoweekly.blog/2019/11/18/2019-46-guidance/ [19:47] *** Guest85410 left [19:49] afk& [20:01] lizmat++ [20:05] *** entonian joined [20:09] *** entonian left [21:00] *** Kaiepi left [21:04] *** Kaiepi joined [21:08] *** Altai-man_ joined [21:11] *** sena_kun left [23:10] *** sena_kun joined [23:11] *** Altai-man_ left