🦋 Welcome to Raku! raku.org/ | evalbot usage: 'p6: say 3;' or /msg camelia p6: ... | irclog: colabti.org/irclogger/irclogger_log/raku
Set by ChanServ on 14 October 2019.
Xliff m: my $a = my regex { / (a) b? / }; say "ab" ~~ $a() 00:00
camelia 5===SORRY!5===
Unrecognized regex metacharacter / (must be quoted to match literally)
at <tmp>:1
------> 3my $a = my regex {7⏏5 / (a) b? / }; say "ab" ~~ $a()
Unrecognized regex metacharacter (must be quoted to match literally)
Xliff m: my $a = regex { (a) b? }; say "ab" ~~ $a()
camelia Too few positionals passed; expected 1 argument but got 0
in regex at <tmp> line 1
in block <unit> at <tmp> line 1
Xliff m: my $a = regex { (a) b? }; say "ab" ~~ $a
camelia 「ab」
0 => 「a」
00:02 agentzh joined, agentzh left, agentzh joined 00:06 hungrydonkey joined 00:11 hungryd2 joined, hungrydonkey left 00:14 hungryd2 left, hungrydonkey joined 00:17 hungryd25 joined, hungrydonkey left 00:21 vrurg joined 00:24 zacts joined 00:25 hungryd25 left, hungrydonkey joined 00:40 cpan-raku joined, cpan-raku left, 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, Manifest0 joined, aborazmeh joined, aborazmeh left, aborazmeh joined 02:06 AlexDaniel joined, AlexDaniel left, AlexDaniel joined
AlexDaniel 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:31
moon-child 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:32
AlexDaniel 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 :) 02:38
03:01 aborazmeh left 03:03 Xliff left
pel Thank you for your answers. It makes it clearer. 03:12
03:21 zacts joined 03:27 hungrydonkey left, hungrydonkey joined 03:35 hungryd46 joined 03:38 hungryd90 joined, hungrydonkey left 03:39 hungrydonkey joined, hungryd46 left
sjaveed hello again friends 03:42
03:42 hungryd90 left
sjaveed 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:43
03:45 hungryd60 joined 03:47 hungrydonkey left 03:49 hungryd60 left, 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, 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
jmerelo releasable6: status 06:47
releasable6 jmerelo, Next release in ≈4 days and ≈12 hours. 3 blockers. Changelog for this release was not started yet
jmerelo, Details: gist.github.com/cd9614e1dc1d27d54c...22d5a1cab9
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, ensamvarg127 left, ensamvarg127 joined
jmerelo 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, 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, aborazmeh left, aborazmeh joined 09:44 rbtca left 09:45 rbtca joined, stoned75 left 09:47 stoned75 joined
El_Che once for both languages? A little weird 09:50
Geth doc: 53732f4d0c | (Stoned Elipot)++ (committed by Juan Julián Merelo Guervós) | doc/Type/Array.pod6
Tweak Array.splice description

  - reduce repetition
  - add a missing self mention
  - remove an extraneous 'just'
