»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_log/perl6 | UTF-8 is our friend! 🦋
Set by Zoffix on 25 July 2018.
00:00 reportable6 left, reportable6 joined 00:09 [particle] left, Kaiepi left, tilpner_ joined 00:10 Kaypie joined, [particle] joined 00:11 riatre left, camelCaser left, tilpner left, camelCas- joined 00:13 riatre joined 01:13 evalable6 left 01:14 AlexDaniel left 01:55 Xliff_ joined 01:59 Xliff left 02:01 Manifest0 left 02:02 Manifest0 joined 02:18 Cabanossi left, Xliff_ is now known as Xliff 02:21 Cabanossi joined
AlexDaniel` Wow, half of the plane is empty 02:36
It's not even half full 02:37
Xliff de plane! de plain! 02:48
kawaii AlexDaniel`: Blin seems to have completely stopped working even on a fresh install of Rakudo Star 03:07
not sure why, and it's 4:00 am here now so not in the mood to debug www.irccloud.com/pastebin/bq8bqd3r/ 03:09
AlexDaniel` Oh, that again 03:50
Alright I'll investigate 03:52
04:00 uid9164 joined
uid9164 <code> my @a[3;3] = (<1 2 3>,<4 5 6>,<7 8 9>); 04:00
<code> say @a[2]; 04:01
<output> Partially dimensioned views of shaped arrays not yet implemented. Sorry.
Are there some simple methods to copy @a[2]?
Xliff m: my @a[3;3] = (<1 2 3>,<4 5 6>,<7 8 9>); @a[2; ^2].say 04:19
camelia Partially dimensioned views of shaped arrays not yet implemented. Sorry.
in block <unit> at <tmp> line 1
Xliff m: my @a[3;3] = (<1 2 3>,<4 5 6>,<7 8 9>); @a[2][^2].say
camelia Partially dimensioned views of shaped arrays not yet implemented. Sorry.
in block <unit> at <tmp> line 1
Xliff m: my @a[3;3] = (<1 2 3>,<4 5 6>,<7 8 9>);
camelia ( no output )
Xliff m: my @a[3;3] = (<1 2 3>,<4 5 6>,<7 8 9>); @a.say
camelia [[1 2 3] [4 5 6] [7 8 9]]
Xliff m: my @a[3;3] = (<1 2 3>,<4 5 6>,<7 8 9>); @a[1][0].say
camelia Partially dimensioned views of shaped arrays not yet implemented. Sorry.
in block <unit> at <tmp> line 1
Xliff m: my @a[3;3] = (<1 2 3>,<4 5 6>,<7 8 9>); @a[1;0].say
camelia 4 04:20
Xliff m: my @a[3;3] = (<1 2 3>,<4 5 6>,<7 8 9>); @a[1;^2].say
camelia Partially dimensioned views of shaped arrays not yet implemented. Sorry.
in block <unit> at <tmp> line 1
Xliff m: my @a[3;3] = (<1 2 3>,<4 5 6>,<7 8 9>); @a[1;0,1,2].say
camelia Partially dimensioned views of shaped arrays not yet implemented. Sorry.
in block <unit> at <tmp> line 1
Xliff :(
m: my @a[3;3] = (<1 2 3>,<4 5 6>,<7 8 9>); @a[1][$_].say for ^2 04:21
camelia Partially dimensioned views of shaped arrays not yet implemented. Sorry.
in block <unit> at <tmp> line 1
Xliff m: my @a[3;3] = (<1 2 3>,<4 5 6>,<7 8 9>); @a[1][$_].say for ^2.eager
camelia Potential difficulties:
Precedence of ^ is looser than method call; please parenthesize
at <tmp>:1
------> 3>,<4 5 6>,<7 8 9>); @a[1][$_].say for ^27⏏5.eager
Partially dimensioned views of shaped arrays not yet implemented. S…
Xliff m: my @a[3;3] = (<1 2 3>,<4 5 6>,<7 8 9>); @a[1][$_].say for ^2.Array
camelia Potential difficulties:
Precedence of ^ is looser than method call; please parenthesize
at <tmp>:1
------> 3>,<4 5 6>,<7 8 9>); @a[1][$_].say for ^27⏏5.Array
Partially dimensioned views of shaped arrays not yet implemented. S…
Xliff m: my @a[3;3] = (<1 2 3>,<4 5 6>,<7 8 9>); @a[1][$_].say for 0...2
camelia Partially dimensioned views of shaped arrays not yet implemented. Sorry.
in block <unit> at <tmp> line 1
04:22
Xliff WTF?
m: my @a[3;3] = (<1 2 3>,<4 5 6>,<7 8 9>); for ^2 { @a[1][$_].say }
camelia Partially dimensioned views of shaped arrays not yet implemented. Sorry.
in block <unit> at <tmp> line 1
Xliff m: my @a[3;3] = (<1 2 3>,<4 5 6>,<7 8 9>); @a[1][0].say; @a[1][1].say @a[1][2].say;
camelia 5===SORRY!5=== Error while compiling <tmp>
Two terms in a row
at <tmp>:1
------> 3 6>,<7 8 9>); @a[1][0].say; @a[1][1].say7⏏5 @a[1][2].say;
expecting any of:
infix
infix stopper
statement end
Xliff m: my @a[3;3] = (<1 2 3>,<4 5 6>,<7 8 9>); @a[1][0].say; @a[1][1].say; @a[1][2].say; 04:23
camelia Partially dimensioned views of shaped arrays not yet implemented. Sorry.
in block <unit> at <tmp> line 1
uid9164 These codes seem too difficult for non CS students...
Xliff m: my @a[3;3] = (<1 2 3>,<4 5 6>,<7 8 9>); @a[1][0].say
camelia Partially dimensioned views of shaped arrays not yet implemented. Sorry.
in block <unit> at <tmp> line 1
Xliff m: my @a[3;3] = (<1 2 3>,<4 5 6>,<7 8 9>); @a[1;2].say
camelia 6
Xliff m: my @a[3;3] = (<1 2 3>,<4 5 6>,<7 8 9>); @a[1;$_].say for ^2 04:24
camelia 4
5
Xliff m: my @a[3;3] = (<1 2 3>,<4 5 6>,<7 8 9>); @a[1;$_].say for ^3
camelia 4
5
6
Xliff :S
I avoid shaped arrays for this particular reason.
my @a = (<1 2 3>, <4 5 6>, <7 8 9>); @a[1][2].say; 04:25
uid9164 I try to write a library for my own use.
Xliff m: my @a = (<1 2 3>, <4 5 6>, <7 8 9>); @a[1][2].say;
camelia 6
Xliff m: my @a = (<1 2 3>, <4 5 6>, <7 8 9>); @a[1][^3].say;
camelia (4 5 6)
uid9164 to let a one dimension array serve as a two dimension array...
04:40 curan joined 04:45 AlexDaniel joined 04:47 chloekek joined 04:48 AlexDaniel left 04:49 AlexDaniel joined 05:01 sjm_uk joined 05:05 jaldhar_ joined 05:07 AlexDaniel left 05:12 lizmat left, uid9164 left 05:16 jaldhar_ left 05:17 jaldhar_ joined 05:24 jaldhar_ left 05:25 jaldhar_ joined 05:26 jaldhar_ left 05:27 jaldhar_ joined 05:29 Sgeo_ left, Sgeo_ joined 05:30 chloekek left 05:34 squashable6 left 05:36 squashable6 joined 05:52 AlexDaniel joined 05:54 jaldhar_ left 05:55 jaldhar_ joined 05:58 jaldhar_ left 05:59 jaldhar_ joined 06:00 reportable6 left 06:02 reportable6 joined 06:05 Woodi joined 06:06 jaldhar_ left 06:07 jaldhar_ joined, [particle]1 joined 06:08 Xliff left 06:09 [particle] left, AlexDaniel left 06:10 cpan-p6 left, cpan-p6 joined, cpan-p6 left, cpan-p6 joined 06:12 [particle] joined, [particle]1 left 06:14 uid9164 joined 06:20 jaldhar_ left 06:21 jaldhar_ joined, AlexDaniel joined 06:22 jaldhar_ left, jaldhar_ joined 06:30 [particle]1 joined 06:31 [particle] left 06:32 jaldhar_ left, jaldhar_ joined 06:34 jaldhar_ left, jaldhar_ joined 06:42 AlexDaniel left 06:43 AlexDaniel joined
AlexDaniel m: my @a[3;3] = (<1 2 3>,<4 5 6>,<7 8 9>); @a[2; *].say 06:44
camelia Partially dimensioned views of shaped arrays not yet implemented. Sorry.
in block <unit> at <tmp> line 1
AlexDaniel m: my @a[3;3] = (<1 2 3>,<4 5 6>,<7 8 9>); @a[2; ^*].say 06:45
camelia Partially dimensioned views of shaped arrays not yet implemented. Sorry.
in block <unit> at <tmp> line 1
06:46 dyske joined 06:47 dyske left 06:57 [particle] joined 06:59 sjm_uk left, [particle]1 left 07:01 chloekek joined 07:04 cygx joined
cygx perlcon livestream is live 07:04
07:08 dolmen joined
El_Che twitter.com/shadow_dot_cat/status/...05696?s=20 07:09
livestreaming perl con eu
Riga is in Search Results 07:20
Local Time
Eastern European Summer Time
oops
last line will doe
-e
07:20 dolmen left 07:23 jjmerelo joined
El_Che jjmerelo: looking at the abstract of your talk atm 07:23
jjmerelo El_Che a lot of documentation
El_Che it will be livestreamed, so if no catastrophes happen at work I should be able to see it :)
tadzik has a talk today as well I see 07:25
jjmerelo The slides, just published here: jj.github.io/apocrypha/#/
El_Che apocrypha :) 07:26
lol
jjmerelo squashable6: status 2019-09-01
squashable6 jjmerelo, Invalid date format
jjmerelo squashable6: status 2019/09/01
squashable6 jjmerelo, I cannot recognize this command. See wiki for some examples: github.com/perl6/whateverable/wiki/Squashable
07:27 [particle] left
jjmerelo squashable6: status 2019-09-02 07:27
squashable6 jjmerelo, Invalid date format
jjmerelo squashable6: status
squashable6 jjmerelo, Next SQUASHathon in 29 days and ≈20 hours (2019-09-07 UTC-12⌁UTC+20). See github.com/rakudo/rakudo/wiki/Mont...Squash-Day
jjmerelo squashable6: status 2019-08-02
squashable6 jjmerelo, Invalid date format
AlexDaniel squashable6: status 2019-08-03 07:28
squashable6 AlexDaniel, Log and stats: gist.github.com/b05a2efff50945f1d7...26f868f1e0
jjmerelo squashable6: status 2019-08-03
El_Che jjmerelo: I hope you end your talk with "and now, ladies and gentlemen, we're moving from pod6 to md"
squashable6 jjmerelo, Log and stats: gist.github.com/39109c1016296a6b33...7f8e7fb017
AlexDaniel jjmerelo: look at the PRs too
jjmerelo El_Che Not really. To DocBook!
AlexDaniel El_Che: I meaaan… is it meant to be a joke or something? :)
El_Che: sometimes I have thoughts…
jjmerelo AlexDaniel: coming to Riga? 07:29
07:29 reach_satori_ left
AlexDaniel jjmerelo: right here 07:29
jjmerelo AlexDaniel where are you?
jjmerelo sitting in the front row
AlexDaniel jjmerelo: I'm on the second row, but I can't see you xD 07:30
El_Che AlexDaniel: touch him on the shoulder :) 07:31
is SawyerX's talk the same he gave in the USA last month?
(in that case I can skip it)
(pretty clear that perl 6 is no longer in the picture there) 07:32
AlexDaniel jjmerelo: the data from squashable6 is not representative, I think
jjmerelo AlexDaniel what else should I use?
AlexDaniel jjmerelo: the amount of PRs, I think
jjmerelo: and also how many files each PR touched… 07:33
jjmerelo AlexDaniel that's also in Squashable6's raw data
AlexDaniel that's not.
AlexDaniel jjmerelo: for example this one updates 5 files: github.com/perl6/doc/pull/2930
07:33 lizmat joined 07:34 lizmat left
El_Che AlexDaniel: not a fan of pod, from the perl5 times. In the meantime the world moved to md (probably due to github) 07:34
jjmerelo AlexDaniel well, every change ties to a commit so I guess it's just a matter of digging that up
El_Che zef is using pod. Can't be convinced to use anything else. 07:35
El_Che md is universally supported: tooling, websites, people that can contribute know it...
AlexDaniel El_Che: there's a decluttering TODO item about doc files. We have pod5, pod6, md and asciidoc files, sometimes several types in the same repo
jjmerelo AlexDaniel do we have asciidoc in perl6/doc?
AlexDaniel jjmerelo: not in the docs, but there are some in MoarVM/MoarVM 07:36
jjmerelo AlexDaniel I think I've identified you. Black shirt, a little to the right of the center of the room?
El_Che pod made sensen when Lary introduced ages ago
AlexDaniel jjmerelo: that's correct
El_Che now? less so. An weird thing people sigh at when looking at perl 6
jjmerelo Well, Pod6 makes a lot of sense in Perl 6. Also, AlexDaniel, should we officially call it pod6 now? 07:37
07:37 [particle] joined
AlexDaniel jjmerelo: umm… is there any other name? 07:37
El_Che is it short for Pretty Old Documentation? 07:38
:)
chloekek p and d both look like 6, p6d
El_Che 666 :)
jjmerelo AlexDaniel, well, there's this issue github.com/perl6/doc/issues/1923 07:39
uid9164 How do you search docs about perl6? I got few useful results on global bing.
Do you search "perl6" on github directly? 07:40
chloekek El_Che: old but gold.
El_Che oobg 07:41
chloekek POD has the killer feature that starting and ending markup uses different characters (e.g. C< and >), so you don't run into problems with nesting. And characters that are common in everyday speech, such as _ and *, aren't special. This is why I hope it will live on. :)
El_Che obg
mnemonic: Oh Bee Gees!
chloekek uid9164: for docs about core libraries I search on docs.perl6.org. For other things I usually google "perl6" but there'sn't much rendered documentation out there, but you'll find some blog posts. 07:42
jjmerelo uid9164 bing is probably not the best place to look for perl 6 docs. Official docs anyway are at docs.perl6.org or, right now, at docs.p6c.org
uid9164 in general, Google is the best place to search for Perl 6 docs. Yandex, duckduckgo and bing, unfortunately, do not give as good results. 07:43
El_Che jjmerelo: you want to have doc and code together again like in p5? Or happy with the separation? 07:45
jjmerelo AlexDaniel github.com/JJ/p6-app-squashathons/...g-2019.csv 07:49
AlexDaniel From that, we can come up with a formula to make it better 07:50
And I'm freezing, so I'm going back to my room to get some clothes
07:50 jaldhar_ left 07:51 jaldhar_ joined
AlexDaniel jjmerelo: IIRC, uzluisf fixed more pages than anybody else, or at least a lot 07:51
El_Che jjmerelo: the high North, close to the Wall :)
AlexDaniel jjmerelo: so if the data does not reflect that, then the data is questionable :)
07:53 zakharyas joined, marcel_ joined 07:54 jjmerelo left 07:55 dolmen joined 08:01 AlexDaniel left 08:08 jjmerelo joined
jjmerelo AlexDaniel you have to question data with more data... 08:08
08:08 rindolf joined 08:09 antoniogamiz joined 08:11 dolmen left
jjmerelo AlexDaniel` there are many levels of data we can analyze, including, as you say, number of files or number of lines... 08:13
AlexDaniel` we can also weight differently contributions... Maybe we can talk it out during coffee.
08:14 AlexDaniel joined
AlexDaniel jjmerelo: ok, data: 08:14
antoniogamiz jjmerelo: at what time is your talk? 08:15
jjmerelo antoniogamiz 12:15
08:15 dolmen joined
antoniogamiz riga time or spain time? 08:15
jjmerelo riga time
AlexDaniel jjmerelo: there were 28 pages marked as proofread: 101-basics about classtut community containers contexts control faq intro math nativetypes objects optut performance pod tables unicode unicode_ascii int Backtrace Backtrace::Frame ComplexStr FatRat IntStr NumStr Perl RatStr StrDistance
jjmerelo In 1 hour
antoniogamiz ok, thanks :) 08:16
AlexDaniel jjmerelo: uzluisf did 16, so more than half 101-basics.pod6 about.pod6 classtut.pod6 community.pod6 container.pod6 contexts.pod6 control.pod6 faq.pod6 glossary.pod6 intro.pod6 newline.pod6 objects.pod6 pod.pod6 quoting.pod6 syntax.pod6 tables.pod6
am I right or am I right? :)
antoniogamiz I think you're right
:D
08:20 AlexDaniel left, jjmerelo left
SmokeMachine there is no sound on Riga stream! 08:25
fixed! thanks! 08:26
antoniogamiz 10 minutes :DDD 08:30
08:32 reach_satori_ joined 08:35 ravenousmoose_ left, ravenousmoose_ joined 08:42 noisegul joined
antoniogamiz room $ has started! 08:43
and @ too
cygx Hi, I'm tadzik; I'm a bad programmer ;) 08:44
antoniogamiz haha
noisegul Good morning :) 08:45
antoniogamiz morning! :D
noisegul: check twitter.com/shadow_dot_cat/status/...05696?s=20 to see perlcon!
% room is having problems or something? 08:47
noisegul antoniogamiz: thanks, good to see there's a stream, I was wondering about that
08:48 marcel_ left
chloekek
.oO(Use a random number generator stored in $*RNG for rand)
08:53
Would be fun to implement the Mersenne Twister in Perl 6 and see how fast it can be. 08:57
antoniogamiz mersenne twister? 08:58
chloekek It's an algorithm for generating pseudorandom numbers
antoniogamiz ah :o
chloekek I wish to write a roguelike in Perl 6 but I want deterministic world generation based on given seed, so I can't rely on an unspecified RNG. 08:59
09:04 lizmat joined 09:05 |oLa| joined
noisegul chloekek: Of course for world seeding you might need some more features, but seeding the regular rand is possible afaik docs.perl6.org/routine/srand 09:08
chloekek noisegul: Yeah, but different implementations of Perl 6 may give different results. And it's not thread-local AFAICT. 09:10
noisegul chloekek: True
chloekek perl6: srand(42); say rand 09:11
perl-6: srand(42); say rand
camelia ( no output )
0.27451833236771117
09:11 huf joined
chloekek perl-6: srand(42); say rand 09:12
perl6: srand(42); say rand
camelia 0.27451833236771117

(timeout)
chloekek 🤔 09:13
noisegul chloekek: Likely want to influence probability distribution too for a roguelike? Not sure if Perl 6 supports that by default in any way.
cygx chloekek: it should be per-thread, at least on moarvm
MVMThreadContext has a rand_state mamber 09:14
*member
chloekek noisegul: probability distributions can be built on top of a uniform RNG.
cygx: Ah nice.
AlexDaniel` chloekek: camelia is just not feeling well about the jvm backend I think 09:15
chloekek Yeah it had trouble yesterday too. 09:16
09:20 jaldhar_ left 09:21 jaldhar_ joined 09:25 lizmat left 09:27 [Sno] joined
AlexDaniel` I still can't find anybody who'd be able to fix it 09:30
timotimo: are you sure you can't?
09:31 AlexDaniel joined 09:34 antoniogamiz left, antoniogamzi joined, uid9164 left
chloekek bisectable6: srand(42); say rand 09:35
bisectable6 chloekek, Bisecting by output (old=2015.12 new=74f2d3f) because on both starting points the exit code is 0
chloekek, bisect log: gist.github.com/072daa6ef0a71cfeb8...0c8d2c005c
chloekek, (2018-03-25) github.com/rakudo/rakudo/commit/a2...bf10bc1d11
09:36 AlexDaniel left
chloekek Hah, the only thing that ever changed was the number of digits in the output. 09:36
09:38 Ven`` joined
El_Che www.youtube.com/watch?v=ce_hu-16UJU <-- jmerelo's talk starts about -10m 09:43
antoniogamzi docs power
Ven`` oh, it's good to know that you can watch all the talks you can't attend :) 09:44
El_Che yeah, if you scroll on the right channel, everything is there
including Larry's video message
Ven`` that one was broadcasted in the room with everyone, no need to pick a track 09:45
El_Che TimToady: a speed recovery!
speedy 09:56
10:10 antoniogamzi left 10:12 antoniogamiz joined 10:13 cygx left, Ven`` left 10:23 pilne left, [Sno] left 10:27 pat_js joined
kentnl github.com/perl6/nqp/commit/104a5c...4f18965187 # this says you need JDK 9+ right? Maybe README is out of date 10:43
10:44 antoniogamiz left
kentnl github.com/perl6/nqp/issues/571 # filed a bug 10:55
11:08 jaldhar_ left 11:09 jaldhar_ joined 11:12 marcel_ joined 11:14 jaldhar_ left 11:15 jaldhar_ joined 11:16 [Sno] joined, jaldhar_ left 11:17 jaldhar_ joined 11:20 jaldhar_ left 11:21 jaldhar_ joined 11:26 jaldhar_ left, jaldhar_ joined 11:28 jaldhar_ left, jaldhar_ joined 11:29 pamplemousse joined, pat_js left, jaldhar_ left, jaldhar_ joined 11:36 jaldhar_ left 11:37 jaldhar_ joined, ravenousmoose joined 11:38 dolmen left 11:39 ravenousmoose_ left, zakharyas left 11:40 jaldhar_ left 11:41 jaldhar_ joined 11:42 jaldhar_ left 11:43 jaldhar_ joined 11:44 jaldhar_ left 11:45 jaldhar_ joined 11:46 jaldhar_ left 11:47 jaldhar_ joined
chloekek What's the conceptual difference between Seq and Iterable? 11:50
11:52 nwellnhof joined
timotimo iterable is put into a seq, seq has all the transformation methods 11:52
nwellnhof p6: say .WHAT for *[0], *[0;0]
camelia (WhateverCode)
(Whatever)
nwellnhof This is inconsistent. I'd expected *[0;0] to be WhateverCode, too. 11:54
timotimo agreed 11:55
committable6: releases say (*[0;0]).WHAT 11:57
committable6 timotimo, ¦releases (39 commits): «(Whatever)␤»
timotimo at least it has always been this way, haha 11:58
11:58 jaldhar_ left 11:59 jaldhar_ joined
chloekek timotimo: why are the transformation methods not on Iterable? 11:59
12:00 reportable6 left, jaldhar_ left 12:01 jaldhar_ joined 12:02 jaldhar_ left, reportable6 joined 12:03 jaldhar_ joined
timotimo hm, so that something only has to implement one or two methods to become an iterable i guess? 12:05
12:06 pat_js joined
cpan-p6 New module released to CPAN! Gnome::GObject (0.13.15) by 03MARTIMM 12:07
chloekek timotimo: role methods need not be stubbed
timotimo true, iterable also has some default implementations 12:08
oh, i have been talking about Iterator instead of Iterable
12:10 jaldhar_ left, jaldhar_ joined 12:11 pamplemousse left 12:14 jaldhar_ left 12:15 jaldhar_ joined 12:16 jaldhar_ left 12:17 jaldhar_ joined
timotimo many Iterable will just return the .iterator of some internal thing, i believe 12:23
kentnl is parrot still a going concern, or has it, uh, run down the curtain and joined the choir invisible? 12:28
kentnl notes parrot.org's SSL certificate expired in 2011
12:28 jaldhar_ left
timotimo at least rakudo doesn't support parrot any more. nqp might? 12:28
12:29 jaldhar_ joined
kentnl I'm not actually using this, so I'm not sure, but its just recently cropped up on my radar of things that need a bit of love vendor side :) 12:29
kentnl desperately hopes parrot.org gets updated with something about pining for the fjords 12:30
12:30 jaldhar_ left 12:31 jaldhar_ joined 12:32 pat_js left, jaldhar_ left
kentnl trac.parrot.org/parrot/report/1 # noting to see here other than spam :/ 12:32
not even eggs or bacon or saussage. 12:33
12:33 jaldhar_ joined 12:34 nwellnhof left 12:36 [Sno] left 12:40 jaldhar_ left 12:41 jaldhar_ joined 12:42 jaldhar_ left 12:43 jaldhar_ joined 12:44 satori__ joined
chloekek Some parrots are up to 95 years old. 12:46
12:47 reach_satori_ left 12:52 jaldhar_ left 12:53 jaldhar_ joined 12:54 [Sno] joined 12:55 pat_js joined, lucasb joined 13:05 Ven`` joined 13:06 jaldhar_ left 13:07 jaldhar_ joined 13:10 ambs left 13:22 jaldhar_ left 13:23 jaldhar_ joined 13:30 jaldhar_ left 13:31 jaldhar_ joined 13:34 jaldhar_ left 13:35 jaldhar_ joined 13:38 jaldhar_ left 13:39 jaldhar_ joined 13:40 jaldhar_ left, zakharyas joined 13:41 jaldhar_ joined 13:42 jaldhar_ left 13:43 jaldhar_ joined 13:46 jaldhar_ left 13:47 jaldhar_ joined, pat_js left 13:49 pat_js joined 13:50 satori__ left 13:53 dolmen joined, [Sno] left 13:54 curan left, jaldhar_ left 13:55 jaldhar_ joined 13:56 jaldhar_ left 13:57 jaldhar_ joined 13:58 jaldhar_ left 13:59 jaldhar_ joined 14:00 [Sno] joined, jaldhar_ left 14:01 jaldhar_ joined 14:03 Ven`` left 14:04 jaldhar_ left 14:05 jaldhar_ joined 14:07 [Sno] left 14:08 jaldhar_ left 14:09 jaldhar_ joined 14:10 jaldhar_ left 14:11 jaldhar_ joined 14:12 jaldhar_ left, jaldhar_ joined 14:13 pamplemousse joined 14:14 jaldhar_ left 14:15 jaldhar_ joined 14:18 jaldhar_ left 14:19 jaldhar_ joined 14:20 jaldhar_ left 14:21 jaldhar_ joined 14:22 jaldhar_ left 14:23 jaldhar_ joined 14:24 jaldhar_ left 14:25 jaldhar_ joined 14:26 antoniogamiz joined, jaldhar_ left 14:27 jaldhar_ joined 14:28 jaldhar_ left 14:29 jaldhar_ joined 14:30 jaldhar_ left 14:31 jaldhar_ joined
moritz I know a dead parrot when I see one! 14:31
14:32 jaldhar_ left 14:33 jaldhar_ joined 14:35 aborazmeh joined, aborazmeh left, aborazmeh joined 14:42 jaldhar_ left 14:43 jaldhar_ joined 14:44 jaldhar_ left 14:45 jaldhar_ joined
Guest37021 www.youtube.com/watch?v=vnciwwsvNcc 14:47
antoniogamiz I have a module, called A::B, inside that, I declare a class, called A::B::C 14:50
14:50 harmil joined
antoniogamiz is there a way to avoid A::B::A::B::C as the name of the class? 14:50
harmil I'm working on a spec for Perl 6 Regexes to be used by other programming languages. If you have time to review, I'd be thankful... github.com/ajs/tools/pull/3 14:51
antoniogamiz (without declaring the class as C)
14:51 Itaipu_ joined 14:52 Itaipu left
harmil antoniogamiz: sure what you're asking. In file A/B/A/B.pm6 you can declare "class C {...}" 14:52
timotimo antoniogamiz: does "is export" help?
harmil also that 14:53
jnthn antoniogamiz: try class GLOBAL::A::B::C, alternatively :)
14:53 pat_js left
lucs Can I trust submethod DESTROY to happen at the latest at program termination time (supposing normal termination)? 14:53
antoniogamiz oh is export, I totally forgot lol
thanks to everyone! :D
timotimo lucs, no, no gusranteed execution of DESTROY
lucs Hmm... Okay. 14:54
harmil I want "was" adverbs that cause my attributes to be set if someone sets back the clock... ;-)
14:55 ChoHag joined
cpan-p6 New module released to CPAN! Docker::API (0.1) by 03CTILMES 14:56
14:56 jaldhar_ left, jaldhar_ joined
chloekek lucs: you can use the END phaser instead. 14:57
lucs chloekek: Yeah, that would work, but I'm trying to figure out a way to have a resource cleaned up at exit time without needing to mention it explicitly. 14:58
Hmm... Maybe the constructor could set up the END phaser... 15:00
But END is a compile-time thing, right? 15:01
15:02 jaldhar_ left
chloekek p6: sub f { END { say 'hi' } }; f; f 15:02
camelia hi
15:02 Xliff joined 15:03 jaldhar_ joined
chloekek p6: sub f($x) { END { say $x } }; f(1); f(2) 15:03
camelia 2
lucs chloekek: In other words, that could do what I want. Thanks :)
chloekek p6: my @fs; END { .() for @fs }; @fs.push: { say 1 }; @fs.push: { say 2 } 15:04
camelia 1
2
15:04 jaldhar_ left 15:05 jaldhar_ joined
chloekek p6: Code.() 15:06
camelia Can not invoke a code type object
in block <unit> at <tmp> line 1
15:10 jaldhar_ left 15:11 jaldhar_ joined
lucs Hmm... Not sure how each instance can get its own END. This fails (unsurprisingly): 15:12
p6: class Foo { has $.x; method TWEAK { END {say "Cleaning up $.x"} ; } ; } ; my $f1 = Foo.new: :x(42); my $f2 = Foo.new: :x(66);
camelia Cleaning up 66
15:12 jaldhar_ left 15:13 jaldhar_ joined
timotimo yeah, END is registered at compile time, so it's just called once 15:13
lucs Makes sense, but no cigar for me :(
timotimo also: it'll also be called once if the spot where it's at was never reached by regular execution 15:14
github.com/colomon/Phaser-ATEXIT - maybe?
ugexe that also will keep the object from ever getting GC'd, no? 15:15
timotimo also true
lucs ATEXIT looks like it might be what I need. I'll try it out. 15:18
ugexe you need to store what to cleanup outside of the class, and cleanup without using the class instances. otherwise they cannot be GC'd 15:19
`my @CLEANUP; class IO::Path::Temp { method crate-temp-path($foo) { push @CLEANUP, $foo; ... } }; END { delete $_ for @CLEANUP }` 15:20
timotimo a code block "registered" with ATEXIT can hold on to the "self" lexically
lucs I see. Yeah, ugexe's solution looks more appropriate. 15:21
15:22 ufobat_ left, Itaipu_ left, marcel_ left 15:26 Itaipu joined 15:29 pat_js joined, aborazmeh left 15:32 jaldhar_ left 15:33 jaldhar_ joined, yqt joined 15:34 jaldhar_ left 15:35 jaldhar_ joined
Xliff Are the CArray initializers documented anywhere? 15:35
The NativeCall page is NOT what I am looking for...docs.perl6.org/language/nativecall#Arrays 15:36
Can CArrays be initialized with a size? 15:37
timotimo don't they have an "allocate" method?
Xliff Ah! Yes they do. 15:38
Had to dig for that.
15:41 chloekek left
timotimo Buf also offers that i believe 15:42
15:54 wildtrees joined 15:59 ChoHag left 16:00 jaldhar_ left 16:01 jaldhar_ joined 16:06 jaldhar_ left, jaldhar_ joined 16:08 jaldhar_ left, jaldhar_ joined 16:09 pamplemousse left 16:10 jaldhar_ left 16:11 jaldhar_ joined 16:22 jaldhar_ left 16:23 jaldhar_ joined 16:28 jaldhar_ left, jaldhar_ joined 16:30 jaldhar_ left, jaldhar_ joined 16:34 jaldhar_ left
Xliff Perl6 equivalent of: g_random_double_range (0.001f, 0.1f)? 16:34
16:35 jaldhar_ joined
timotimo m: (0.001e0 ..^ 0.1e0).rand 16:36
camelia ( no output )
timotimo m: say (0.001e0 ..^ 0.1e0).rand xx 100
camelia (0.0020728849928354966 0.0033773072185459747 0.09621625919500143 0.0963009057744841 0.0436252729389831 0.08473158775099703 0.030079072043016106 0.052902203524269505 0.07958094518734521 0.0736889482531748 0.07583629143226973 0.06082624109461763 0.01381… 16:37
Xliff \o/
:S I forgot Num literals.
m: (-2e0 ^.. -0.1e0).rand.say 16:39
camelia -1.0323200837939441
16:40 jaldhar_ left 16:41 jaldhar_ joined 16:44 empee0 joined 16:48 jaldhar_ left 16:49 jaldhar_ joined 16:50 jaldhar_ left 16:51 jaldhar_ joined 16:52 chloekek joined, jaldhar_ left 16:53 jaldhar_ joined 16:55 antoniogamiz left 16:56 jaldhar_ left 16:57 jaldhar_ joined 16:58 jaldhar_ left 16:59 jaldhar_ joined 17:00 jaldhar_ left 17:01 jaldhar_ joined 17:03 pat_js left 17:11 dolmen left 17:12 jaldhar_ left 17:13 jaldhar_ joined 17:14 jaldhar_ left 17:15 jaldhar_ joined 17:16 jaldhar_ left 17:17 jaldhar_ joined 17:18 jaldhar_ left 17:19 jaldhar_ joined 17:21 AlexDaniel joined 17:24 AlexDani` joined, jaldhar_ left 17:25 jaldhar_ joined 17:26 AlexDaniel left, AlexDani` is now known as AlexDaniel, AlexDaniel left, AlexDaniel joined, jaldhar_ left 17:27 jaldhar_ joined 17:32 jaldhar_ left 17:33 jaldhar_ joined 17:34 jaldhar_ left 17:35 jaldhar_ joined 17:36 jaldhar_ left, jaldhar_ joined
chloekek p6: my $proc := run 'nonexistent-program', :out; .say for $proc.out.lines; 17:40
camelia ( no output )
chloekek p6: my $proc := run 'nonexistent-program', :out; .say for $proc.out.lines; $proc.sink;
camelia The spawned command 'nonexistent-program' exited unsuccessfully (exit code: 1)
in block <unit> at <tmp> line 1
17:41 marcel_ joined
chloekek Is it possible to sink the Proc automatically when the out seq is exhausted? 17:41
Kaypie ugexe, from the discord: "Hi, I have a novice question. Trying to execute zef install Date::Names in Windows but get: Extracting with plugin Zef::Service::Shell::tar+{<anon|1>} aborted. No such method 'IO' for invocant of type 'Any' Any ideas how to fix it?"
17:41 Kaypie is now known as Kaiepi 17:44 jaldhar_ left, jaldhar_ joined 17:46 empee0 left, jaldhar_ left 17:47 jaldhar_ joined 17:48 jaldhar_ left, nepugia joined 17:49 jaldhar_ joined
Geth whateverable: de3270c98c | (Aleks-Daniel Jakimenko-Aleksejev)++ | xbin/Tellable.p6
Add some normalization in Tellable
17:50
17:50 jaldhar_ left, jaldhar_ joined 17:52 jaldhar_ left, jaldhar_ joined 17:59 |oLa| left, harmil left 18:00 reportable6 left 18:03 reportable6 joined, ChanServ sets mode: +v reportable6 18:04 jaldhar_ left 18:05 jaldhar_ joined 18:06 jaldhar_ left 18:07 jaldhar_ joined 18:08 jaldhar_ left 18:09 jaldhar_ joined 18:10 marcel_ left, jaldhar_ left 18:11 jaldhar_ joined
daxim masak, paste.scsys.co.uk/585616?tx=on tl;dr it doesn't help to use the other operator, I remembered correctly 18:11
18:16 jaldhar_ left 18:17 jaldhar_ joined 18:19 cygx joined
cygx daxim: that's because token doesn't backtrack 18:20
you need regex for that
masak daxim: understood. it all sounds buggy to me. 18:24
cygx masak: why? works as expected if you set :ratchet 18:25
(assuming I'm not missing relevant parts of the conversation)
18:32 zakharyas left 18:34 jaldhar_ left 18:35 jaldhar_ joined 18:36 Woodi left, jaldhar_ left, cpan-p6 left 18:37 jaldhar_ joined, cpan-p6 joined, cpan-p6 left, cpan-p6 joined 18:51 AlexDaniel left 18:52 jaldhar_ left, jaldhar_ joined 18:54 jaldhar_ left, jaldhar_ joined 19:00 lizmat joined 19:01 molaf joined, jaldhar_ left 19:02 jaldhar_ joined 19:03 Doc_Holliwood joined
ugexe Kaypie: looks like they don't have a tar executable 19:12
normally the message would tell a user that, but it looks like this line github.com/ugexe/zef/blob/c44e1a60...ct.pm6#L44 needs to be `unless $extracted-to && $extracted-to.IO.e` 19:13
i'm only guessing though
or the tar client they do have doesn't act properly on windows 19:14
(according to this comment in the code: # gnu tar on windows doesn't always work as I expect, so try another plugin if extraction fails) 19:15
installing strawberry perl is probably the easiest fix if that is the case
19:16 therealjj joined
therealjj m: [+] <4 8>.comb 19:16
camelia Potential difficulties:
Useless use of [+] in sink context
at <tmp>:1
------> 3<BOL>7⏏5[+] <4 8>.comb
therealjj m: [+] <4 8>.comb.say
camelia Potential difficulties:
Useless use of [+] in sink context
at <tmp>:1
------> 3<BOL>7⏏5[+] <4 8>.comb.say
(4 8)
therealjj m: say [+] <4 8>.comb
camelia 12
therealjj m: say [+] <4 8>.words
camelia 12
cygx m: say [+] <4 8> 19:18
camelia 12
therealjj m: say [...] <4 8>.words 19:19
camelia (4 5 6 7 8)
Doc_Holliwood Why on earth won't IO::Socket::Async let me specify a timeout?
And why does this: await IO::Socket::Async.connect( "fail.com", 22 )
19:20 Doc_Holliwood left, Doc_Holliwood joined
therealjj m: say infix:<...>(<4 8>.words) 19:20
camelia (4 8)
Doc_Holliwood I crashed
ugexe .NET doesn't let you timeout async socket operations
so its not like some universal truth 19:21
therealjj Doc_Holliwood: this is mainly for evaluating expressions. You might want to ask that in #perl6-dev or #perl6
ugexe this is #perl6
Doc_Holliwood this is #perl6
therealjj Oh. I didn't ask for that. Sorry then about all my evaluation 19:23
Doc_Holliwood Ok, but I don't care about the timeout as much as the bug(?). If I read the docs right, IO::Socket::Async.connect( "fail.com", 22 ) returns a promise and on connect the promise should either be kept or broken, not an exception thrown
19:24 therealjj left
ugexe m: say await IO::Socket::Async.connect( "fail.com", 22 ); 19:26
what exception?
Doc_Holliwood wait for the timeout 19:27
mmh. 19:28
perl6: await IO::Socket::Async.connect( "fail.com", 22 )
ugexe that is what happens when you await
m: my $promise = start { die 666 }; await $promise 19:29
poor bot is still waiting
Doc_Holliwood I think we killed her
ugexe if you don't await then it won't throw an exception 19:30
otherwise the broken promise result itself contains the exception
Doc_Holliwood See pastebin.com/GMYrLKCw 19:32
This is 6.d
19:32 camelia joined
ugexe you are still using the result of the promises 19:32
which is an exception
that you dont handle 19:33
19:33 molaf left
camelia (timeout)An operation first awaited:
in block <unit> at <tmp> line 1

Died with the exception:
connection timed out
in block <unit> at <tmp> line 1
19:34

(timeout)
An operation first awaited:
in block <unit> at <tmp> line 1

Died with the exception:
666
in block at <tmp> line 1
19:34 ChanServ sets mode: +v camelia
ugexe m: my @promises = (1..10).map({ start { die 666 } }); my @answers = await @promises 19:34
camelia An operation first awaited:
in block <unit> at <tmp> line 1

Died with the exception:
666
in block at <tmp> line 1
ugexe your expectation seems to be that that example should not throw an exception
Doc_Holliwood yes 19:35
ugexe well, thats your problem
Doc_Holliwood i should get a list of 3 kept and one broken promise
ugexe you do
and then you call `await` on them
which gets the results
m: my @promises = (1..10).map({ start { die 666 } }); say @promises.head; my @answers = await @promises 19:36
camelia Promise.new(scheduler => ThreadPoolScheduler.new(initial_threads => 0, max_threads => 64, uncaught_handler => Callable), status => PromiseStatus::Planned)
An operation first awaited:
in block <unit> at <tmp> line 1

Died with the exception:…
Doc_Holliwood how can a promise be kept or broken before you do the work, that makes no sense.
ugexe ...why do you think it hasn't done any work? 19:37
Doc_Holliwood as i understand the promise is neither kept nor broken until it has been awaited
ugexe that is incorrect 19:38
19:38 camelCas- left
ugexe m: my $promise = start { say 1 }; sleep 10; say $promise; # why should this promise not be finished/Kept? 19:38
camelia 1
Promise.new(scheduler => ThreadPoolScheduler.new(initial_threads => 0, max_threads => 64, uncaught_handler => Callable), status => PromiseStatus::Kept)
19:39
ugexe the work was done long before the sleep finished
Doc_Holliwood because it immedeatly returns.
tadzik . o O ( returns to what? :) )
ugexe huh?
Doc_Holliwood m: IO::As 19:41
camelia Could not find symbol '&As'
in block <unit> at <tmp> line 1
ugexe docs.perl6.org/type/Promise#method_start
Doc_Holliwood m: IO::Socket::Async.connect( 'fail.com', 22 ).status.say
camelia Planned 19:42
19:42 pamplemousse joined
cygx in case of exceptions, await dies a rethrow (eg ThreadPoolScheduler.pm6:57 ) 19:43
personally, I also would not have expected that
Doc_Holliwood see? it does the connect in some other thread or whatever. And once the connection has been established or not it does change the status to broken or kept
ugexe i dont see the problem. that is exactly what my mental model suggests should happen
19:44 MasterDuke joined
cygx Doc_Holliwood: you need to await the individual promises and catch the errors they throw 19:44
Doc_Holliwood the problem is that I don't understand why it throws an exception then? that defeats the whole purpose of not caring of the thread is doing. all i care is wether it returns successfully or not
*of what
19:45 dolmen joined 19:46 dolmen left
ugexe not caring what the thread is doing is not something any documents suggest afaik 19:48
but maybe im still missing something since things work the way i expect 19:49
19:52 mowcat joined
masak daxim: what cygx said. token turns off backtracking. I had missed that. 19:53
cygx ugexe: yeah, looks like it works as documented: docs.perl6.org/type/Promise#await
"Any broken promises will rethrow their exceptions"
timotimo "await Promise.allof($the-one-promise)" will wait but not rethrow on failure 19:54
19:55 melezhik joined
ugexe perhaps its because the timeout exception from IO::Socket::Async itself isn't caught in CATCH or QUIT 19:55
melezhik I am using run command to run external command and parse output - docs.perl6.org/routine/run
sometimes I experience weird behavior ... look like run hangs because can't wait till external command closes stdout 19:56
ugexe react { whenever IO::Socket::Async.connect( "fail.com", 22 ) { say "Connected" }; CATCH { default { say "CATCH" } }; QUIT { default { say "QUIT" } } }
i was expecting one of those handlers to fire but nope
melezhik it's just a question of some extra prints inside those external commands
ugexe try using Proc::Async instead 19:57
melezhik like if consistently commented some prints and then commented them out increasing stdout size till I hit "stuck" behavior
timotimo yeah, that's just buffers filling up 19:58
ugexe otherwise it sounds like a buffering issue (its waiting on more "output" from the process so it can continue decoding it)
timotimo the program you're running is waiting for you to consume output and cannot continue outputting
ugexe or what timotimo said
melezhik yeah, this what I wanted to mentioned - the buffering
timotimo your program is waiting for the program to finish writing its output and closing
melezhik any way to explicitly instruct run to flush buffer cache in run command?
does Proc::Async deal with that? 19:59
timotimo it does. you'll just™ get the data as the process writes it 20:00
melezhik ?
timotimo and if you need to buffer it, you'll just concatenate everything you read onto a buffer or string
melezhik I know in Perl5 I just set a special var telling Perl not to keep buffer 20:01
and flush it immediately
timotimo that's for discarding what the subprocess outputs?
melezhik yes
ugexe there is always a buffer if you are decoding
or letting run decode rather
timotimo in that case you may want to just :!out in the run
melezhik not sure if I understand , this is what I do in Perl6 20:02
$handler = run 'bash', $cmd, :out, :err;
ugexe if you ignore the output then use :!out and :!err to disable those handles completely 20:03
El_Che mmm
$room1 video seems to have disappeared
melezhik then `for $cmd.err.lines -> $line {} `
El_Che I wanted to finish watching jnthn's talk
melezhik then `for $handler.err.lines -> $line {} `
ugexe ah yeah there is some weird bugs there. i used to have to do crazy things like switch reading err before out, or closing one before the other
melezhik then `for $handler.err.lines -> $line { # do something with output here } ` 20:04
then `for $handler.out.lines -> $line { # do something with output here } `
ugexe it went away when i changed to Proc::Async though
melezhik so both for stdout/stderr
but as I said it's stdout is not being closed 20:05
could it be rewritten on Proc::Async?
I'd like to change my code minimally
20:06 jaldhar_ left
melezhik then thing is that $handler is returned from function and used latter 20:06
20:13 [Sno] joined 20:20 khisanth_ left 20:23 pilne joined 20:26 chloekek left 20:33 khisanth_ joined 20:40 AlexDani` joined 20:41 AlexDani` is now known as AlexDaniel, AlexDaniel left, AlexDaniel joined
AlexDaniel Something I noticed today, it looks like some important people may be missing from that list: github.com/perl6/problem-solving#reviewers 20:42
if you're very involved in the perl 6 project, you should probably be on that list, please file a PR adding yourself 20:43
20:49 pamplemousse left
melezhik ugexe and timotimo I just gave a Proc::Async a try. It's fantastic, because with minimal code rewriting it solves buffer issues and gives me stdout immediately. Much better! 20:58
github.com/melezhik/Sparrow6/commi...c22617eee1 20:59
thanks!
20:59 AlexDaniel left
Doc_Holliwood timotimo: ah yes, thanks. 21:02
this seems to work fine now: pastebin.com/d7h43R4D 21:03
I just wonder what happens if I throw several hundred hosts at it. In a video I just watched, jnthn says in 6.d the scheduler can handle it on its own
timotimo Doc_Holliwood: i would recommend "given $promise.result {", instead of "with $promise", then the $_ will already be the .result, making the code inside there a bunch shorter 21:04
Doc_Holliwood fair point. tx 21:07
timotimo yw 21:09
also important to remember that "with" is a conditional
Doc_Holliwood uuuh false friend there 21:10
thanks for pointing that out
21:13 camelCaser joined
Doc_Holliwood I guess, I will receive a few downvotes for this one. some on PM hate it when they have to see what they can't have 21:13
timotimo you have to pronounce "with" as "wif" :D 21:14
surely they can have the same thing by using poe or anyevent?
21:15 go|dfish left
Doc_Holliwood I never did anything async in Perl. there are problems, esp. with windows and fork 21:16
so i never bothered
21:17 go|dfish joined 21:19 MasterDuke left 21:21 melezhik left 21:26 cygx left 21:28 dolmen joined 21:29 AlexDaniel joined 21:31 pamplemousse joined 21:39 Ven`` joined, molaf joined
Voldenet there's tiny problem with that code above (the pastebin one), it never closes the socket, which is very rude 21:44
21:45 AlexDaniel left
Geth doc/traps: 092c748aa2 | threadless-screw++ | doc/Language/traps.pod6
New regex interpolation trap section
22:03
22:06 dolmen left 22:08 dolmen joined 22:09 wildtrees left 22:10 Ven`` left 22:12 Cabanossi left 22:14 dolmen left 22:16 AlexDaniel joined 22:18 Doc_Holliwood left 22:20 molaf left 22:21 Cabanossi joined 22:26 Doc_Holliwood joined
Doc_Holliwood Stupid Webclient crashes all the time. 22:26
Anyway, in < say "promise got Kept" if $promise.status ~~ Kept; >, what is "Kept"? A type?
m: Kept.say 22:27
camelia Kept
Doc_Holliwood m: Kept.perl.say 22:28
camelia PromiseStatus::Kept
Doc_Holliwood How does this shortcutting work?
22:37 satori__ joined 22:46 yqt left 22:53 dolmen joined 22:56 rindolf left 23:05 nightfrog joined
El_Che I wonder why the video from the first room at perlcon was removed 23:06
again a CoC conflict?
who know
s
23:09 Doc_Holliwood left 23:29 [particle]1 joined
cpan-p6 New module released to CPAN! Console::Blackjack (1.0.0) by 03GDONALD 23:30
23:31 [particle] left 23:33 mowotter joined 23:34 khisanth_ left 23:35 mowcat left 23:37 cpup left 23:39 [particle]1 left 23:41 [particle] joined 23:45 [particle]1 joined 23:46 [particle] left 23:48 khisanth_ joined, pamplemousse left, [particle] joined 23:50 [particle]1 left, dolmen left 23:51 dolmen joined 23:52 lucasb left 23:53 [particle]1 joined 23:55 [particle] left
pilne woah 23:57
i love 21