[00:00] m: my $a = my regex { / (a) b? / }; say "ab" ~~ $a() [00:00] rakudo-moar 85847d2f1: OUTPUT: «5===SORRY!5===␤Unrecognized regex metacharacter / (must be quoted to match literally)␤at :1␤------> 3my $a = my regex {7⏏5 / (a) b? / }; say "ab" ~~ $a()␤Unrecognized regex metacharacter (must be quoted to match literally)␤a…» [00:00] m: my $a = regex { (a) b? }; say "ab" ~~ $a() [00:00] rakudo-moar 85847d2f1: OUTPUT: «Too few positionals passed; expected 1 argument but got 0␤ in regex at line 1␤ in block at line 1␤␤» [00:00] m: my $a = regex { (a) b? }; say "ab" ~~ $a [00:00] rakudo-moar 85847d2f1: OUTPUT: «「ab」␤ 0 => 「a」␤» [00:02] *** agentzh joined [00:02] *** agentzh left [00:02] *** agentzh joined [00:06] *** hungrydonkey joined [00:11] *** hungryd2 joined [00:11] *** hungrydonkey left [00:14] *** hungryd2 left [00:14] *** hungrydonkey joined [00:17] *** hungryd25 joined [00:17] *** hungrydonkey left [00:21] *** vrurg joined [00:24] *** zacts joined [00:25] *** hungryd25 left [00:25] *** hungrydonkey joined [00:40] *** cpan-raku joined [00:40] *** cpan-raku left [00:40] *** cpan-raku joined [00:50] *** stoned75 left [00:52] *** stoned75 joined [01:00] *** zacts left [01:12] *** leont left [01:14] *** _jrjsmrtn joined [01:15] *** __jrjsmrtn__ left [01:23] *** molaf left [01:36] *** molaf joined [01:48] *** fridim joined [01:58] *** ensamvarg3 joined [02:05] *** Manifest0 left [02:05] *** Manifest0 joined [02:05] *** aborazmeh joined [02:05] *** aborazmeh left [02:05] *** aborazmeh joined [02:06] *** AlexDaniel joined [02:06] *** AlexDaniel left [02:06] *** AlexDaniel joined [02:31] pel: re LLVM, there isn't a very good reason. Yes, LLVM is *the* way for making high-performance languages, but it is also not that easy. For example, Julia would've sucked without Revise and sysimages. Yes, it runs really fast, but you really have to wait before it starts running any fresh code path :P [02:32] yeah llvm JIT is basically useless unless you layer an interpreter over it (which hinders inlining). There's a reason firefox/chrome don't use it [02:38] moon-child: I wouldn't say useless, otherwise languages wouldn't've used it. Try any real script with a bunch of data as an input and it really shows that it is not useless. But that webpage taking a few seconds to load the first time? Yeah, it's a weird dev experience, and not in a good way :) [03:01] *** aborazmeh left [03:03] *** Xliff left [03:12] Thank you for your answers. It makes it clearer. [03:21] *** zacts joined [03:27] *** hungrydonkey left [03:27] *** hungrydonkey joined [03:35] *** hungryd46 joined [03:38] *** hungryd90 joined [03:38] *** hungrydonkey left [03:39] *** hungrydonkey joined [03:39] *** hungryd46 left [03:42] hello again friends [03:42] *** hungryd90 left [03:43] had a quick question about pod - are there official ways to document methods? Things like params and output? I figure the typing system can take care of that but wanted to see if there was a way to document them further [03:45] *** hungryd60 joined [03:47] *** hungrydonkey left [03:49] *** hungryd60 left [03:49] *** hungrydonkey joined [03:55] *** ggoebel left [04:07] *** mst left [04:08] *** mst joined [04:09] *** hungryd54 joined [04:11] *** hungrydonkey left [04:24] *** xinming left [04:25] *** xinming joined [04:26] *** molaf left [04:38] *** sjaveed left [04:38] *** sjaveed joined [04:39] *** Black_Ribbon left [04:43] *** sjaveed left [05:16] *** sjaveed joined [05:17] *** Sgeo_ joined [05:20] *** Sgeo left [05:22] *** codesections left [05:23] *** sjaveed left [05:39] *** rbtca joined [05:40] *** rbt left [05:48] *** skids left [05:52] *** bocaneri joined [05:53] *** andrzejku joined [06:02] *** parabolize left [06:26] *** sena_kun joined [06:34] *** kent\n left [06:36] *** kent\n joined [06:42] *** billN1VUX left [06:44] *** stoned75 left [06:46] *** stoned75 joined [06:47] *** jmerelo joined [06:47] releasable6: status [06:47] jmerelo, Next release in ≈4 days and ≈12 hours. 3 blockers. Changelog for this release was not started yet [06:47] jmerelo, Details: https://gist.github.com/cd9614e1dc1d27d54c954d22d5a1cab9 [06:58] *** domidumont joined [06:59] *** hungryd54 left [07:01] *** Sgeo_ left [07:03] *** pecastro joined [07:06] *** sena_kun left [07:07] *** sena_kun joined [07:17] *** hungrydonkey joined [07:19] *** domidumont left [07:20] *** sjaveed joined [07:24] *** Altai-man joined [07:26] *** sena_kun left [07:27] *** sjaveed left [07:30] *** dakkar joined [07:40] *** ensamvarg127 joined [07:40] *** ensamvarg127 left [07:40] *** ensamvarg127 joined [07:41] We are going to apply for Outreachy again. In this case, the grant money is pre-allocated, only we need to prepare a project atractive enough for someone to choose it [07:41] We have a mailing list for all Raku & Perl outreach efforts, please dm me with your email to participate. [07:42] *** ensamvarg127 left [07:43] *** ensamvarg127 joined [07:53] *** aluaces left [07:53] *** aluaces joined [07:58] *** void1 left [08:04] *** sjaveed joined [08:11] *** sjaveed left [08:13] *** ensamvarg left [08:35] *** domidumont joined [09:09] *** Xliff joined [09:21] *** aborazmeh joined [09:21] *** aborazmeh left [09:21] *** aborazmeh joined [09:44] *** rbtca left [09:45] *** rbtca joined [09:45] *** stoned75 left [09:47] *** stoned75 joined [09:50] once for both languages? A little weird [09:58] ¦ doc: 53732f4d0c | (Stoned Elipot)++ (committed by Juan Julián Merelo Guervós) | doc/Type/Array.pod6 [09:58] ¦ doc: Tweak Array.splice description [09:58] ¦ doc: [09:58] ¦ doc: - reduce repetition [09:58] ¦ doc: - add a missing self mention [09:58] ¦ doc: - remove an extraneous 'just' [09:58] ¦ doc: review: https://github.com/Raku/doc/commit/53732f4d0c [09:58] Link: https://docs.raku.org/type/Array [10:00] *** tejr left [10:00] *** tejr joined [10:06] * lizmat clickbaits https://rakudoweekly.blog/2020/09/14/2020-37-fundamentally-raku/ [10:07] *** sjaveed joined [10:07] *** Skarsnik joined [10:09] *** MasterDuke left [10:10] *** rbtca left [10:11] *** rbtca joined [10:11] *** leont joined [10:12] hm, how can I could capture arguments in a sub that are like (0xF50050, 4), (0xF50054, 2), Buf.new(<1 2 3 4>), Buf.new(<5 6>)); I want the n list then the Buf in a separate variable [10:26] *** rindolf joined [10:31] *** Altai-man left [10:32] *** sena_kun joined [10:39] *** stoned75 left [10:41] *** stoned75 joined [10:49] *** ggoebel joined [10:57] *** Skarsnik left [11:02] *** tejr left [11:02] *** tejr joined [11:03] *** stoned75 left [11:05] .tell sjaveed no official way except using pod declarator blocks to describe as you wish. currently the default handling upon extraction is to collapse all such blocks into a single normalized string, but a future fix will retain the original author formatting and consequently provide use of conventional pod within the declarator blocks. [11:05] tbrowder, I'll pass your message to sjaveed [11:16] *** APic joined [11:18] i've ignored 'sake' (no 'ake') up to now but i do see its utility. i do tend to use Make for various housekeeping tasks so i should be able to move toward ake. anyone care to talk about their ake use cases? [11:24] *** Altai-man joined [11:27] *** sena_kun left [11:34] *** stoned75 joined [11:35] hi [11:36] *** rindolf left [11:36] I'm baffled by Array.shape's implementation. would someone be able to give me some hints to understand it ? :-) [11:38] arf. thanks for being my rubber duck. I understand it now :) [11:41] tbrowder: I understand it's used primarily by people who to Rakudo releases [11:41] *do [11:42] *** aborazmeh left [11:43] lizmat: thnx [11:43] * [Coke] waves. [11:48] *** rindolf joined [11:52] *** stoned75 left [11:54] *** stoned75 joined [11:55] * moritz particles [11:56] *** codesections joined [11:57] * lizmat observes duality [11:57] how's the voting? [12:00] is there a tally of eligible voters? [12:15] <[Coke]> no. there's a list of repos, not voters. [12:15] <[Coke]> Someone wants to turn that into a list of github IDs, great. [12:15] <[Coke]> 38 ballots reporting (Average votes per ballot: 4.6) [12:20] *** aluaces left [12:26] *** finanalyst joined [12:28] *** samcv left [12:29] HI. Would Raku be considered a case INsensitive language? My thought is No because BEGIN and begin are different [12:31] you are correct [12:32] m: my $a=1; my $A=2; say $a; say $A; # finanalyst [12:32] rakudo-moar 85847d2f1: OUTPUT: «1␤2␤» [12:37] but the error messages do try go give you a hint when you get the case wrong [12:37] m: my $a = 1; say $A [12:37] rakudo-moar 85847d2f1: OUTPUT: «5===SORRY!5=== Error while compiling ␤Variable '$A' is not declared. Did you mean '$a'?␤at :1␤------> 3my $a = 1; say 7⏏5$A␤» [12:43] *** samcv joined [12:49] *** jmerelo left [13:01] thanx everyone. Its for a highlightjs syntax highlighting project I'm working on. [13:05] *** finanalyst left [13:11] *** abraxxa left [13:13] *** abraxxa joined [13:15] *** ensamvarg joined [13:17] *** abraxxa left [13:18] *** abraxxa joined [13:25] *** MilkmanDan left [13:30] *** aluaces joined [13:30] *** MilkmanDan joined [13:46] *** wildtrees joined [13:47] *** rbtca left [13:48] *** rbtca joined [13:49] <[Coke]> (ballots) and I notice after generating the last run that I am getting someone's github ID with extra spaces because they didn't fill out the form. [13:50] ¦ Raku-Steering-Council/main: 051a25d2f4 | Coke++ | scripts/tally.raku [13:50] ¦ Raku-Steering-Council/main: improve github ID capture [13:50] ¦ Raku-Steering-Council/main: review: https://github.com/Raku/Raku-Steering-Council/commit/051a25d2f4 [13:53] *** mst left [13:54] *** veesh left [13:55] *** mst joined [13:56] *** Altai-man left [13:56] *** dylanwh_ joined [13:56] *** rba_ joined [13:56] I find this kind of interesting: [13:56] *** SmokeMachine_ joined [13:56] *** stoned75 left [13:57] *** zostay_ joined [13:57] *** bingos_ joined [13:57] *** mithaldu__ joined [13:57] *** mrsolo_ joined [13:57] *** kawaii_ joined [13:57] m: my %h; say %h [13:57] rakudo-moar 85847d2f1: OUTPUT: «(Any)␤» [13:57] In many languages, that would throw an error [13:57] Correct [13:57] But not in Raku :-) [13:58] (Indeed, JavaScript just added an operator (`.?`) to provide Raku's behavior) [13:58] *** esh_ joined [13:58] *** oodani_ joined [13:58] Raku has that one too, but for something else :) [13:58] Eh, it’s a bit different [13:59] it's more or less the same in JS since it doesn't have much of a distinction between an object and a dictionary [13:59] Raku autovivifies along the way [13:59] (syntactically and historically) [13:59] but yeah, the fun part is the fact that these actually get created on the way [14:00] m: my %h; %h++; say %h [14:00] rakudo-moar 85847d2f1: OUTPUT: «{deeply => {nested => {key => {series => 1}}}}␤» [14:00] guifa: I take it that was an intentional design decision? Was it discussed in a Synopsis or some other design document? [14:00] And so %h is an empty array, who of course returns (Any) when accessing an unknown element [14:00] *** spycrab0 left [14:00] *** oodani left [14:00] *** zostay left [14:00] *** dylanwh left [14:00] *** mithaldu_ left [14:00] *** kawaii left [14:00] *** leah2 left [14:00] *** Grauwolf left [14:00] *** Juerd left [14:00] *** rba_ is now known as rba [14:00] *** mithaldu__ is now known as mithaldu_ [14:00] *** dylanwh_ is now known as dylanwh [14:00] *** zostay_ is now known as zostay [14:00] *** SmokeMachine_ is now known as SmokeMachine [14:00] *** cpan-raku left [14:00] *** bingos_ is now known as bingos [14:00] *** mrsolo_ is now known as mrsolo [14:00] *** bingos left [14:00] *** bingos joined [14:00] ohhhh [14:00] *** kawaii_ is now known as kawaii [14:00] I didn't realize that. Interesting [14:00] codesections: it’s how perl before it worked, but it’s mainly to allow exactly what tadzik showed [14:00] so I can do simply [14:00] *** cpan-raku joined [14:00] *** cpan-raku left [14:00] *** cpan-raku joined [14:00] my %deep-data [14:00] *** Sgeo joined [14:01] *** Juerd joined [14:01] *** wildtrees left [14:01] for ^@a X ^@b X ^@c X ^@d -> $a, $b, $c, $d { %deep-data{$a}{$b}{$c}{$d} } [14:02] *** wildtrees joined [14:02] In most languages, you’d need ensure that each outer element was already defined which gets you ugly boiler plate code [14:02] *** Geth left [14:02] *** ecocode joined [14:03] Thanks for the 'autovivification' keyword -- I'd come across that concept, but I hadn't made the connection here. But now that I do, I see https://design.raku.org/S09.html#Autovivification [14:03] What’s nice is custom classes can take part in it as well! [14:03] tbf elegant solutions exist, as in Rust's insert_or or whatever it's called on maps [14:03] doesn't help much with deep nesting though [14:04] *** Grauwolf joined [14:04] https://doc.rust-lang.org/std/collections/struct.BTreeMap.html#method.entry [14:04] *** sena_kun joined [14:06] *** wildtrees left [14:07] *** stoned75 joined [14:07] *** wildtrees joined [14:07] *** spycrab0 joined [14:07] *** aluaces left [14:08] *** aluaces joined [14:09] *** veesh joined [14:10] *** leah2 joined [14:11] *** rbtca left [14:11] *** rbtca joined [14:12] *** hungryd86 joined [14:12] *** hungrydonkey left [14:13] *** hungrydonkey joined [14:13] *** hungryd86 left [14:13] tadzik: well, for a given value of "elegant", I suppose :D The equivalent of `my %h; %h++; say %h` would be: [14:13] let mut h = HashMap::new(); [14:13] *h.entry("deeply").or_insert(HashMap::new()).entry("nested").or_insert(HashMap::new()) [14:13] .entry("key").or_insert(HashMap::new()).entry("series").or_insert(0) += 1; [14:13] println!("{:?}", h) [14:14] indeed :) [14:14] something of the sort, yeah [14:14] knowing rust community though, someone probably built a crazy macro for this or something [14:16] Maybe :) Though, in some fairness to Rust, that pattern isn't nearly as useful when you don't typically have hashes with values of different types [14:16] (I know there are ways to do so in Rust, but it's not nearly as common) [14:16] right [14:16] What’s nice in raku’s strategy is by default accessing a value that doesn’t exist doesn’t error, it just produces a type object, so the nested behavior is internally consistent and inuitive, even if the internals of autovivifying is a bit complex [14:17] For a while I even had an typeA that autovivified its elements to typeB that autovivified to a typeC, and so on [14:21] *** hungryd41 joined [14:21] *** hungrydonkey left [14:22] *** squashable6 left [14:22] *** squashable6 joined [14:23] *** squashable6 left [14:25] *** squashable6 joined [14:27] *** hungryd41 left [14:27] *** hungrydonkey joined [14:28] *** andrzejku left [14:28] *** hungrydonkey left [14:28] *** hungrydonkey joined [14:30] *** hungryd75 joined [14:30] *** hungrydonkey left [14:31] *** hungrydonkey joined [14:31] *** hungryd75 left [14:36] *** hungryd28 joined [14:36] *** hungrydonkey left [14:38] *** hungrydonkey joined [14:38] *** hungryd28 left [14:41] *** lucasb joined [14:42] *** hungryd13 joined [14:42] *** hungrydonkey left [14:46] *** samcv left [14:47] *** molaf joined [14:49] *** samcv joined [14:53] *** hungrydonkey joined [14:53] *** hungryd13 left [14:55] *** parabolize joined [15:09] *** wildtrees left [15:10] *** wildtrees joined [15:22] *** kerframil joined [15:22] *** Geth joined [15:24] *** Altai-man joined [15:26] *** hungryd29 joined [15:26] *** sena_kun left [15:29] *** hungrydonkey left [15:35] *** molaf left [15:35] *** andrzejku joined [15:40] *** guifa left [15:41] *** hungrydonkey joined [15:42] *** Tirifto joined [15:45] *** hungryd29 left [15:57] *** hungryd36 joined [15:58] *** hungryd4 joined [15:59] *** hungryd11 joined [15:59] *** hungrydonkey left [16:01] *** hungrydonkey joined [16:01] *** hungryd36 left [16:02] *** hungryd4 left [16:03] *** hungryd11 left [16:06] *** hungryd43 joined [16:09] *** hungrydonkey left [16:10] *** hungrydonkey joined [16:10] *** finanalyst joined [16:12] *** hungryd43 left [16:13] *** domidumont left [16:14] *** hungrydonkey left [16:25] *** andrzejku left [16:33] *** zacts left [16:40] *** dakkar left [16:52] <[Coke]> 39 ballots reporting (Average votes per ballot: 4.6) # and no patch required this time. :) [17:06] *** hungryd88 joined [17:08] *** skids joined [17:14] *** wildtrees left [17:15] *** wildtrees joined [17:15] *** hungryd88 left [17:16] *** hungrydonkey joined [17:16] *** hungrydonkey left [17:22] *** bdju left [17:23] *** bdju joined [17:32] *** molaf joined [17:33] *** stoned75 left [17:33] *** zacts joined [17:40] *** stoned75 joined [17:47] *** andrzejku joined [17:50] *** rbtca left [17:51] *** rbtca joined [17:52] *** ensamvarg3 left [18:01] <[Coke]> 40 [18:02] *** wildtrees left [18:06] *** bocaneri left [18:07] *** zacts left [18:07] *** stoned75 left [18:09] *** stoned75 joined [18:11] *** go|dfish left [18:15] *** go|dfish joined [18:20] *** billN1VUX joined [18:23] <[Coke]> 5 days or so left to vote [18:45] *** MasterDuke joined [18:57] *** zacts joined [19:00] *** kerframil left [19:01] *** molaf left [19:09] *** wildtrees joined [19:11] *** rbtca left [19:11] *** rbtca joined [19:16] *** Skarsnik joined [19:16] *** stoned75 left [19:23] *** stoned75 joined [19:25] *** sena_kun joined [19:26] *** Altai-man left [19:33] *** rindolf left [19:36] *** andrzejku left [19:38] *** finanalyst left [19:39] *** molaf joined [19:52] *** kerframil joined [20:01] *** billN1VUX left [20:26] *** sena_kun left [20:26] *** zacts left [20:33] *** molaf left [20:43] *** billN1VUX joined [20:44] *** zacts joined [20:57] *** zacts left [20:57] *** zacts joined [21:01] *** wildtrees left [21:15] *** finanalyst joined [21:16] *** finanalyst left [21:37] *** silug9 joined [21:38] *** silug left [21:38] *** silug9 is now known as silug [21:39] *** Black_Ribbon joined [21:59] *** vrurg left [22:09] *** Skarsnik left [22:11] *** aluaces left [22:16] I'm writing my first tests for a module and getting used to the Test module. Is it redundant to add a use-ok for the module itself since you wouldn't be able to install it anyways? [22:19] *** vgrato_ left [22:19] you mean Test::More? [22:20] hopefully not Test, but i don't think that even has use_ok [22:20] wait... this isn't #perl :P [22:20] I mean Test. It has use-ok. [22:20] lol [22:22] testing your own module can be loaded may or may not be useful. just loading it is usually sufficient test for users since it will abort the test if it fails, i tend to only do it as a marked test (as use-ok does) for projects where i want to be able to quickly check that all modules load [22:32] *** zacts left [22:37] *** zacts joined [22:48] *** zacts left [22:49] *** zacts joined [22:52] *** silug left [22:56] *** zacts left [22:57] *** zacts joined [22:57] *** silug joined [23:10] *** mowcat joined [23:16] *** pecastro left [23:26] *** timlegge joined [23:26] *** timlegge left [23:27] *** timlegge joined [23:29] *** timlegge left [23:30] *** vrurg joined [23:46] *** timlegge joined [23:49] *** stoned75 left [23:49] *** zacts left [23:50] *** bdju left [23:50] *** bdju joined