🦋 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.
00:02 mowcat left 00:28 thundergnat left 00:39 wildtrees left 00:41 xinming joined, wildtrees joined 01:19 sena_kun joined 01:21 Altai-man_ left 01:30 markoong joined, markoong left 01:33 wildtrees left 02:03 AlexDaniel joined, AlexDaniel left, AlexDaniel joined 02:47 hungrydonkey joined 02:56 molaf left 03:09 molaf joined 03:18 Altai-man_ joined 03:21 sena_kun left 03:33 pilne left 03:51 hungryd44 joined 03:55 hungrydonkey left 04:37 aborazmeh joined, aborazmeh left, aborazmeh joined, ensamvarg joined 04:41 MasterDuke left 05:19 sena_kun joined 05:21 Altai-man_ left 05:32 molaf left 05:45 sauvin joined 05:52 Altai-man_ joined 05:55 sena_kun left 06:04 TeamBlast joined 06:09 cxreg joined 06:10 simcop2387 joined, simcop2387 left, simcop2387 joined 06:11 wamba joined 06:27 sena_kun joined 06:29 Altai-man_ left 06:43 hungrydonkey joined 06:44 hungryd44 left 06:52 hungrydonkey left, hungrydonkey joined 06:54 TeamBlast left 06:55 TeamBlast joined 07:10 aborazmeh left 07:12 aluaces joined 07:16 TeamBlast left, TeamBlast joined 07:18 Altai-man_ joined 07:21 sena_kun left 07:41 ensamvarg left 07:48 hungryd99 joined 07:49 hungrydonkey left 07:54 hungryd99 left 07:59 hungrydonkey joined 08:01 hungrydonkey left 08:02 hungrydonkey joined 08:03 rindolf joined 08:08 cpan-raku left, cpan-raku joined, cpan-raku left, cpan-raku joined 08:31 hungrydonkey left 08:40 dakkar joined 08:51 ufobat joined 08:58 chloekek joined 09:02 [Sno] left 09:19 sena_kun joined 09:21 Altai-man_ left 09:28 [Sno] joined, xfix joined
xfix p6: say 2 + 2 * 2; 09:29
camelia 6
xfix i find it interesting that the command is still `p6` when it's not Perl 6 anymore 09:30
raku: say 2 + 2 * 2
evalable6 6
09:30 ensamvarg joined
lizmat xfix: we deem backward compatibility to be important :-) 09:32
xfix fair, although the channel topic could be updated
lizmat good poing
09:32 hungrydonkey joined
lizmat turns out I don't have the rights to do that 09:33
moritz ^^ ?
xfix raku: say Q[@A`DO world!]~|<HeLhg> 09:35
evalable6 Hello world!
09:38 pecastro joined
moritz 10:40 -ChanServ(ChanServ@services.)- You are not authorized to (de)op moritz on #raku. 09:40
tadzik Anarchy in the IRC :) 09:42
chloekek p6: say ‘Ⓐ’.charss 09:43
camelia No such method 'charss' for invocant of type 'Str'. Did you mean any of these?

in block <unit> at <tmp> line 1
chloekek p6: say ‘Ⓐ’.chars
camelia 1
chloekek True anarchy: make this return 2. 😈
xfix that's Raku for you, it uses graphemes by default :)
lizmat m: say "😈".uninames 09:44
xfix raku: say '🏴‍☠️'.chars
evalable6 1
lizmat m: say "😈".encode
camelia utf8:0x<F0 9F 98 88>
xfix raku: say ‘Ⓐ’.uninames 09:45
xfix well, i guess it's a single codepoint too
raku: for my $x (1, 2, 3) { say "This shouldn't compile: $x" } 09:47
evalable6 (exit code 1) 04===SORRY!04=== Error while compiling /tmp/AhSdzM5SWc
This appears to be Perl code
at /tmp/AhSdzM5SWc:1
------> 03for 08⏏04my $x (1, 2, 3) { say "This shouldn't co
synthmeat what, that's supposed to be emojis combined to jollyroger?
xfix 🏴‍☠️ is a pirate flag
synthmeat nice. TIL.
xfix raku: say '🏴󠁧󠁢󠁷󠁬󠁳󠁿'.chars 09:48
evalable6 1
xfix raku: say '🏴󠁧󠁢󠁷󠁬󠁳󠁿'.encode
evalable6 utf8:0x<F0 9F 8F B4 F3 A0 81 A7 F3 A0 81 A2 F3 A0 81 B7 F3 A0 81 AC F3 A0 81 B3 F3 A0 81 BF>
xfix raku: say '🏴󠁧󠁢󠁷󠁬󠁳󠁿'.uninames 09:49
xfix raku: say join ' ', '🏴󠁧󠁢󠁷󠁬󠁳󠁿'.uninames
xfix raku: say join ' | ', '🏴󠁧󠁢󠁷󠁬󠁳󠁿'.uninames
chloekek p6: say(chr(0xE000)) 10:07
chloekek p6: say(chr(0xE000).uninames) 10:08
camelia (<private-use-E000>)
xfix p6: say chr(0xD800) 10:12
camelia Error encoding UTF-8 string: could not encode Unicode Surrogate codepoint 55296 (0xD800)
in block <unit> at <tmp> line 1
xfix p6: say chr(0xD800).uninames 10:13
camelia (<surrogate-D800>)
xfix p6: say chrs 0xD801, 0xDC37 10:14
camelia Error encoding UTF-8 string: could not encode Unicode Surrogate codepoint 55297 (0xD801)
in block <unit> at <tmp> line 1
10:19 natrys joined, hungrydonkey left 10:20 sarna left 10:22 sarna joined 10:28 kawaii joined 10:29 hungrydonkey joined 10:38 hungryd70 joined 10:39 hungrydonkey left 10:43 hungryd70 left 10:45 hungrydonkey joined 10:55 ufobat_ joined 10:58 ufobat left 11:02 aluaces left 11:03 aluaces joined
kawaii Hi, I'm a little confused about some code I have here. I send some data to a remote API and then use the same API to add some reactions (emojis) to the message - after this I then start a tap on the event supply for the message I created but it's picking up the two add-reaction() events from the first block of code. www.irccloud.com/pastebin/R3ukTWoV/ 11:03
am I misunderstanding something about how `start react` works?
my initial thought was that the event supply was sending historical events, but this isn't the case 11:04
surely since I am `awaiting` that first block of code, there's no way the latter half is running at all, is there? at least not until the first finishes
lizmat is not immediately seeing it, jnthn might 11:05
Altreus I feel better when the grown-ups also can't immediately see what's happening :D 11:06
jnthn kawaii: Certainly all the stuff in the `.then` block will have run before the `react` block is started (and you can probably confirm that by logging something before the `start react` line) 11:07
Altreus here's where the supply happens github.com/shuppet/p6-api-discord/...e.pm6#L150
I'm pretty sure I've used a live supply
jnthn Note that `start react` is "fire and forget", so if that were your full program it'd just exit (I'm guessing it's not) 11:08
Altreus it's not
I haven't hit him with the "post the whole code" learning stick enough yet
I think the tap on the line I just linked to might also be better as a start react whenever ... maybe? 11:10
vague memories of being told only to use a tap if I know I need to use a tap
jnthn Sorry, bit distracted debugging a pathalogical parser backtracking case at $dayjob... 11:18
11:18 Altai-man_ joined 11:19 xelxebar joined
Altreus fun stuff derailed by real work :( 11:19
story of my career
11:21 sena_kun left 11:22 aborazmeh joined, aborazmeh left, aborazmeh joined 12:04 vike left 12:30 xelxebar left 12:32 xelxebar joined 12:34 cpan-raku left, cpan-raku joined, cpan-raku left, cpan-raku joined 13:07 aborazmeh left 13:09 mensvaga joined 13:14 Doc_Holliwood left 13:19 sena_kun joined 13:21 Altai-man_ left 13:27 lucasb joined 13:47 aborazmeh joined, aborazmeh left, aborazmeh joined 14:15 rypervenche joined 14:17 ensamvarg left 14:28 wamba left 14:32 mowcat joined 14:38 wamba joined 14:47 Itaipu_ left
lizmat reluctantly clickbaits rakudoweekly.blog/2020/03/16/2020-...od-friend/ 15:07
El_Che mm 15:14
it's was a nice text, lizmat 15:17
15:18 Altai-man_ joined 15:21 sena_kun left 15:55 aborazmeh_ joined, aborazmeh_ left, aborazmeh_ joined 15:56 Manifest0 joined 16:00 Itaipu joined
El_Che is this sarcasm or is it just me: twitter.com/ThePerlShop/status/123...20450?s=20 16:01
Grinnz doesn't seem like it to me? 16:02
16:02 wildtrees joined
El_Che it's me then :) 16:02
and that's a good thing :)
wildtrees to whom it may concern: page docs.raku.org/language/performance needs a s/#perl6/#raku/ :) 16:03
[Coke] doesn't seem like sarcasm to me. Seems like a small factual update. 16:04
El_Che not that there is something wrong with a little sarcasm :)
[Coke] wildtrees: can you open an issue at github.com/Raku/doc/issues? (A pr with updates would be awesome, but an issue helps too)
chloekek Changing the title of a book is probably very difficult. 16:05
It would have to be a completely new book, not just a new print of a book.
El_Che chloekek: I don't think so, but it would require editing inside
chloekek Apparently the author is working on it. 16:06
16:08 chloekek left 16:10 sena_kun joined 16:12 Altai-man_ left
tbrowder hi, #raku people 16:13
question: is there any way to publish a raku module in our ecosystem that uses a p5 module? 16:14
i.e., can zef install p6 modules from cpan? 16:16
what about dependent linux executables?
s/p6/p5/ 16:17
AlexDaniel tbrowder: you can publish it, zef won't do anything automatically 16:20
16:24 Itaipu_ joined 16:25 Itaipu left
tbrowder ok, thnx 16:29
16:36 aborazmeh left, aborazmeh_ is now known as aborazmeh 16:51 renormalist joined
wildtrees m: my @a = (1,2,3) ; say [Z] (@a,@a,@a) ; 16:53
camelia ((1 1 1) (2 2 2) (3 3 3))
lizmat El_Che: it's you
wildtrees you can fold the zip operator over a list of arrays, how nice :)
AlexDaniel wildtrees: not exactly 16:54
16:54 vike joined
AlexDaniel I mean, you can 16:54
but is it nice?
El_Che lizmat: good, like I said above 16:55
wildtrees it's not exactly doing that in the code I passed to camelia bot? 16:56
lizmat El_Che: I just wanted to confirm a good thing :-)
AlexDaniel wildtrees: well, here: 16:58
m: my @a = 1,2,3; my @b = @a,@a,@a; dd @b; say [Z] @b
camelia Array @b = [[1, 2, 3], [1, 2, 3], [1, 2, 3]]
((1 1 1) (2 2 2) (3 3 3))
AlexDaniel m: my @a = 1,2,3; my @b = @a,@a; dd @b; say [Z] @b
camelia Array @b = [[1, 2, 3], [1, 2, 3]]
((1 1) (2 2) (3 3))
AlexDaniel m: my @a = 1,2,3; my @b = @a; dd @b; say [Z] @b
camelia Array @b = [1, 2, 3]
((1 2 3))
AlexDaniel hmmm, hold on, it's the @b itself that is wrong?
ah wait 16:59
m: my @a = 1,2,3; my @b = @a,; dd @b; say [Z] @b
camelia Array @b = [[1, 2, 3],]
((1 2 3))
AlexDaniel there
wildtrees m: my @a = 1,2,3 ; dd @a ; 17:00
camelia Array @a = [1, 2, 3]
wildtrees m: my @a = 1,2,3 ; my @b = @a ; dd @b ; 17:01
camelia Array @b = [1, 2, 3]
AlexDaniel wildtrees: docs.raku.org/language/traps#Using...t_of_lists 17:02
wildtrees: the way [ ] DWIMs is nice but it's a design flaw
you should be alright as long as you know about it though
17:05 Voldenet joined, Voldenet left, Voldenet joined 17:19 aborazmeh left 17:21 sena_kun left 17:33 skyl4rk joined
rypervenche Hmm, I'm guesing that completely changing the cover is too difficult, but I feel that "Raku" should be the main name of the O'Reilly book. I hope to see that in a future version. 17:34
17:36 sena_kun joined, dakkar left 17:41 squashable6 joined 17:48 MasterDuke joined 17:54 aborazmeh joined, aborazmeh left, aborazmeh joined 17:59 chloekek joined 18:02 hungrydonkey left 18:20 stoned75 joined 18:21 mensvaga left
wildtrees m: <a b c>.map: *.say 18:25
camelia a
18:26 sauvin left
wildtrees is there like a foreach or something instead of map when I just want effects but don't care about the return result? like mapM_ from haskell? 18:26
Geth doc: 0116351a5a | (Stoned Elipot)++ | doc/Type/Any.pod6
correct plural form
linkable6 Link: docs.raku.org/type/Any
jnthn wildtrees: Just use map in a void context, or force the void context by writing `sink <a b c>.map: *.say` 18:28
18:31 [Sno] left 18:36 natrys left
sena_kun releasable6: status 18:38
releasable6 sena_kun, Next release in ≈11 days and ≈0 hours. 2 blockers. Changelog for this release was not started yet
sena_kun, Details: gist.github.com/ce2c49e3257087346f...8cce920879
18:49 theangryepicbana joined 18:51 theangryepicbana left 18:59 holyghost joined 19:07 Woodi left 19:08 Woodi joined 19:09 caterfxo left 19:11 Doc_Holliwood joined 19:14 hankache joined
hankache hello #raku 19:14
tellable6 2020-02-26T21:10:56Z #raku-dev <rba> hankache: Still like to know what you fixed to build Rakudo Star on Windows. As I'm getting the same error.
hey hankache, you have a message: gist.github.com/414ec05f8d812bc818...3d20d919c5
19:17 stoned75 left
chloekek Is there a way to get positional arguments into a hash without repeating their names? 19:17
In Perl 5 I could write: my %hash = ( foo => shift, bar => shift ); 19:18
I could do that in Raku but it’d be a variadic function: sub f(*@c) { my %hash = <foo bar> Z @c }. 19:19
19:21 sena_kun left
Altreus that sounds messy 19:22
You could make a multi function where the positional form calls the named form 19:23
19:24 kawaii left
AlexDaniel chloekek: you can still do that if you want 19:25
ah that's what you said in the last message :)
this almost works: 19:26
m: sub f(|c($foo, $bar)) { dd $foo; say c.pairs }; f 42, 50
camelia 42
(0 => 42 1 => 50)
chloekek p6: sub f($foo, $bar) { say MY:: }; f(1, 2) 19:31
camelia PseudoStash.new(($! => Nil, $*DISPATCHER => (Mu), $*NEXT-DISPATCHER => (Mu), $/ => Nil, $_ => (Any), $bar => 2, $foo => 1, $¢ => Nil))
Doc_Holliwood m: sub foo( $bar, $baz ) { my %h = :$bar, :$baz; }; dd foo('BAR', 'BAZ') 19:33
camelia Hash %h = {:bar("BAR"), :baz("BAZ")}
Doc_Holliwood chloekek: this? ^^
AlexDaniel “without repeating their names” :)
chloekek Still have to write the argument names twice, but that’s better than bar => $bar :) 19:34
tadzik well, you can probably still use @_ and shift like in Perl 5, for the most part :) 19:35
19:35 sena_kun joined
tadzik m: sub foo(*@args) { my %h = foo => @args.shift, bar => @args.shift; say %h.perl }; foo('bar', 'baz') 19:36
camelia {:bar("baz"), :foo("bar")}
AlexDaniel m: sub f($foo, $bar) { dd $_ for &?ROUTINE.signature.params }; f 42, 50
camelia Parameter $foo = $foo
Parameter $bar = $bar
tadzik oh that's just lovely AlexDaniel :D
AlexDaniel but then what? Look it up by name in MY:: ?
tadzik it's a good lead
you can eval them :>
Grinnz MY::? /me has ExtUtils::MakeMaker flashbacks 19:37
tadzik OH::MY
hrm, I seem to recall a time when you could declare a sub with no signature and it'd work Perl5 style... do I misremember? 19:39
now it doesn't compile as it assumes the signature is ()
AlexDaniel m: sub f($foo, $bar) { say $_, ‘ – ’, ::(.name) for &?ROUTINE.signature.params }; f 42, 50
camelia $foo – 42
$bar – 50
tadzik AlexDaniel++
AlexDaniel still not a hash though 19:40
but that's much easier to figure out
m: sub f($foo, $bar) { dd &?ROUTINE.signature.params.map({.name => ::(.name)}).hash }; f 42, 50 19:43
camelia Hash % = {("\$bar") => 50, ("\$foo") => 42}
AlexDaniel maybe there's a shorter way
btw I don't know why it puts () around keys
6c: sub f($foo, $bar) { dd &?ROUTINE.signature.params.map({.name => ::(.name)}).hash }; f 42, 50
committable6 AlexDaniel, gist.github.com/d99f4633f7c372e033...07cd8732d6 19:44
AlexDaniel riiiiiight
bisect: sub f($foo, $bar) { dd &?ROUTINE.signature.params.map({.name => ::(.name)}).hash }; f 42, 50
bisectable6 AlexDaniel, Bisecting by output (old=2015.12 new=945a4d8) because on both starting points the exit code is 0
AlexDaniel, bisect log: gist.github.com/50efe65176d9bc8413...53db7e2bdc
AlexDaniel, (2020-01-06) github.com/rakudo/rakudo/commit/08...0c9087c687
AlexDaniel c: 08aec410ef6^,08aec410ef6 ("\$foo") => 42 19:47
committable6 AlexDaniel, ¦08aec410ef6^,08aec41: «WARNINGS for /tmp/5smSwNEVBz:␤Useless use of "=>" in expression "(\"\\$foo\") => 42" in sink context (line 1)␤»
AlexDaniel c: 08aec410ef6^,08aec410ef6 (‘$foo’ => 42).raku.say
committable6 AlexDaniel, ¦08aec410ef6^: «"\$foo" => 42␤» ¦08aec41: «("\$foo") => 42␤»
AlexDaniel R#3555 19:48
linkable6 R#3555 [open]: github.com/rakudo/rakudo/issues/3555 [LTA][regression] pair.raku adds unnecessary parens
wildtrees what does ~= do in raku? 19:55
Altreus x = x ~ y 19:56
same as += except for ~
19:57 aborazmeh left 20:07 hankache left 20:09 lizmat joined 20:15 rouking joined
rouking It looks like the download instructions on raku.org are out of sync with the directory structure on rakudo.org 20:15
the correct link is rakudo.org/dl/star/rakudo-star-2020.01.tar.gz 20:16
The instructions have "downloads" instead of "dl" there 20:17
20:19 wamba left 20:25 molaf joined, mensvaga joined
matiaslina uploaded an image: 2020-03-17-172716_460x236_scrot.png (39KB) < matrix.org/_matrix/media/r0/downlo...ZulWsEXzst > 20:27
20:39 dogbert17 joined 20:41 wildtrees left 20:43 wildtrees joined 20:46 wildtrees left, wildtrees joined 20:56 Black_Ribbon joined
AlexDaniel` Matias: heh 21:00
wildtrees how do I check if an instance of an object is a certain class hierarchy or does a certain role at runtime? 21:01
lizmat m: say Int ~~ Numeric 21:02
camelia True
21:02 [Sno] joined
lizmat wildtrees: aka ~~ it 21:02
m: say 42 ~~ Int
camelia True
lizmat m: say 42 ~~ Rat
camelia False
matiaslina AlexDaniel: Oops. Wrong room. 21:03
AlexDaniel` Matias: surprisingly on IRC it did upload the image :) But of course deletions don't work 21:04
21:13 lizmat left, lizmat joined
matiaslina Yeah, the bridge sends the public link. Really don't know if irc supports deletion of messages 21:17
21:20 sena_kun left 21:26 rindolf left 21:27 ufobat_ left 21:35 sena_kun joined 21:37 TeamBlast left, TeamBlast joined
lizmat this feels like an interesting problem to fix with a Supply: twitter.com/AlanSwithenbank/status...4734449665 21:41
Grinnz instinctually thinks "show code" 21:43
21:45 rouking left 21:52 chloekek left 22:06 sivoais joined 22:25 __jrjsmrtn__ joined 22:29 dotdotdot left 22:30 dotdotdot joined
guifa Let’s say someone wanted to do have a “use Fortran;” statement in a block, and have the entire block evaluated as if it were Fortran. I know how to set up the grammar and actions, but I’m not sure how to set up the slangy part. (I know how to do it if, for instance, it were going to be “fortran { … }”, as there’s a few examples of doing that with, e.g. SQL) 22:36
22:36 lucasb left
guifa The P5 model is a bit overwhelming for me to follow 22:36
MasterDuke guifa: i think Slang::Tuxic might be a simple example of doing what you're talking about 22:44
guifa Hmm that just seems to modify a few tokens. Could I go so far as to modify the TOP token? 22:55
23:20 sena_kun left 23:23 mowcat left 23:27 hungrydonkey joined
MasterDuke i don't actually know, i've never worked with slangs at all 23:35
23:35 sena_kun joined 23:43 TeamBlast left 23:44 TeamBlast joined 23:59 agentzh joined, agentzh left, agentzh joined