This channel is intended for people just starting with the Raku Programming Language ( Logs are available at
Set by lizmat on 8 June 2022.
05:34 saint- left 06:57 Oshawott joined 06:59 archenoth left 07:06 Kaiepi joined 08:00 archenoth joined 08:02 Oshawott left 08:37 Oshawott joined 08:39 archenoth left 09:09 jaguart joined 09:19 Oshawott left, Oshawott joined 11:13 Ssw joined 11:27 Ssw left 12:08 Kaipei joined 12:10 Kaiepi left 12:18 frost joined 12:38 frost left
South how would i create an array of whatever length filled with a single value? ruby has Array#* which does this, but raku handles smthn like `<111>*5` or `[111]*5` differently 13:13
Nemokosch `xx` is the operator you are looking for 13:15
m: dd 111 xx 5 13:16
if you assign a Sequence to an Array, it will be stored as expected 13:17
SmokeMachine m: dd 111 xx 5
camelia (111, 111, 111, 111, 111).Seq
Nemokosch Yes, this time around it worked 13:18
just not on your end 😛 13:19
in Raku, the general principle is that operands adapt to the operator, not vice versa. Of course you can overload the same known operators to handle new types - but generally you have no reason to, because you can define new operators 13:20
SmokeMachine does Camelia answers `m:` from discord bridge to discord bridge only?
South nice, i was getting a little irked i couldn’t find it anywhere in the docs but it’s just a little hard to navigate rn 13:21
Nemokosch Smokemachine: seems like that, but even that doesn't seem to work for the raku irc channel 13:23
I can imagine that. Apparently the keyword to remember is "repetition"; it's described as the "list repetition operator" 13:25
as opposed to `x` which is the "string repetition operator"
South yeah i went looking for it on the op page after you mentioned it
Nemokosch strings and lists are so distinct that strings wouldn't even take indexing...
which is a bit too much to my taste but welp, comb can help if it's really needed 13:26
South i don’t remember raku being this extensive when i last looked at it tbh, theres a lot going on when i look at examples 13:28
it could very well be because of how unique it is tho 13:29
Nemokosch It's a huge language really. Someone said lately that it might be bigger than C++ which I wouldn't say buuut... it should give you an idea
South i caught a glimpse of the scale just through the ops page for sure, even coming from J i was a little awe struck 13:31
Nemokosch hahaha, J
the asciified APL, right? xD
South i have a feeling this will be a little harder to learn than J tbh 13:32
yeah, it’s the successor
Nemokosch well you can use Raku as an operator freakshow, too
South that is the goal, yes 13:33
Nemokosch 🤣
South i’ve been aware of raku for quite a while now and it’s reputation, only just now mustering the grit to really try it out
Nemokosch with special regards to the metaoperators and the ability to define your own operators
with your preferred associativity and precedence, of course xD 13:34
South very nice
Nemokosch ```perl 13:35
#!/usr/bin/env raku
subset Digit of Int where *.chars == 1; 13:36
sub infix:<nN>(Digit() $a, Digit() $b) is assoc<chain> {
abs($a - $b) == 1
my $n = prompt 'Input: ';
say [nN] $n.comb;
tells whether all subsequent digits of a number differ by one or not
South huh, that’s pretty nifty 13:46
the subset line is really elegant 13:47
14:20 m_athias left 14:21 m_athias joined 14:49 saint- joined 14:50 saint- left, saint- joined 14:53 jgaz joined 15:20 jgaz left
gfldex m:``` 16:09
augment class Str {
method AT-POS($idx){ self.comb[$idx] }
say "Hallo Nemokosch!"[6];
<@297037173541175296> ^^^ there you go
Nemokosch exactly... 16:17
16:40 jgaz joined
SmokeMachine m: multi postcircumfix:<[ ]>(Str $s, UInt $i) { substr $s, $i, 1 } say "blablabla"[3] 17:20
camelia ===SORRY!=== Error while compiling <tmp>
Strange text after block (missing semicolon or comma?)
at <tmp>:1
------> ]>(Str $s, UInt $i) { substr $s, $i, 1 }⏏ say "blablabla"[3]
expecting any of:
SmokeMachine m: multi postcircumfix:<[ ]>(Str $s, UInt $i) { substr $s, $i, 1 }; say "blablabla"[3] 17:21
camelia b
gfldex SmokeMachine: overloading postcircumfix:<[ ]> is almost never a good idea 17:30
m: multi postcircumfix:<[ ]>(Str $s, UInt $i) { substr $s, $i, 1 }; say "blablabla"[3..6]
camelia Index out of range. Is: 3, should be in 0..0
in block <unit> at <tmp> line 1
gfldex The build in candidates take care of quite a few types of arguments 17:31
gfldex m:``` 17:33
augment class Str {
method AT-POS($idx){ dd $idx; self.comb[$idx] }
method elems { self.chars }
say "Hallo Nemokosch!"[6..9, *-1].flat.join;
Nemokosch I'm horrified 😂 17:38
gfldex <@297037173541175296> Yes, we do support Halloween as well. 17:42
Nemokosch now that we are at it 17:44
do you know anything about Exports.pm6 being special once upon a time?
or was the author of HTML::Tag simply forgetful 😅
gfldex No. The only 2 special files are META6.json and Build.pm6 . 17:45
Nemokosch this module was oldish, 2017, but I also started thinking that maybe it simply got left out of 17:46
META6.json by accident
21:01 jgaz left 21:13 guifa_ left 21:14 guifa joined 21:18 saint- left 23:12 jaguart left