[00:00] *** codesections joined [00:07] *** reportable6 left [00:08] *** reportable6 joined [00:14] *** Kaiepi left [00:38] *** mahafyi left [01:04] *** doomvox joined [01:07] *** jjido left [01:09] *** doomvox left [01:13] *** codesections left [01:13] *** codesections joined [01:22] *** ToddAndMargo joined [01:22] I can't find my booboo: http://vpaste.net/ngl1h [01:22] raku PopUpTest.pl6 [01:22] ===SORRY!=== Error while compiling K:\Windows\NtUtil/PopUpTest.pl6 [01:22] Unable to parse expression in argument list; couldn't find final ')' (corresponding starter was at line 167) [01:22] at K:\Windows\NtUtil/PopUpTest.pl6:168 [01:22] ------>    DWORD $dwProcessId, [01:23] ------>    DWORD $dwProcessId, [01:23]     expecting any of: [01:23]         infix [01:23]         infix stopper [01:25] *** codesections left [01:25] *** codesections joined [01:38] *** derpydoo joined [01:38] BOOL ProcessIdToSessionId( [01:38]   [in] DWORD dwProcessId, [01:38]   [out] DWORD *pSessionId [01:40] That is C++ code [01:40] yep [01:42] #`{ [01:42] ProcessIdToSessionId function (processthreadsapi.h) [01:42] https://learn.microsoft.com/en-us/windows/win32/api/processthreadsapi/nf-processthreadsapi-processidtosessionid [01:42] C++ [01:42] BOOL ProcessIdToSessionId( [01:42]   [in] DWORD dwProcessId, [01:42]   [out] DWORD *pSessionId [01:42] } [01:42] *** frost joined [01:42] there is no ) before } [01:47] not seeing it [01:48] *** derpydoo left [01:49] http://vpaste.net/99s1a [01:49] does it work now? [02:02] *** codesections left [02:02] *** derpydoo joined [02:03] *** codesections joined [02:23] ToddAndMargo did the new file work? [02:26] [ [02:27] .tell guifa I've been playing with the idea of matching RakuAST and saw that could work for any object (like your objex). it's far from ok yet and I plan writing a slang to make that look like grammar and also accept actions, but do you have any opinion about that? https://usercontent.irccloud-cdn.com/file/WACz21rB/image.png [02:27] SmokeMachine, I'll pass your message to guifa [02:28] .tell guifa on this case, TOP is not special and any method inside the "grammar"would be searched on the ast/object tree... [02:28] SmokeMachine, I'll pass your message to guifa [02:28] *** epony left [02:30] .tell any method with `is matcher`while there is no slang... [02:30] SmokeMachine, I haven't seen any around, did you mean aye? [02:30] .tell any, sorry, wrong nick [02:30] SmokeMachine, I haven't seen any around, did you mean aye? [02:30] .tell guifa any method with `is matcher`while there is no slang... [02:30] SmokeMachine, I'll pass your message to guifa [02:39] *** tirnanog left [02:45] *** razetime joined [02:57] *** mahafyi joined [03:06] hey guys [03:22] *** codesections left [03:23] *** codesections joined [03:25] *** ToddAndMargo left [03:41] *** euandreh left [03:57] *** euandreh joined [04:00] *** euandreh left [04:03] *** euandreh joined [04:08] *** derpydoo left [04:09] *** codesections left [04:09] *** codesections joined [04:24] *** codesections left [04:24] *** codesections joined [04:24] *** codesections left [04:25] *** codesections joined [04:27] *** codesections left [04:27] *** codesections joined [04:30] *** codesections left [04:30] *** codesections joined [04:43] *** razetime left [05:26] *** Guest78 left [05:31] *** ToddAndMargo joined [05:32] Found it!  I forgot the stinkin' `sub`.  Bad `ProcessIdToSessionId(`;  corrected `sub ProcessIdToSessionId(`    AAAAHHHHH!!!!! [05:49] *** dpk left [05:50] *** camelia left [05:50] *** dpk joined [05:50] *** gfldex left [05:50] *** gfldex joined [06:08] *** reportable6_ joined [06:10] *** reportable6 left [06:59] *** squashable6 left [07:00] *** squashable6 joined [07:01] *** jmcgnh left [07:09] *** jmcgnh joined [07:12] *** daxim left [07:13] *** kaskal left [07:13] *** mahafyi left [07:22] *** equinox joined [07:33] *** ToddAndMargo left [07:45] *** abraxxa joined [07:50] *** abraxxa left [07:50] *** abraxxa joined [07:51] *** camelia joined [08:02] *** Sgeo left [08:02] *** Kaiepi joined [08:28] *** jjido joined [08:56] *** daxim joined [09:15] why does :kv flatten the values? [09:15] say you have { a => (1, 2, 3), b => (4, 5, 6) } [09:15] the kv version of this would be something like ('a', 1, 2, 3, 'b', 4, 5, 6) [09:17] eh damn, it's not this easy to reproduce... [09:17] well then, I will be back once I pinpointed what went wrong for me [09:19] what I can quickly guess is that this has something to do with itemization [09:19] which in turn might have something to do with constant Maps [09:36] m: my %a is Map = a => (1,2,3), b => (4,5,6); dd $_ for %a.kv [09:36] rakudo-moar 17062c32f: OUTPUT: «"b"␤(4, 5, 6)␤"a"␤(1, 2, 3)␤» [09:37] m: my constant %a = a => (1,2,3), b => (4,5,6); dd $_ for %a.kv [09:37] rakudo-moar 17062c32f: OUTPUT: «"a"␤(1, 2, 3)␤"b"␤(4, 5, 6)␤» [09:41] *** equinox left [09:42] *** Nemokosch joined [09:43] m: my constant %a = a => (1,2,3), b => (4,5,6); dd $_ for %a<>:kv [09:43] rakudo-moar 17062c32f: OUTPUT: «"a"␤1␤2␤3␤"b"␤4␤5␤6␤» [09:43] 2022-11-16T18:36:34Z #raku Nemokosch: I didn't pay attention who participated [09:43] aha! [09:44] *** Nemokosch left [09:58] interesting [09:59] m: my %a = a => (1,2,3), b => (4,5,6); dd $_ for %a<>:kv [09:59] rakudo-moar 17062c32f: OUTPUT: «"a"␤List %a = $(1, 2, 3)␤"b"␤List %a = $(4, 5, 6)␤» [09:59] m: my %a is Map = a => (1,2,3), b => (4,5,6); dd $_ for %a<>:kv [09:59] rakudo-moar 17062c32f: OUTPUT: «"b"␤4␤5␤6␤"a"␤1␤2␤3␤» [10:00] it's the Mappiness, not the constantness [10:00] *** jjido left [10:03] is this intended? seems quite odd to me [10:03] m: my %a is Map = a => (1,2,3), b => (4,5,6); dd %a<> [10:03] rakudo-moar 17062c32f: OUTPUT: «Map.new((:a((1, 2, 3)),:b((4, 5, 6))))␤» [10:03] m: my %a is Map = a => (1,2,3), b => (4,5,6); dd %a [10:03] rakudo-moar 17062c32f: OUTPUT: «Map.new((:a((1, 2, 3)),:b((4, 5, 6))))␤» [10:03] m: my %a is Map = a => (1,2,3), b => (4,5,6); use nqp; dd nqp::iscont(%a) [10:03] rakudo-moar 17062c32f: OUTPUT: «0␤» [10:04] m: my %a is Map = a => (1,2,3), b => (4,5,6); use nqp; dd nqp::iscont(%a<>) [10:04] rakudo-moar 17062c32f: OUTPUT: «0␤» [10:04] m: my %a is Map = a => (1,2,3), b => (4,5,6); say %a.kv.iterator [10:04] rakudo-moar 17062c32f: OUTPUT: «Map::KV.new␤» [10:04] m: my %a is Map = a => (1,2,3), b => (4,5,6); say %a.kv<>.iterator [10:04] rakudo-moar 17062c32f: OUTPUT: «Map::KV.new␤» [10:05] feels like an issue is in order [10:06] *** sena_kun joined [10:07] *** squashable6 left [10:09] *** squashable6 joined [10:44] is there a mutable interface to the values of a Hash, all at once? %hash.values[0] is a Scalar but %hash.values itself is a Seq, I can't just assign to that [10:45] *** jjido joined [10:46] seems like %hash.values[*] does the trick 😄 [10:46] > %options-left.values[*] X(-)= 10 [10:46] I propose the concept of More Than Awesome [10:48] How can this just work and do what I wanted to do... [10:53] *** equinox joined [10:58] *** sena_kun left [10:59] *** sena_kun joined [11:04] *** codesections left [11:05] *** codesections1 joined [11:07] *** codesections1 is now known as codesections [11:07] m: my %h = a => 41, b => 136; $_++ for %h.values; dd %h [11:07] rakudo-moar 17062c32f: OUTPUT: «Hash %h = {:a(42), :b(137)}␤» [11:07] the magic of containers! [11:08] yes, that one I knew, that's also pretty good [11:08] but this X(-)= 10 on a list of containers is just... out of this world [11:09] and, of course not because of this "trickery" in particular, but my solution is actually pretty fast for the weeklies, up until 10-ish [11:10] *** Nemokosch joined [11:10] .seen Util [11:10] Nemokosch, I saw Util 2022-08-07T20:57:04Z in #raku: lizmat: Thanks! [11:10] runs in around 6 seconds for n=12 [11:12] I wonder what Bruce has... o.O [11:12] *** Nemokosch left [11:14] Nemokosch: why the `[*]` wouldn't it work without it? [11:14] SmokeMachine, I'll pass your message to Nemokosch [11:14] m: my %a = a => 1, b => 2; %a.values X-= 1; say %a [11:14] rakudo-moar 17062c32f: OUTPUT: «{a => 0, b => 1}␤» [11:15] originally I didn't put X there and then it surely didn't work [11:15] m: my %a = a => set(1, 2, 3), b =>set( 2, 3, 4); %a.values X(-)= 2; say %a [11:15] rakudo-moar 17062c32f: OUTPUT: «{a => Set(1 3), b => Set(3 4)}␤» [11:15] *** Nemokosch joined [11:15] okay, the solution runs in about a minute for n=15 [11:17] I'd say that's still acceptable for an actually exponential problem [11:17] m: my %a = a => set(1, 2, 3), b =>set( 2, 3, 4); %a.values >>(-)=>> 2; say %a [11:17] rakudo-moar 17062c32f: OUTPUT: «Cannot modify an immutable Bool (True)␤ in block at line 1␤␤» [11:17] m: my %a = a => set(1, 2, 3), b =>set( 2, 3, 4); %a.values = %a.values X(-) 2; say %a [11:17] rakudo-moar 17062c32f: OUTPUT: «Cannot modify an immutable Seq ((Set(1 2 3) Set(2 3 4)))␤ in block at line 1␤␤» [11:17] 2022-11-18T11:14:01Z #raku Nemokosch: why the `[*]` wouldn't it work without it? [11:17] see? that was my original attempt and this failed [11:18] actually, I'm not sure what sort of black magic makes X(-)= work, then [11:18] in what order is this resolved? [11:19] now I'm starting to think it's X[(-)=], I originally was thinking of [X(-)]= [11:19] m: my %a = a => set(1, 2, 3), b => set( 2, 3, 4); say %a.values X(-) 2 # The problem is setting it back to values... [11:19] rakudo-moar 17062c32f: OUTPUT: «(Set(3 4) Set(1 3))␤» [11:21] X(-)= will set the value for each container returned by .values and not to the .values itself... [11:23] Nemokosch: `%a.values X(-)= 2` kinda is equivalent to `for %a.keys -> $key { %a{$key} (-)= 2 }` [11:24] that's equivalent to `for %a.keys -> $key { %a{$key} = %a{$key} (-) 2 }` [11:25] m: my %a = a => 10, b => 20; say %a.values = 1, 2 # but on the other hand [11:25] rakudo-moar 17062c32f: OUTPUT: «Cannot modify an immutable Seq ((20 10))␤ in block at line 1␤␤» [11:27] eventually, the result will be the same [11:27] I was thinking of less mutation on the way [11:28] anyway, this explains why it worked in the first place :D thank you for the hints [11:30] *** razetime joined [11:44] something that boggles me hard, though... [11:45] I compared my performance with other contenders and I noticed that someone who does something similar but way simpler, actually beats me like 5 to 1 [11:45] without doing any .race [11:45] I removed .race and suddenly my performance went a magnitude UP [11:46] now N=15 runs in about 6 seconds [11:46] what can be the takeaway of this? function calls are expensive with threading? [11:46] that's the main thing I can think of, it's a recursive function after all [11:57] *** Nemokosch left [12:07] *** reportable6_ left [12:09] *** reportable6 joined [12:15] the first takeway is that you should always benchmark before and after optimizing :-) [12:16] the second is that .race is only good if each individual element takes long to process [12:17] if instead you have very many elements that are somewhat quick to process, you might succeed by manually specifying a pretty big batch size [12:28] perhaps I should but that's never gonna happen for weekly challenge solutions 😛 [12:33] well, this was a branching recursion so probably it could have made sense to race over the first couple of levels and then just count them sequentially [12:36] *** abraxxa left [12:37] weekly: https://dev.to/lizmat/its-time-to-rak-part-4-334i [12:37] lizmat, Noted! (weekly) [12:41] nope, not worth it [12:59] *** codesections left [13:02] *** codesections joined [13:09] *** MasterDuke joined [13:22] *** mahafyi joined [13:29] *** equinox left [13:39] *** equinox joined [14:02] *** codesections left [14:15] *** lucasb joined [14:36] *** derpydoo joined [14:40] *** jjido left [14:49] *** tirnanog joined [15:00] *** tirnanog left [15:13] *** Guest16 joined [15:22] *** Sgeo joined [15:29] <[Coke]> RSC folks - can we get a linkedin post for the volunteer infra "job"? [15:30] <[Coke]> Would help with finding candidates with devops background who are looking to volunteer. [15:31] <[Coke]> putting a copy on linked in will make it easier for me to get eyeballs on it, at least. [15:33] [Coke]: looks like a good idea. Could you mail it to [email@hidden.address] please? [15:33] [Coke]: looks like a good idea. Could you mail it to rsc@raku.org, please? [15:34] Not everybody may follow IRC and my attention to this channel is rather accidental. [15:35] <[Coke]> Done. [15:35] Thanks! [15:44] *** jgaz joined [16:24] *** justGrit left [16:25] *** justache joined [16:30] *** justache left [16:31] *** justache joined [16:44] *** lucasb left [17:16] *** Maylay left [17:28] *** Maylay joined [17:31] *** jjido joined [17:32] *** mahafyi left [17:36] *** jgaz left [17:50] *** razetime left [18:07] *** reportable6 left [18:07] *** reportable6 joined [18:48] *** epony joined [19:05] *** kaskal joined [19:05] *** AdonisExberger joined [19:05] *** AdonisExberger left [19:14] *** sgrs joined [19:23] *** jjido left [19:33] *** nicole left [19:33] *** nicole joined [19:35] *** xinming left [19:37] *** xinming joined [19:44] *** equinox left [20:04] * guifa finally came up with a topic for Advent CAlendar [20:04] 2022-11-18T02:28:30Z #raku guifa on this case, TOP is not special and any method inside the "grammar"would be searched on the ast/object tree... [20:04] 2022-11-18T02:30:35Z #raku guifa any method with `is matcher`while there is no slang... [20:04] hey guifa, you have a message: https://gist.github.com/703c5e4af9ea8bf42aae75ea29543e61 [20:20] *** n1to joined [20:38] *** lucasb joined [20:45] *** euandreh2 joined [20:47] *** euandreh left [20:47] *** euandreh2 is now known as euandreh [21:12] *** derpydoo left [21:18] *** discord-raku-bot left [21:18] *** discord-raku-bot joined [21:22] *** discord-raku-bot left [21:41] *** samcv left [21:41] *** samcv joined [22:00] *** frost left [22:08] *** xinming left [22:10] *** xinming joined [22:20] *** xinming left [22:27] *** euandreh left [22:27] *** euandreh2 joined [22:29] *** euandreh2 is now known as euandreh [22:42] *** discord-raku-bot joined [22:44] *** discord-raku-bot left [22:52] *** discord-raku-bot joined [22:53] *** discord-raku-bot left [22:53] *** discord-raku-bot joined [23:01] *** jgaz joined [23:03] ¦ advent: cfc18acef5 | L'Alabameñu++ (committed using GitHub Web editor) | raku-advent-2022/authors.md [23:03] ¦ advent: Add guifa to author list [23:03] ¦ advent: review: https://github.com/Raku/advent/commit/cfc18acef5 [23:17] *** Guest16 left [23:17] *** jjido joined [23:21] *** Kaiepi left [23:23] ¦ advent: melezhik++ created pull request #98: parrowCI pipelines for everything [23:23] ¦ advent: review: https://github.com/Raku/advent/pull/98