🦋 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:00 lucasb left 00:11 sena_kun joined 00:12 Altai-man_ left 00:27 melezhik left 00:36 pmurias left 00:38 pmurias joined 00:43 pmurias left
guifa2 Is there any way to catch the output to $*ERR? 00:44
Xliff guifa2: From an external process? Proc::Async 00:53
guifa2 meh no time to practice using that. I want to get this module posted. Test files will have to come later ha
Xliff guifa2: my $p = run |@cmd-with-args, :out, :err; $p.err.slurp.say; 01:05
guifa2 okay maybe that's not that bad ha
Xliff m: my $p = run "ls", "-l", ".", "qqrq", :out, :err; $p.err.slurp.say
camelia ls: cannot access 'qqrq': No such file or directory
Xliff That's just using run() which returns a regular proc object. 01:09
01:31 wildtrees left 01:53 Poohman joined 02:09 Altai-man_ joined 02:12 normanrockwell joined, sena_kun left 02:17 normanrockwell left 02:25 sena_kun joined 02:27 squashable6 left, Altai-man_ left 02:29 squashable6 joined 02:56 NODE left 02:58 NODE joined 03:00 NODE left 03:01 NODE joined 03:09 Altai-man_ joined 03:12 sena_kun left 03:49 hungrydonkey joined 03:54 hungrydonkey left 03:59 guifa2 left 04:00 guifa2 joined 04:02 hungrydonkey joined 04:15 hungrydonkey left 04:19 hungrydonkey joined 04:53 ctilmes joined
ctilmes kybr, lizmat: You can feed a Supply from a gzipped file with Libarchive::Filter -- gunzip($*iohandle, $supplier) I think will do it. Let me know if there is a friendlier way to do the interface 04:59
lizmat: Or just gunzip('file.gz', $supplier) 05:00
05:01 ctilmes left 05:04 xinming left, xinming joined 05:10 sena_kun joined, hungrydonkey left, hungrydonkey joined 05:11 Altai-man_ left 05:16 hungrydonkey left, hungrydonkey joined 05:17 hungrydonkey left 05:18 hungrydonkey joined 05:20 hungrydonkey left 05:23 hungrydonkey joined, lostinfog left 05:25 hungrydonkey left, hungrydonkey joined 05:26 hungrydonkey left 05:27 hungrydonkey joined 05:28 hungrydonkey left 05:29 hungrydonkey joined 05:48 llfourn joined
cpan-raku New module released to CPAN! Net::BGP (0.1.9) by 03JMASLAK 06:18
06:18 xinming_ joined
xinming_ in docs/announce/2020.01.md There is a markdown usage of Raku[^1] What does [^1] mean in this example pleae? 06:20
Will [^1] rendered into home page?
06:20 dominix joined 06:21 xinming left 06:22 llfourn left 06:31 stoned75 left 06:33 sauvin joined 06:44 NODE left 06:46 NODE joined 06:48 NODE left 06:49 NODE joined 07:06 hungrydonkey left 07:09 Altai-man_ joined 07:12 sena_kun left 07:16 dominix left
tobs xinming_: in some markdown extensions (like pandoc's) this syntax creates a footnote. 07:31
07:39 rindolf joined 08:04 llfourn joined 08:05 wamba joined 08:08 Redfoxmoon left, Redfoxmoon joined 08:10 wamba left 08:24 llfourn left 08:25 wamba joined 08:44 llfourn joined 08:47 kensanata joined 09:00 wamba left 09:05 xinming_ left 09:06 xinming_ joined 09:10 sena_kun joined 09:12 Altai-man_ left 09:21 llfourn left, llfourn joined 09:25 scimon joined 09:30 xinming_ left 09:31 xinming_ joined 10:02 llfourn left, xinming_ left 10:03 wamba joined 10:04 xinming_ joined 10:06 rindolf left 10:07 daxim left 10:10 cpan-raku left 10:12 cpan-raku joined, cpan-raku left, cpan-raku joined, daxim joined 10:15 rindolf joined 10:31 libertas_ left 10:32 libertas left 10:36 robertle joined 10:38 libertas joined 10:39 libertas_ joined 10:42 wamba left 10:53 libertas left, libertas_ left 11:04 kensanata left 11:09 Altai-man_ joined 11:12 sena_kun left 11:19 wamba joined 11:25 libertas joined 11:27 libertas_ joined 11:36 kensanata joined 11:47 libertas is now known as Guest36177, Guest36177 left, libertas_ is now known as libertas, libertas_ joined 11:53 llfourn joined 11:56 NODE left 11:58 llfourn left, NODE joined 12:00 NODE left 12:01 NODE joined 12:02 NODE left 12:04 NODE joined 12:06 NODE left 12:07 NODE joined
cpan-raku New module released to CPAN! Trait::Traced (0.0.1) by 03KAIEPI 12:59
13:10 sena_kun joined 13:12 Altai-man_ left 13:15 kktt007 joined
xinming_ tobs: Ok, Thanks. 13:37
13:55 benchable6 left 13:56 greppable6 left, shareable6 left, nativecallable6 left, unicodable6 left, evalable6 left, tellable6 left, notable6 left 13:57 reportable6 left, quotable6 left 13:58 squashable6 left, bisectable6 left, releasable6 left, committable6 left, sourceable6 left 13:59 statisfiable6 left, coverable6 left, bloatable6 left 14:11 lucasb joined 14:20 shareable6 joined, greppable6 joined, nativecallable6 joined, benchable6 joined 14:32 kktt007 left 14:37 quotable6 joined 14:38 tbrowder joined, unicodable6 joined, reportable6 joined, notable6 joined 14:39 HollisterSmiley left, HollisterSmiley joined 14:40 evalable6 joined 14:41 tellable6 joined 14:46 Xliff left 14:56 bloatable6 joined, coverable6 joined 14:57 statisfiable6 joined, bisectable6 joined, sourceable6 joined 14:58 releasable6 joined, committable6 joined, squashable6 joined 15:09 Altai-man_ joined 15:12 sena_kun left 15:20 rindolf left 15:25 rindolf joined 15:34 kensanata left 15:44 alipoor90 joined 15:46 rai joined
alipoor90 Is Perl 6 language finalized? as a beginner, should i start with Perl 6 or Perl 5? which one is less-complex/easier-to-learn? 15:46
xinming_ m: multi x (Num $a) { $a.say; }; x(3)
camelia 5===SORRY!5=== Error while compiling <tmp>
Calling x(Int) will never work with any of these multi signatures:
(Num $a)
at <tmp>:1
------> 3multi x (Num $a) { $a.say; }; 7⏏5x(3)
15:46 rai is now known as Guest43112
xinming_ alipoor90: choose perl6, spec is already finialized, Implementation covers major part of the the spec. and you'll see the most advanced programming language on this earth ATM. :-) 15:47
m: multi x (Num $a) { $a.say; }; x(3) # <--- Why won't Int be converted to Num? 15:48
camelia 5===SORRY!5=== Error while compiling <tmp>
Calling x(Int) will never work with any of these multi signatures:
(Num $a)
at <tmp>:1
------> 3multi x (Num $a) { $a.say; }; 7⏏5x(3) # <--- Why won't Int be conve
15:49 Guest43112 left
tobs m: multi x (Num() $a) { $a.say; }; x(3) # xinming_: if you want to have it converted, use the coercing form Num() or Num(Int) if you only want to coerce Ints to Num 15:49
camelia 3
xinming_ tobs: I know, I'm just curious why Num won't do the auto convertion, I use it in sub MAIN (Num $a) { } 15:52
tobs if only looks as if Raku automatically coerces types as needed because the internals (of Rakudo) do the coercions explicitly (like if you add two things using infix:<+>, it coerces to Numeric). There is no implicit coercion due to signatures. 15:53
xinming_ sub MAIN (Int $a) { } do the auto convertion.
15:55 alipoor90 left
tobs `perl6 -e 'sub MAIN (Num $x) { $x.say }' -- 3` <- does not fire for me. Replacing Num by Int does. So MAIN seems to follow the same rules. 15:56
and "why?" -- because that's the rule. If you want it to try converting automatically, you have Num() in the signature. 15:57
or you can use a type constraint that includes Int and Num and everything else you can sensibly work with. For example Numeric generalizes Int and Num: 16:15
m: multi x (Numeric $a) { $a.say }; x(3); x(<4>); x(π)
camelia 3
4
3.141592653589793
xinming_ tobs: Thanks for the Numeric type, I thought Num is the same as Numeric, Num is just shortcut. :-) 16:23
16:26 Redfoxmoon left, Redfoxmoon joined 16:35 domidumont joined 16:48 lostinfog joined 16:49 mahmudov joined 16:59 HollisterSmiley is now known as SaviourOfTheCock
SaviourOfTheCock That was supposed to read Cockatiel, goddamit 16:59
17:00 SaviourOfTheCock is now known as DockHolliwood
DockHolliwood I just found a cockatiel in the middle of the road. I was able to catch it and return it to the owner. Feels nice. 17:03
Poor baby sat ride on the center line, cars whizzing by left and right. I only saw it cause i was riding my electrical trike. 17:04
*right
17:10 sena_kun joined 17:11 Altai-man_ left 17:17 wildtrees joined 17:19 scimon left 17:31 wamba left 17:40 lostinfog left 17:41 melezhik joined, lostinfog joined
melezhik Hi! I just launched an experimental instance of RakuDist API allowing Raku modules authors to test their distribution against different OS online - github.com/melezhik/RakuDist#run-tests-via-api 17:42
an example of request - `curl repo.westus.cloudapp.azure.com/raku...ate::Names -d os=debian`
curl repo.westus.cloudapp.azure.com/raku...ate::Names -d os=debian 17:43
17:44 chloekek joined
AlexDaniel melezhik: I think you're missing .lines on .stderr and .stdout 17:47
melezhik: see broken output here: repo.westus.cloudapp.azure.com/raku...110395.txt
melezhik AlexDaniel: yeah, I am aware of, thank you 17:49
it should be 'repo.westus.cloudapp.azure.com/raku...i/run/sake -d os=debian' btw
AlexDaniel yeah 17:51
18:15 wamba joined 18:23 sena_kun left 18:24 MasterDuke joined 18:31 kawaii left 18:33 NODE left, sena_kun joined, Geth left 18:34 kawaii joined, NODE joined 18:35 NODE left 18:37 NODE joined 18:39 NODE left 18:40 NODE joined 18:54 NODE left 18:55 NODE joined 18:57 NODE left 18:58 NODE joined
melezhik AlexDaniel: just an idea - have a chatboot that invoke RakuDist calls for a certain module, something like "rkd: sake debian" 19:00
could be handy for module releases
or when debugging module development
guifa2 For custom exceptions, is there a best practice yet for where to put them? I've seen some just included inside of a module as a non-exported class, others with a lib/X/Foo.pm6 structure for exceptions in module Foo, and others with lib/Foo/X.pm6 19:05
tobs guifa2: the topic certainly came up, but I don't remember the conclusion: github.com/Raku/problem-solving/issues/57 19:09
(the ticket is still open anyway) 19:10
guifa2 oh hey, at least I wasn't the only one wondering ha
19:11 mspo left, sena_kun left
xinming_ !seen SmokeMachine 19:12
How do we use seen bot?
guifa2 "Yeah,if anything I'd document it as a "Trap" and leave it on the grounds of no consensus." Sounds about like the discussion going on in my head, so that's a relief. 19:13
lizmat .seen xinming_ 19:15
tellable6 lizmat, I saw xinming_ 2020-01-15T19:12:30Z in #raku: <xinming_> How do we use seen bot?
AlexDaniel tellable6: xinming_ 19:18
tellable6 AlexDaniel, I saw xinming_ 2020-01-15T19:12:30Z in #raku: <xinming_> How do we use seen bot?
AlexDaniel seen: xinming
tellable6 AlexDaniel, I saw xinming 2020-01-15T19:12:30Z in #raku: <xinming_> How do we use seen bot?
AlexDaniel tellable6: help
tellable6 AlexDaniel, Like this: .tell AlexDaniel your bot is broken # See wiki for more examples: github.com/perl6/whateverable/wiki/Tellable
AlexDaniel tell: xinming 19:22
tellable6 AlexDaniel, I saw xinming 2020-01-15T19:12:30Z in #raku: <xinming_> How do we use seen bot?
AlexDaniel any command should work, except !seen :) 19:23
19:26 sena_kun joined 19:27 sauvin left
xinming_ .seen SmokeMachine 19:28
tellable6 xinming_, I saw SmokeMachine 2020-01-13T16:54:34Z in #raku: <SmokeMachine> wouldn't that make sense to always say the type?
lizmat hmmm... looks like we lost Geth again 19:31
ping tyil
xinming_ Is Geth SmokeMachien?
lizmat no, Geth is a bot, Smokemachine is noty :-) 19:32
guifa2 p6: CX::Warn.new.throw; say "Why didn't we reach here?" 19:42
camelia control exception without handler
in block <unit> at <tmp> line 1
guifa2 if warn() throws a CX::Warn, what's going on differently when throwing it directly? 19:43
lizmat add a CONTROL block and see if it winds up there ? 19:44
19:47 xinming_ left 19:51 domidumont left
guifa2 Interesting, I get a MoarVM panic if I use CONTROL { … } without an explicit .resume 19:51
Hmmm, it seems that it's creating an non-standardish exception with the CONTROL_WARN constant when you use warn (whereas die actually uses a standard Exception class) 19:57
20:12 ryan59 joined
ryan59 I stumbled upon a case where some code wont parse because of whitespace... is this expected?: pastebin.com/W5vJQm77 20:13
If the comma and test description string are moved up a line after the closing curly everything works 20:14
guifa2 A terminal } is considered equivalent to }; 20:18
So that's what causing it. I'd say it's working as expected, because I don't know how much special casing is desired with that behavior 20:19
ryan59 makes sense 20:20
thx
20:27 Manifest0 left
lizmat indeed, a } at the end of a line is the end of that statement 20:29
always
20:37 Geth joined
tyil lizmat: sorry, was doing a li'l nap 20:37
lizmat okidok :-)
tyil wonder what's causing Geth to be dropped, the logs show nothing
20:44 guifa2 left, NODE left 20:45 stoned75 joined 20:46 NODE joined 20:55 AlexDaniel left 20:59 Tirifto joined 21:05 MasterDuke left 21:08 ryan59 left 21:12 sena_kun left 21:17 NODE left 21:19 NODE joined 21:27 sena_kun joined 21:38 lucasb left 21:42 stoned75 left 21:46 wamba left 21:47 wamba joined 22:01 AlexDaniel joined, AlexDaniel left, AlexDaniel joined 22:03 rindolf left, Xliff joined
Xliff o/ 22:04
Can a Supply tell if it has been tapped?
22:09 melezhik left
jnthn In general, no. Of course, a Supplier does keep track of an active subscriber list, but that's an internal detail and you can't ask for it. 22:10
Xliff :( 22:11
jnthn But most are stateless
Xliff Yeah. I'd just want to know if a Supplier has had one of its supplies tapped.
jnthn Just wrap it
sub keep-if-tapped($s, $p) { supply { $p.keep; whenever $s { .emit } } } or so 22:12
(I don't know how you want to find out)
For Supplier you can subclass it
Xliff Yeah, that might be for the best.
jnthn Override Supply, callsame(), wrap the result up as shown (but you maybe would set an attribute instead) 22:13
Xliff Actually, I'd also need to create my own TapList... 22:14
m: my $s = Supplier.new; my $sup = $s.Supply; $s.^can('tap').gist.say 22:18
camelia ()
Xliff m: my $s = Supplier.new; my $sup = $s.Supply; $sup.^can('tap').gist.say
camelia (tap)
Xliff m: my $s = Supplier.new; my $sup = $s.Supply; $sup.^can('tap')[0].^name.say
camelia Method
Xliff So I can wrap that.
22:24 Kaiepi left 22:25 Kaiepi joined 22:27 melezhik joined
lizmat Kaiepi: does that ring bell with you? www.reddit.com/r/rakulang/comments...m_sockets/ 22:28
22:30 ryan26 joined
ryan26 is awaiting a promise from a start to check if a Proc::Async has exited unreliable? Sometimes the promise will hang on "Planned" forever... well after the process has terminated... 22:31
Xliff jnthn: Look about right? gist.github.com/Xliff/ba271400c195...4738a9a628 22:32
ryan26 I haven't figured out a way to code up a minimal test case yet... it seems to only happen when I quit my async proc immediately after opening it... 22:34
Kaiepi yeah lizmat, there's a pr open for adding support for it to IO::Socket::INET but it's blocked until this next release gets made 22:36
lizmat ok
22:36 stoned75 joined 22:37 wildtrees left 22:40 sena_kun left 22:42 NODE left
Kaiepi commented 22:42
lizmat Kaiepi++ 22:43
22:43 NODE joined 22:45 NODE left 22:46 NODE joined 22:48 NODE left 22:49 NODE joined 22:56 ryan26 left, sena_kun joined
cpan-raku New module released to CPAN! Sys::Domainname (0.0.1) by 03JMASLAK 22:59
23:00 Manifest0 joined
DockHolliwood what tool do you guys use for module authoring? esp. packing and uploading? 23:09
23:12 stoned75 left
Xliff Halp? gist.github.com/Xliff/ba271400c195...4738a9a628 23:17
23:27 mahmudov left 23:34 Doc_Holliwould joined, holli joined 23:37 Doc_Holliwood left, DockHolliwood left 23:38 wildtrees joined, NODE left 23:40 NODE joined 23:41 holli left, Doc_Holliwould left 23:42 NODE left 23:43 NODE joined 23:45 chloekek left 23:59 guifa2 joined