linkable6 Link: docs.raku.org/type/Array
10:00 tejr left, tejr joined
lizmat clickbaits rakudoweekly.blog/2020/09/14/2020-...ally-raku/ 10:06
10:07 sjaveed joined, Skarsnik joined 10:09 MasterDuke left 10:10 rbtca left 10:11 rbtca joined, leont joined
Skarsnik 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:12
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, tejr joined 11:03 stoned75 left
tbrowder .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
tellable6 tbrowder, I'll pass your message to sjaveed
11:16 APic joined
tbrowder 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:18
11:24 Altai-man joined 11:27 sena_kun left 11:34 stoned75 joined
stoned75 hi 11:35
11:36 rindolf left
stoned75 I'm baffled by Array.shape's implementation. would someone be able to give me some hints to understand it ? :-) 11:36
arf. thanks for being my rubber duck. I understand it now :) 11:38
lizmat tbrowder: I understand it's used primarily by people who to Rakudo releases 11:41
11:42 aborazmeh left
tbrowder lizmat: thnx 11:43
[Coke] waves.
11:48 rindolf joined 11:52 stoned75 left 11:54 stoned75 joined
moritz particles 11:55
11:56 codesections joined
lizmat observes duality 11:57
tbrowder how's the voting?
is there a tally of eligible voters? 12:00
[Coke] no. there's a list of repos, not voters. 12:15
Someone wants to turn that into a list of github IDs, great.
38 ballots reporting (Average votes per ballot: 4.6)
12:20 aluaces left 12:26 finanalyst joined 12:28 samcv left
finanalyst HI. Would Raku be considered a case INsensitive language? My thought is No because BEGIN and begin are different 12:29
dakkar you are correct 12:31
m: my $a=1; my $A=2; say $a; say $A; # finanalyst 12:32
camelia 1
moritz 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
camelia 5===SORRY!5=== Error while compiling <tmp>
Variable '$A' is not declared. Did you mean '$a'?
at <tmp>:1
------> 3my $a = 1; say 7⏏5$A
12:43 samcv joined 12:49 jmerelo left
finanalyst thanx everyone. Its for a highlightjs syntax highlighting project I'm working on. 13:01
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, MilkmanDan joined 13:46 wildtrees joined 13:47 rbtca left 13:48 rbtca joined
[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:49
Geth Raku-Steering-Council/main: 051a25d2f4 | Coke++ | scripts/tally.raku
improve github ID capture
13:53 mst left 13:54 veesh left 13:55 mst joined 13:56 Altai-man left, dylanwh_ joined, rba_ joined
codesections I find this kind of interesting: 13:56
13:56 SmokeMachine_ joined, stoned75 left 13:57 zostay_ joined, bingos_ joined, mithaldu__ joined, mrsolo_ joined, kawaii_ joined
codesections m: my %h; say %h<deeply><nested><key><series> 13:57
camelia (Any)
codesections In many languages, that would throw an error
guifa Correct
But not in Raku :-)
codesections (Indeed, JavaScript just added an operator (`.?`) to provide Raku's behavior) 13:58
13:58 esh_ joined, oodani_ joined
tadzik Raku has that one too, but for something else :) 13:58
guifa Eh, it’s a bit different
tadzik 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
guifa Raku autovivifies along the way
tadzik (syntactically and historically)
but yeah, the fun part is the fact that these actually get created on the way
m: my %h; %h<deeply><nested><key><series>++; say %h 14:00
camelia {deeply => {nested => {key => {series => 1}}}}
codesections guifa: I take it that was an intentional design decision? Was it discussed in a Synopsis or some other design document?
guifa And so %h<deeply><nested><key> is an empty array, who of course returns (Any) when accessing an unknown element
14:00 spycrab0 left, oodani left, zostay left, dylanwh left, mithaldu_ left, kawaii left, leah2 left, Grauwolf left, Juerd left, rba_ is now known as rba, mithaldu__ is now known as mithaldu_, dylanwh_ is now known as dylanwh, zostay_ is now known as zostay, SmokeMachine_ is now known as SmokeMachine, cpan-raku left, bingos_ is now known as bingos, mrsolo_ is now known as mrsolo, bingos left, bingos joined
codesections ohhhh 14:00
14:00 kawaii_ is now known as kawaii
codesections I didn't realize that. Interesting 14:00
guifa codesections: it’s how perl before it worked, but it’s mainly to allow exactly what tadzik showed
so I can do simply
14:00 cpan-raku joined, cpan-raku left, cpan-raku joined
guifa my %deep-data 14:00
14:00 Sgeo joined 14:01 Juerd joined, wildtrees left
guifa for ^@a X ^@b X ^@c X ^@d -> $a, $b, $c, $d { %deep-data{$a}{$b}{$c}{$d} } 14:01
14:02 wildtrees joined
guifa In most languages, you’d need ensure that each outer element was already defined which gets you ugly boiler plate code 14:02
14:02 Geth left, ecocode joined
codesections 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 design.raku.org/S09.html#Autovivification 14:03
guifa What’s nice is custom classes can take part in it as well!
tadzik tbf elegant solutions exist, as in Rust's insert_or or whatever it's called on maps
doesn't help much with deep nesting though
14:04 Grauwolf joined
tadzik doc.rust-lang.org/std/collections/...thod.entry 14:04
14:04 sena_kun joined 14:06 wildtrees left 14:07 stoned75 joined, wildtrees joined, spycrab0 joined, aluaces left 14:08 aluaces joined 14:09 veesh joined 14:10 leah2 joined 14:11 rbtca left, rbtca joined 14:12 hungryd86 joined, hungrydonkey left 14:13 hungrydonkey joined, hungryd86 left
codesections tadzik: well, for a given value of "elegant", I suppose :D The equivalent of `my %h; %h<deeply><nested><key><series>++; say %h` would be: 14:13
let mut h = HashMap::new();
.entry("key").or_insert(HashMap::new()).entry("series").or_insert(0) += 1;
println!("{:?}", h)
tadzik indeed :) 14:14
something of the sort, yeah
knowing rust community though, someone probably built a crazy macro for this or something
codesections 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)
tadzik right
guifa 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
For a while I even had an typeA that autovivified its elements to typeB that autovivified to a typeC, and so on 14:17
14:21 hungryd41 joined, hungrydonkey left 14:22 squashable6 left, squashable6 joined 14:23 squashable6 left 14:25 squashable6 joined 14:27 hungryd41 left, hungrydonkey joined 14:28 andrzejku left, hungrydonkey left, hungrydonkey joined 14:30 hungryd75 joined, hungrydonkey left 14:31 hungrydonkey joined, hungryd75 left 14:36 hungryd28 joined, hungrydonkey left 14:38 hungrydonkey joined, hungryd28 left 14:41 lucasb joined 14:42 hungryd13 joined, hungrydonkey left 14:46 samcv left 14:47 molaf joined 14:49 samcv joined 14:53 hungrydonkey joined, hungryd13 left 14:55 parabolize joined 15:09 wildtrees left 15:10 wildtrees joined 15:22 kerframil joined, Geth joined 15:24 Altai-man joined 15:26 hungryd29 joined, sena_kun left 15:29 hungrydonkey left 15:35 molaf left, 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, hungrydonkey left 16:01 hungrydonkey joined, hungryd36 left 16:02 hungryd4 left 16:03 hungryd11 left 16:06 hungryd43 joined 16:09 hungrydonkey left 16:10 hungrydonkey joined, 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
[Coke] 39 ballots reporting (Average votes per ballot: 4.6) # and no patch required this time. :) 16:52
17:06 hungryd88 joined 17:08 skids joined 17:14 wildtrees left 17:15 wildtrees joined, hungryd88 left 17:16 hungrydonkey joined, hungrydonkey left 17:22 bdju left 17:23 bdju joined 17:32 molaf joined 17:33 stoned75 left, zacts joined 17:40 stoned75 joined 17:47 andrzejku joined 17:50 rbtca left 17:51 rbtca joined 17:52 ensamvarg3 left
[Coke] 40 18:01
18:02 wildtrees left 18:06 bocaneri left 18:07 zacts left, stoned75 left 18:09 stoned75 joined 18:11 go|dfish left 18:15 go|dfish joined 18:20 billN1VUX joined
[Coke] 5 days or so left to vote 18:23
18:45 MasterDuke joined 18:57 zacts joined 19:00 kerframil left 19:01 molaf left 19:09 wildtrees joined 19:11 rbtca left, rbtca joined 19:16 Skarsnik joined, 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, zacts left 20:33 molaf left 20:43 billN1VUX joined 20:44 zacts joined 20:57 zacts left, zacts joined 21:01 wildtrees left 21:15 finanalyst joined 21:16 finanalyst left 21:37 silug9 joined 21:38 silug left, silug9 is now known as silug 21:39 Black_Ribbon joined 21:59 vrurg left 22:09 Skarsnik left 22:11 aluaces left
rypervenche 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:16
22:19 vgrato_ left
Grinnz you mean Test::More? 22:19
hopefully not Test, but i don't think that even has use_ok 22:20
wait... this isn't #perl :P
rypervenche I mean Test. It has use-ok.
Grinnz 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:22
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, silug joined 23:10 mowcat joined 23:16 pecastro left 23:26 timlegge joined, timlegge left 23:27 timlegge joined 23:29 timlegge left 23:30 vrurg joined 23:46 timlegge joined 23:49 stoned75 left, zacts left 23:50 bdju left, bdju joined