»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend!
Set by moritz on 22 December 2015.
00:04 aborazmeh left 00:12 sammers joined, [1]Jarryd98 joined 00:14 Jarryd98 left, [1]Jarryd98 is now known as Jarryd98 00:17 [2300mAh] left 00:23 pecastro left 00:31 kybr left 00:33 kybr joined 00:39 aborazmeh joined, aborazmeh left, aborazmeh joined 00:40 MilkmanDan left 00:41 MilkmanDan joined 00:50 BenGoldberg joined 00:52 MilkmanDan left 00:54 MilkmanDan joined
Geth doc: 2a7bd17733 | (Zoffix Znet)++ | 3 files
[io grant] Document IO::Spec::*.rel2abs
00:57
01:01 MilkmanDan left 01:02 MilkmanDan joined
Geth doc: f45241f1b0 | (Zoffix Znet)++ | 2 files
[io grant] Document IO::Spec::*.rootdir
01:02
BenGoldberg . o O (The rootdir is the one with the carrots and yams and tubers and allium ... ? ) 01:14
01:16 Praise left, [1]Jarryd98 joined
SmokeMachine jnthn: Hi! I thinking of sending a new PR to your Test::Mock to make it work with roles... 01:19
01:19 Jarryd98 left, [1]Jarryd98 is now known as Jarryd98
SmokeMachine Im thinking of make it with something like this: gist.github.com/FCO/8b6311678a74e5...e8698622b1 01:19
jnthn: what do you think?
jnthn: not using the pinnacle, but using the idea of it... this is the punnable: github.com/FCO/Punnable 01:20
01:23 dj_goku joined 01:27 pecastro joined 01:29 dj_goku left
zostay how do i track down and diagnose the source of this error? Probable version skew in pre-compiled '~/.zef/store/http-useragent.git/0a0cb5bb42ec4a97057bbf53698bdc42a020399a/lib/HTTP/MediaType.pm6 (HTTP::MediaType)' (cause: no object at index 4850) 01:36
i tried nuking my rakudo install and installing fresh and i am getting it after installing everything again
01:38 ovechkin joined
zostay it starts showing up as soon immediately after i install a branch of URI i've been working on and from that point forward, any attempt to work with HTTP::MediaType causes death and peril, so that i can't even run zef install --force on HTTP::UserAgent to attempt to reinstall to see if that would help 01:39
01:42 Cabanossi left
MasterDuke zostay: all i know is it's a MoarVM error. nine, timotimo, or jnthn might be good bets for help 01:43
01:44 Cabanossi joined
zostay yeah, that's about as far as i got too... the error message is not a very helpful one 01:44
maybe i'll hop over to #moarvm and ask there 01:46
01:46 ilbot3 left
AlexDaniel woah 01:46
RT %131392
RT #131392
synopsebot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=131392
AlexDaniel mind-blowing 01:47
01:48 ilbot3 joined, ChanServ sets mode: +v ilbot3 01:49 ksn00b joined
ksn00b Hello, how is it possible to add perl5 lib path to perl6? 01:50
01:54 [1]Jarryd98 joined 01:55 Jarryd98 left, [1]Jarryd98 is now known as Jarryd98 02:01 ovechkin left, ovechkin joined 02:02 ksn00b left, ovechkin left 02:39 Zoffix joined 02:40 Zoffix left 02:42 Cabanossi left 02:44 Cabanossi joined 02:53 noganex joined 02:56 noganex_ left 03:10 Cabanossi left 03:11 dj_goku joined, dj_goku left, dj_goku joined 03:13 Cabanossi joined 03:16 dj_goku left 03:25 khw left 03:33 nebuchadnezzar left 03:34 pilne left 03:37 Lis joined 03:40 Lis left
Geth specs: 4b83524181 | (Zoffix Znet)++ (committed using GitHub Web editor) | v6d.pod
Propose tossing %(), @(), and $() magic shortcuts

Per rt.perl.org/Ticket/Display.html?id=131392
04:18
04:29 fatguy joined 04:36 committable6 left 04:37 committable6 joined, ChanServ sets mode: +v committable6 04:41 araujo left 04:48 Lis joined 04:53 Lis left, aborazmeh left 04:55 astj left, astj_ joined, curan joined 04:57 bwisti joined 04:58 Cabanossi left, Cabanossi joined 04:59 dj_goku joined, dj_goku left, dj_goku joined 05:02 Herby_ joined, vytautas joined
Herby_ o/ 05:02
Evening, everyone
working my way through Think Perl 6 and am stumped on why I'm getting an incorrect answer to an exercise 05:04
05:05 dj_goku left
Herby_ I need to write a subroutine that gets the percentage of words that do not contain the letter 'e' 05:05
pastebin.com/dcVJdN0N 05:07
if someone could take a peek
there is a 5% difference in the final answer between those two ways of writing the subroutine 05:08
araraloren m: say "FOO" if "eaaf".index("e"); 05:09
camelia ( no output )
araraloren This return **0**!! 05:10
IS FALSE!
Herby_ m: say "foo" if index "eaaf", "e";
camelia ( no output )
araraloren So, this code is not correct 05:11
m: say 0.so
camelia False
araraloren m: say "FOO" if "eaaf".index("e").defined;
camelia FOO
araraloren Please refer this: docs.perl6.org/routine/index 05:12
Herby_ ahhhh
araraloren `index` will return undefined value when `$needle` not found
Herby_ m: say "foo" if "aaef".index("e");
camelia foo
Herby_ I see. That's a simple explanation. Thanks!
say "foo" if "eeaf" ~~ /e/; 05:15
evalable6 foo
Herby_ nice, evalable6 saw that I missed the leading m:
araraloren Yeah, use regex is a good solution.
`m` is optional 05:16
Herby_ on a 113k word list, would index be substantially faster than regex?
i should learn how to benchmark in p6
araraloren Yeah, index will faster than regex, maybe, it's difficult to say. 05:17
Herby_, for simple benchmark, you can refer this: docs.perl6.org/language/performance 05:18
Herby_ thanks araraloren. running it a few times and just eyeballing the average time, index was ~3x faster 05:21
on a 113k word list
zengargoyle Herby_: there is a Benchmark module. github.com/perlpilot/benchmark
Herby_ zengargoyle: thanks, I'll check that out 05:22
araraloren Yeah, I think Regex can also optimized
Also `Regex` do more thing than `index` 05:23
zengargoyle index will always be faster. no need to create the match object even if the regex is crazy smart enough to realize /e/ could be a simple index. 05:25
araraloren yeah 05:26
05:26 Cabanossi left
zengargoyle at least in p5 it *totally* makes a big difference with large data even without all the objecty stuff. :) 05:27
05:27 Zoffix joined
Zoffix m: say "foo" if "aaef".contains: 'e'; 05:27
camelia foo
05:28 Cabanossi joined
zengargoyle where *large* is just small but it makes the difference between a fast CLI tool and one that makes you grumble while waiting. 05:28
Zoffix m: say 'foo' with "eaaf".index: "e";
camelia foo
Herby_ Zoffix o/
m: say 'foo' if "eeaf".index: "e"; 05:29
camelia ( no output )
Zoffix ksn00b: if you mean for Inline::Perl5, then `use lib:from<Perl5> <some/dir>;`
\o
araraloren yeah, `with` is short for `if .defined` 05:30
Herby_ ahh ok
Zoffix m: <just a bunch of words with letters and other interesting stuff>.categorize(*.contains: 'e').say
camelia {False => [just a bunch of words with and stuff], True => [letters other interesting]}
zengargoyle would a 'so' work? 05:31
Zoffix `with` also aliases the value to $_
Herby_ Zoffix: that's pretty damn neat
haven't seen categorize yet
Zoffix m: printf "%.2f%% of words have letter 'e'", 100*.{True}.elems/.values».elems.sum with <just a bunch of words with letters and other interesting stuff>.categorize: *.contains: 'e' 05:33
camelia 27.27% of words have letter 'e'
05:34 vytautas left
Herby_ yeah that's awesome 05:34
05:35 vytautas joined
Herby_ would it be simple to modify to check if it contains 'a'|'e'|'u' ? 05:35
Zoffix m: printf "%.2f%%", 100*.classify(*.contains: 'e'){True}/.elems with <just a bunch of words with letters and other interesting stuff> 05:36
camelia 27.27%
05:36 ufobat joined
Zoffix Herby_: literally pass that to .contains 05:36
05:37 eliv joined
Zoffix m: printf "%.2f%% of words have aeu", 100*.classify(*.contains: 'a'|'e'|'u'){True}/.elems with <just a bunch of words with letters and other interesting stuff> 05:37
camelia 72.73% of words have aeu
Zoffix m: printf "%.2f%% of words have aeu", 100*.classify(*.contains: any <a e u>){True}/.elems with <just a bunch of words with letters and other interesting stuff>
Herby_ :)
camelia 72.73% of words have aeu
Zoffix &
05:37 Zoffix left 05:38 wamba joined 05:39 Zoffix joined
Zoffix P.S: make it *.contains(any <a u o>).so; otherwise .classify gets a junction and stuff's repeated 05:40
m: printf "%.2f%% of words have aeu", 100*.classify({so .contains: any <a e u>}){True}/.elems with <just a bunch of words with letters and other interesting stuff>
camelia 72.73% of words have aeu
05:40 Zoffix left
araraloren m: <just a bunch eeee>.categorize(*.contains: 'e').say 05:41
camelia {False => [just a bunch], True => [eeee]}
05:42 [1]Jarryd98 joined 05:44 Jarryd98 left, [1]Jarryd98 is now known as Jarryd98
araraloren Awesome! 05:47
Herby_ m: "aaaaabbbcc".comb.Bag<a..c>.say; 05:48
camelia 0
Herby_ m: "aaaaabbbcc".comb.Bag<a b c>.say;
camelia (5 3 2)
05:48 [1]Jarryd98 joined
Herby_ zoffix: reading your perl 6 advent post about sets and bags 05:49
is there an easy way to get a Bag for the entire alphabet, without having to write out .Bag<a b c d e f g...> 05:50
05:50 Jarryd98 left, [1]Jarryd98 is now known as Jarryd98
Herby_ hmm. maybe thats not needed for this exercise 05:51
nadim m: ('a', 'b', ..'z').say
camelia 5===SORRY!5=== Error while compiling <tmp>
Preceding context expects a term, but found infix .. instead
at <tmp>:1
------> 3('a', 'b', ..7⏏5'z').say
araraloren m: "aaaaabbbcc".comb.Bag{"a" .. "c"}.say 05:52
camelia (5 3 2)
Herby_ there we go
05:52 BenGoldberg left
nadim m: ('a' ..'z').say 05:52
camelia "a".."z"
05:56 Cabanossi left 05:58 bwisti left, Cabanossi joined 05:59 mr-foobar left 06:04 lowbro joined, lowbro left, lowbro joined 06:13 xtreak joined, [1]Jarryd98 joined 06:16 Jarryd98 left, [1]Jarryd98 is now known as Jarryd98, Herby_ left 06:23 domidumont joined 06:25 domidumont left 06:27 domidumont joined 06:37 skids left 06:40 [1]Jarryd98 joined 06:42 Jarryd98 left, [1]Jarryd98 is now known as Jarryd98 06:48 dj_goku joined, dj_goku left, dj_goku joined 06:49 nebuchadnezzar joined 06:52 dj_goku left 06:55 AlexDaniel left 06:57 vytautas left, vytautas joined 07:08 domidumont left 07:09 domidumont joined 07:10 Jarryd98 left, Jarryd98 joined 07:17 darutoko joined 07:20 eliv_ joined, eliv_ left 07:29 vytautas left 07:35 mr-foobar joined, Jarryd98 left 07:36 Jarryd98 joined 07:38 vytautas joined 07:52 Jarryd98 left 07:53 Jarryd98 joined 07:59 rindolf joined 08:01 xtreak left, wamba left 08:02 sftf joined 08:03 g4 joined, sftf left 08:07 xtreak joined 08:26 revere left 08:27 vytautas left, vytautas joined 08:29 revere joined
lizmat m: printf "%.2f%% of words have letter 'e'", 100*$_<e>/.total with <just a bunch of words with letters and other interesting stuff>.map( { .contains("e") ?? "e" !! "" } ).Bag # why classify if you can Bag it? :-) 08:33
camelia 27.27% of words have letter 'e'
lizmat m: 'printf "%.2f%% of words have letter 'e'", 100*$_{True}/.total with <just a bunch of words with letters and other interesting stuff>.map( *.contains("e") ).Bag # even shorter 08:34
camelia 5===SORRY!5=== Error while compiling <tmp>
Two terms in a row
at <tmp>:1
------> 3'printf "%.2f%% of words have letter '7⏏5e'", 100*$_{True}/.total with <just a bu
expecting any of:
infix
infix stopper
lizmat m: printf "%.2f%% of words have letter 'e'", 100*$_{True}/.total with <just a bunch of words with letters and other interesting stuff>.map( *.contains("e") ).Bag # even shorter
camelia 27.27% of words have letter 'e'
lizmat m: printf "%.2f%% of words have letter 'e'", 100*.{True}/.total with <just a bunch of words with letters and other interesting stuff>.map( *.contains("e") ).Bag # don't need no stinking $_ :-) 08:35
camelia 27.27% of words have letter 'e'
08:36 dj_goku joined, dj_goku left, dj_goku joined
lizmat for finding out percentage of True/False of a list of things, a Bag is probably more efficient 08:36
well, at least a lot more memory friendly :-) 08:37
08:38 pecastro left, pecastro joined 08:41 dj_goku left
araraloren great, awesome! 08:41
zengargoyle somehow i think golf is counter the the idea of the Think Pperl 6 book :P 08:51
but Perl6 is just to awesome to deny. 08:52
08:53 kurahaupo left 08:54 kurahaupo joined 08:55 parv joined
lizmat well, the use of a Bag I wouldn't necessarily call a golf 08:56
but a different approach (keeping count rather than keeping original objects around)
08:56 Cabanossi left
lizmat for the other shortenings: guilty has charged :-) 08:56
*as
zengargoyle i haven't finished the book yet but don't think it was introduced yet for this particular problem. maybe it gets revisited. 08:57
it being Bag 08:58
08:58 Cabanossi joined
zengargoyle has nasty memories of teachers marking things wrong because that wasn't the stuff you were supposed to know at the time. 08:58
lizmat tries to recall...
could be that sets/bags/mixes didn't make it to the book 08:59
El_Che morning
lizmat vaguely remembers having a discussion about that with lolo78
El_Che hopefully less hot in your part of the world :)
lizmat checks outside
zengargoyle they are there, i'm just at them now, but the word stuff was many chapters ago. 09:00
so not introduced when solving the original question about index(). 09:01
lizmat El_Che: 28.9 in the shade atm
El_Che For the record. I am not trolling about ugexe's or nine's work on the blog post. Just exited about the CPAN integration and wondering if this could result in an even better experience than Perl 5.
lizmat El_Che: that's how I've interpreted the blog post :-)
El_Che just in case. We can all be a little protective of our babies :) 09:02
zengargoyle i'm groaning about having to go back and make MANIFEST files for my modules which i guess is a byproduct of CPAN 09:04
El_Che the info is already there in the JSON file, I guess
zengargoyle on that modules.perl6.org/todo thingy all of mine note missing MANIFEST so i guess it's not smart enough to figure out from the info 09:06
and there are always resources and things that i don't think go in meta anywhere. 09:07
lizmat doesn't mi6 have a MANIFEST generation feature ?
zengargoyle maybe now. not then. i used mi6 for at least one of those modules. but it's been a long while.
and i saw somewhere a 6zilla or something but haven't investigated yet. 09:09
09:12 sammers left, vytautas left 09:13 vytautas joined 09:14 wamba joined
zengargoyle i should probably go and find some module from someone in the know that does everything just right including CPAN and do facelift. 09:15
09:16 xtreak left
zengargoyle and change all my travis files to use zef. :P 09:17
and maybe sign up or whatever to get things tested on a windows ci system
which i know absolutely noting about. :/
lizmat zengargoyle: please let us know how that goes 09:18
and use the new zef / mi6? CPAN Testers functionality to hand in test reports
zengargoyle lol, i asked a few days ago if anybody had a recent blog post or HOWTO about current best practices. 09:19
09:25 TEttinger left 09:27 sammers joined, Cabanossi left 09:28 Cabanossi joined, margeas joined
zengargoyle i think it would be neat to `git clone git:gitnub.com/perl6/ecosystem-module-template.git my-module` and read a TODO and change some META and always have a bells and whistles Acme::HelloWorld module 09:28
lizmat isn't that what "mi6 new Foo::Bar" does ? 09:30
or could do ?
09:37 dogbert17_ left 09:40 zakharyas joined
zengargoyle yeah, maybe. i haven't actually tried recently, just ponderning. :) and wondering if mi6 has any official standing or is just the current favorite. 09:40
lizmat zengargoyle: I don't think anything has an "offical" standing, as rakudo itself is only *an* implementation of Perl 6 09:42
zengargoyle just thinking that some sort of CUR could do a fake install and then generate actual MANIFEST like installing to a DESTDIR with make in order to make a tarball does.
lizmat you *can* write your own CUR
PR's welcome :-) 09:43
zengargoyle yeah, just thinking about how much i always hated MANIFEST and MANIFEST.SKIP and all the times some p5 module building system yelled at me or did something wrong. 09:44
09:45 yqt joined
zengargoyle and the stuff installed is defacto the MANIFEST. :P 09:45
except for all the tests and readme and oh, nevermind... bad idea... 09:46
09:46 wamba left
zengargoyle part of me actualy wants the CUR to keep everything that's in to repo. i always end up downloading the src to look at tests or examples anyway. 09:48
09:51 bacek_ joined
araraloren m: my @p = []; loop (my $i = 0;$i < 8;$i+=2) { @p.push(start { say ""; say "$i, {$i + 2}"; }) }; await Promise.allof(@p); 09:51
camelia
6, 8

6, 8

6, 8

8, 10
DrForr o/ 09:52
araraloren m: my @p = []; for 0, 2 ... 8 -> $i { @p.push(start { say ""; say "$i, {$i + 2}"; }) }; await Promise.allof(@p);
camelia

0, 2
2, 4

4, 6

6, 8

8, 10
araraloren Why this output is different betwteen loop and for ?
09:53 bacek__ left 09:54 bacek_ left 09:56 Cabanossi left 09:58 Cabanossi joined
zengargoyle m: my @p = []; loop (my $i = 0;$i < 8;$i+=2) { say $i; } 10:00
camelia 0
2
4
6
zengargoyle m: my @p = []; for 0, 2 ... 8 -> $i { say $i; }
camelia 0
2
4
6
8
zengargoyle m: my @p = []; for 0, 2 ... ^8 -> $i { say $i; }
camelia 0
1
2
3
4
5
6
7
zengargoyle well, you're loops don't give the same numbers... :P 10:01
m: my @p = []; for 0, 2 ...^ 8 -> $i { say $i; }
camelia 0
2
4
6
zengargoyle m: my @p = []; loop (my $i = 0;$i <= 8;$i+=2) { say $i; } 10:02
camelia 0
2
4
6
8
10:03 mr-foobar left 10:04 jnthn left
nine .tell Zoffix That's weird. When I fatalize INDIRECT_NAME_LOOKUP the code dies every time on the first attempt. This however works reliably: sub app (|args) { return (require ::("GTK::Simple::App")).new; }; 10:09
yoleaux nine: I'll pass your message to Zoffix.
zengargoyle hrmmm... zef install App::Mi6 does nothing. 10:10
/install/fetch/
10:11 jnthn joined
nine zengargoyle: does it do nothing or does it just not print anything? 10:12
zengargoyle: if it really does nothing, then maybe it already has got it in its cache?
zengargoyle it says: '===> Searching for: App::Mi6' then exits with no errors or further information and doesn't give me a directory with app-mi6 or something. 10:13
does fetch not do what i thought fetch should do? 10:14
seems so, look drops me into ~/.zef/store/*long_hash*/ 10:15
my expectations were in error. :) 10:16
10:18 mr-foobar joined
nine zengargoyle: I think at some point we actually wanted to install tests and everything. It just fell on the wayside in the sprint to release 6.c. This can change however :) 10:19
zengargoyle cool, i'll put it in my mind like making a native executable by squising moar + repository into a single file. :) 10:20
App::Mi6 only ack's MANIFEST.SKIP so i don't think it generates one but looks to just ignore things in the .SKIP when doing the CPAN upload. 10:22
note "If you want to ignore these files, then list them in .gitignore or MANIFEST.SKIP";
more of a clean repo before uploading than auto MANIFEST file generation. 10:23
10:24 wamba joined, dj_goku joined 10:29 dj_goku left
DrForr Highly off-topic mini-rant: JESUS GOD-DANCING CHRIST ON A POGO STICK - CAN *NOONE* IN THE JS COMMUNITY GET THEIR SH*T TOGETHER? This makes the Perl 5 infrastructure look *sane*. 10:31
10:33 xtreak joined 10:34 xtreak left, xtreak joined
zengargoyle grrrrs in sympathy 10:35
DrForr OTOH if I get this to actually work (and figure out the deployment issues I know I'm going to have) I'll have a Bailador/angular mini blog going within a week or so. 10:36
zengargoyle wasn't Bailador just removed from the ecosystem. :P 10:37
El_Che DrForr: don't be a hater. And welcome back :)
moritz zengargoyle: no. Zoffix transferred some Baildor modules to the new Bailador github org 10:38
yoleaux 28 May 2017 22:26Z <MasterDuke> moritz: re rt.perl.org/rt3/Public/Bug/Display...id=123572, what is the expected behavior of the :3[4, 22, 1] radix form? should digits greater than the base be allowed (e.g., the 4 in my example)? should values in the list greater than the base be allowed?
10:38 xtreak left
DrForr I'm not trying to hate, I'm trying to understand and fix. 10:39
And Bailador is still in the ecosystem file, please don't go there :)
zengargoyle ah, cool
moritz m: say :3[22, 1] 10:40
camelia 67
10:42 Cabanossi left
timotimo araraloren: you were giving the same $i to all the started pieces of code in the loop example. so they got started on the thread pool, and printed the value, but in the mean time the loop already incremented the value 10:42
10:42 wamba left
timotimo araraloren: but in the for loop case you get the value bound to a parameter on the inner block, so it was a fresh scalar every time 10:43
10:43 Cabanossi joined
zengargoyle is there a reason NativeCall doesn't try to search for versioned .so files and pick the highest one (if no version is requested)? 10:44
timotimo: the two loops don't give the same values in the first place. 10:45
araraloren timotimo, so what should I do to get the same result.
nine zengargoyle: .so versions are pretty much API versions. Picking a random API usually doesn't lead to stable software.
zengargoyle m: say 0,2 ... 8
camelia (0 2 4 6 8)
zengargoyle the for loop is <8 10:46
and stops at 6
because $i<8
araraloren timotimo, I add a Block wrap around it, and it works 10:47
m: my @p = []; loop (my $i = 0;$i < 8;$i+=2) { -> $i { @p.push(start { say ""; say "$i, {$i + 2}"; }); }($i); }; await Promise.allof(@p); 10:48
camelia

2, 4
4, 6

6, 8

0, 2
araraloren timotimo, thanks
zengargoyle m: loop (my $i=0;$i < 8;$i+=2) { say $i } 10:49
camelia 0
2
4
6
jnthn my $i-copy = $i; start { use $i-copy in here } would also work fwiw
10:49 mr-foobar left
zengargoyle i'm confused as to why the inside of the loop whatever it is should be the same if the $i values passed in are different. 10:50
araraloren jnthn, yeah, you are right.
10:52 pmurias joined
araraloren And another question 10:52
pmurias DrForr: isn't the Perl 5 infrastructure relatively sane compared to other languages? ;) 10:53
yoleaux 03:37Z <Zoffix> pmurias: RE: github.com/perl6/roast/blob/master...s-approx.t there's actually a more comprehensive test for that routine in rakudo's test suite. Should it be moved to roast, then? github.com/rakudo/rakudo/blob/nom/...s-approx.t
03:41Z <Zoffix> pmurias: nevermind. I moved it. Seems to make sense.
moritz I think few languages have the equivalent of cpan testers
araraloren m: my @f = 11, 22, 33; await start { say 3 + (@f div 3); };
camelia Tried to get the result of a broken Promise
in block <unit> at <tmp> line 1

Original exception:
Cannot resolve caller infix:<div>(Array, Int); none of these signatures match:
(Int:D \a, Int:D \b)
(int $a, int $b --> int…
araraloren m: my @f = 11, 22, 33; await Promise.allof([ start { say 3 + (@f div 3); } ]);
camelia ( no output )
moritz pro tip: make sure your seriali code runs correctly before parallelizing it :-) 10:54
zengargoyle must have totally missed something.
moritz m: @f = 11, 22, 33; say @f div 3
camelia 5===SORRY!5=== Error while compiling <tmp>
Variable '@f' is not declared
at <tmp>:1
------> 3<BOL>7⏏5@f = 11, 22, 33; say @f div 3
moritz m: my @f = 11, 22, 33; say @f div 3
camelia Cannot resolve caller infix:<div>(Array, Int); none of these signatures match:
(Int:D \a, Int:D \b)
(int $a, int $b --> int)
in block <unit> at <tmp> line 1
araraloren Is there has a bug/problem with **something**
like Promise or other
moritz araraloren: the most obvious bug in the code above is your misuse of infix:<div> 10:55
araraloren I know that
It's my type mistake 10:56
10:56 zakharyas left
araraloren m: my @f = 11, 22, 33; await Promise.allof([ start { say 3 + (@f div 3); } ]); 10:56
camelia ( no output )
araraloren but how to explain this ?
no exception now
jnthn No, that's just how Promise.allof works 10:57
moritz m: say await Promise.allof({start { die }})
camelia Can only use allof to combine defined Promise objects
in block <unit> at <tmp> line 1
jnthn It doesn't care about success/failure, only that they all reached some kind of conclusion
moritz m: say await Promise.allof(start { die }) 10:58
camelia True
araraloren Do you mean I should handle exception myself ?
jnthn Why are you using Promise.allof?
moritz m: my $p = Promise.allof(start { die }); await $p; say $p.status
camelia Kept
moritz araraloren: you can also await a list of promises 10:59
jnthn You can...what moritz said :)
araraloren Oh, this just a test, I want run some code concurrent, so the main thread should wait them done
lizmat and even handle them one by one:
for awaiterator(@promises) -> $p { check the next promised that reached a conclusion } 11:00
araraloren I just want know is rakudo will not report when an exception raise ?
11:00 eliv left
jnthn araraloren: Then await the promises; you don't need Promise.allof 11:00
araraloren when use Promise.allof
jnthn No, it won't. If Promise.allof did that, then it'd do the same as await @list-of-promises and there'd be no point to having it :) 11:01
araraloren Oh, maybe I misunderstand `Promise.allof`
11:01 pmurias left 11:02 vytautas left, pmurias joined, vytautas joined
jnthn Just checked the allof documentation, it does correctly describe this :) 11:03
araraloren Em, Ok 11:04
jnthn Typically you just want await @promises though, which does convey the error, and is shorter :) 11:05
ooh, it's lunch time :)
bbl
araraloren jnthn, yeah, you right 11:06
I just `wait @p`, and I misunderstand `Promise.allof` 11:07
lizmat El_Che: 31.1 and still rising :-(
araraloren s/just/just want/
zengargoyle 14 here, but it's 04:08 P) 11:08
El_Che lizmat: you travel a lot. Any pointers for car renting companies? (which are good, which to avoid). I need to rent a car in spain 11:20
lizmat El_Che: I'm pretty lazy that way: I usually go to rentalcars.com 11:21
El_Che lizmat: I don't know the site, but it sounds lazy ;)
lizmat it's basically booking.com for rental cars 11:22
El_Che nice to know
lizmat </plug>
El_Che lizmat: do they also squeeze the little man
El_Che ducks
:)
lizmat not so sure: afaik they still use the agent model 11:23
11:27 domidumont left 11:28 domidumont joined
El_Che ok, it looks indeed nice 11:30
just looking at the location (dropping the car in an other city)
DrForr And *now* an interviewer decides to go with the line "Well, you've been out of work for 2 months, in my experience good developers aren't out of work that long." *headdesk* 11:31
11:32 pmurias left 11:33 pmurias_ joined
timotimo m( 11:33
DrForr (remembering after the fact that this is a publicly logged channel and oh well.) 11:34
11:36 vytautas left
DrForr Sorry, stress release is probably not appropriate here, my apologies. 11:37
11:37 pmurias joined
MasterDuke your penance is three new modules and a blog post 11:38
DrForr Once I get back from my immigration lawyer, which will be another ball of stress.
11:42 wamba joined 11:46 pmurias_ left 11:47 pmurias_ joined
zengargoyle does the p5 CPAN namespace collide with the p6 CPAN namespace? 11:48
lizmat no 11:49
a Perl 6 distribution uploaded to CPAN will never be seen by Perl 5 modules 11:50
and vice-versa
zengargoyle cool, how about metacpan search stuff? 11:51
11:51 pmurias left
lizmat although I could see offering an option in zef to also search Perl 5 modules and then provide that with Inline::Perl5 as a dependency 11:51
there is a fork of metacpan for Perl 6 somewhere, but I'm not sure of the state 11:52
perhaps better to ask this on #perl6-toolchain
11:52 pmurias joined
zengargoyle cool. 11:52
11:55 cdg joined
nine DrForr: I wouldn't want to work at a place with such interviewers anyway... 11:59
11:59 aborazmeh joined, aborazmeh left, aborazmeh joined
DrForr Nod. I politely explained that while that may certainly be the case, I'm constrained by the need to work with only companies that offer sponsorship, and those are much harder to find than those that don't. 12:02
12:03 wamba left
zengargoyle looks like Mi6 MANIFEST.SKIP only matches via 'eq'. shouldn't that be a regex or something? and the list of files is from `git ls-files` which makes me happy and sad at the same time. 12:05
12:06 mr-foobar joined
DrForr Back in a while. 12:06
nine zengargoyle: why sad?
zengargoyle totally tied to git. 12:07
nine zengargoyle: mi6 is tied to git in general. It even does a git init on the newly created dirctory. 12:08
zengargoyle say a little less of a generic module tool and more towards Dist::Zilla
12:08 wamba joined
zengargoyle yeah, i'm all with using git. 12:08
h2xs it tied to make i guess. :P 12:09
12:09 BenGoldberg joined, parv left
zengargoyle maybe i wish for a bit more Module::Build (without the grrrr) where it's not tied to anything other than just Perl6. with plugins or something. just a little bit. 12:10
but there's always tar and gz and who knows what... 12:11
12:11 pmurias left 12:12 pmurias joined, pmurias_ left, dj_goku joined, pmurias_ joined
zengargoyle i forget if p5 MANIFEST.SKIP is just 'eq' and not some sort of glob match. and should p6 meta-info be so restrictive? 12:13
my @skip = "MANIFEST.SKIP".IO.lines.map: -> $skip { * eq $skip }; 12:14
12:15 domidumont left
zengargoyle that might be awesome with an EVAL if say the line started with * EVAL it, if not do ~~ or something. 12:15
12:17 dj_goku left 12:18 domidumont joined
zengargoyle i'd hate to have to put every single file in some development test directory in MANIFEST.SKIP insteak of just telling it to skip that whole directory. 12:19
12:20 pmurias left, pmurias_ left 12:21 pmurias joined, pmurias_ joined 12:30 pilne joined
zengargoyle m: my @s = <foo ^ba>.map: -> $skip { * ~~ rx/<$skip>/ }; for <foo bar> -> $f {say $f if @s.grep({$_($f)}); } 12:36
camelia bar
12:36 lowbro left
zengargoyle i totally expected foo to be matched. 12:37
m: my $f = 'foo'; say 'foo' if $f ~~ /<$f>/; 12:40
camelia foo
zengargoyle doh 12:41
m: my @src = <foo bar>; my @s = <foo ^ba>.map: -> $skip { * eq $skip }; for @src -> $f {say $f if @s.grep({$_($f)}); } 12:43
camelia foo
zengargoyle m: my @src = <foo bar>; my @s = <foo ^ba>.map: -> $skip { * ~~ rx/<$skip>/ }; for @src -> $f {say $f if @s.grep({$_($f)}); }
camelia bar
zengargoyle m: my @src = <foo bar>; my @s = <foo ^ba>.map: -> $skip { * ~~ rx/<$skip>/ }; for @src -> $f {say $f if @src.grep({$_($f)}); } 12:44
camelia No such method 'CALL-ME' for invocant of type 'Str'
in block at <tmp> line 1
in block <unit> at <tmp> line 1
12:45 cdg left
zengargoyle m: my @src = <foo bar>; my @s = <foo ^ba>.map: -> $skip { * ~~ rx/<$skip>/ }; for @src -> $f {say $f if @s.grep({$_($f)}); } 12:45
camelia bar
zengargoyle why no foo? 12:46
m: my $f = 'foo'; say 'foo' if $f ~~ /<$f>/; 12:47
camelia foo
zengargoyle m: my @src = <foo bar>; my @s = <foo ^ba>.map: -> $skip { so * ~~ rx/<$skip>/ }; for @src -> $f {say $f if @s.grep({$_($f)}); } 12:51
camelia bar
12:52 pmurias_ left
zengargoyle m: my @src = <foo bar>; my @s = <foo ^ba>.map: -> $skip { so * ~~ rx/<$skip>/ }; for @src -> $f {say $f if so @s.grep({$_($f)}); } 12:52
camelia bar
12:53 pmurias_ joined
zengargoyle m: my @src = <foo bar>; my @s = <^foo ^ba>.map: -> $skip { so * ~~ rx/<$skip>/ }; for @src -> $f {say $f if so @s.grep({$_($f)}); } 12:54
camelia bar
zengargoyle m: my @src = <foo bar>; my @s = <woot>.map: -> $skip { so * ~~ rx/<$skip>/ }; for @src -> $f {say $f if so @s.grep({$_($f)}); } 12:55
camelia ( no output )
zengargoyle m: my @src = <foo bar>; my @s = <foo>.map: -> $skip { so * ~~ rx/<$skip>/ }; for @src -> $f {say $f if so @s.grep({$_($f)}); }
camelia foo
zengargoyle m: my @src = <foo bar>; my @s = <foo bar>.map: -> $skip { so * ~~ rx/<$skip>/ }; for @src -> $f {say $f if so @s.grep({$_($f)}); }
camelia bar
zengargoyle m: my @src = <foo bar baz>; my @s = <foo bar>.map: -> $skip { so * ~~ rx/<$skip>/ }; for @src -> $f {say $f if so @s.grep({$_($f)}); } 12:56
camelia bar
zengargoyle m: my @src = <foo baz bar>; my @s = <foo bar>.map: -> $skip { so * ~~ rx/<$skip>/ }; for @src -> $f {say $f if so @s.grep({$_($f)}); }
camelia bar
12:56 Cabanossi left
zengargoyle aaaarrrrrrrrrggggggggggggghhhhhhhhhhh. 12:57
m: my @src = <foo baz bar>; my @s = <foo bar baz>.map: -> $skip { so * ~~ rx/<$skip>/ }; for @src -> $f {say $f if so @s.grep({$_($f)}); } 12:58
camelia baz
12:58 lucasb joined 12:59 Cabanossi joined
zengargoyle gives up for now. 13:00
m: my @src = <foo baz bar>; my @s = <foo bar baz>.map: -> $skip { * eq $skip }; for @src -> $f {say $f if so @s.grep({$_($f)}); } 13:03
camelia foo
baz
bar
zengargoyle so i'm going to guess that * ~~ rx/<$variable>/ doesn't work where * eq $variable does.... seems broke. 13:04
13:05 pmurias_ left
zengargoyle m: my @src = <foo baz bar>; my @s = <foo bar baz>.map: -> $skip { my $x = $skip; so * ~~ rx/<$x>/ }; for @src -> $f {say $f if so @s.grep({$_($f)}); } 13:05
camelia baz
13:05 pmurias_ joined
zengargoyle aaaaaaaaaaaaarrrrrrrrrrggggggggggggghhhhhhhhhhhhhhhhhh. 13:06
DWIM dammit! :P 13:07
13:08 khw joined
moritz m: say (* ~~ rx/foo/).^name 13:08
camelia { ... }
13:08 pmurias left
moritz what, .^name also whatever-curries? 13:08
m: say (* ~~ rx/foo/).WHAT
camelia (WhateverCode)
13:09 pmurias joined, pmurias_ left, pmurias left 13:10 raschipi joined 13:14 curan left 13:17 kurahaupo left 13:20 kurahaupo_ joined, jonas2 left 13:21 yqt left 13:22 ChoHag left
zengargoyle m: my @src = <foo baz bar>; my @s = <foo bar baz>.map: -> $skip { sub($x){$x ~~ rx/<$skip>/} }; for @src -> $f {say $f if so @s.grep({$_($f)}); } 13:23
camelia 5===SORRY!5=== Error while compiling <tmp>
Variable '$x' is not declared
at <tmp>:1
------> 3 @s = <foo bar baz>.map: -> $skip { sub(7⏏5$x){$x ~~ rx/<$skip>/} }; for @src -> $f
13:24 ChoHag joined
zengargoyle m: my @src = <foo baz bar>; my @s = <foo bar baz>.map: -> $skip { -> $x { $x ~~ rx/<$skip>/} }; for @src -> $f {say $f if so @s.grep({$_($f)}); } 13:25
camelia foo
baz
bar
zengargoyle WTF????
m: my @src = <foo baz bar>; my @s = <foo ^ba baz>.map: -> $skip { -> $x { $x ~~ rx/<$skip>/} }; for @src -> $f {say $f if so @s.grep({$_($f)}); } 13:26
camelia foo
baz
bar
13:27 Cabanossi left
zengargoyle ok, * ~~ rx/<$var>/ is broken. 13:27
or i'm missing something obvious.. :P
nine zengargoyle: you call it @skip, but print all matches instead of skip the matching ones?
13:28 Cabanossi joined
zengargoyle testing??? it's sorta from App::Mi6 processing MANIFEST.SKIP and would be: next if .... 13:28
include or skip is just a not at the front. 13:29
nine m: my @src = <foo baz bar>; my @s = <^ba baz>.map: -> $skip { -> $x { $x ~~ rx/<$skip>/} }; for @src -> $f {say $f unless so @s.grep({$_($f)}); }
camelia foo
zengargoyle :)
the deal is the -> works and the * auto magic doesn't 13:31
13:32 _4d47 joined
zengargoyle my @src = <foo baz bar>; my @s = <^ba baz>.map: -> $skip { * ~~ rx/<$skip>/} }; for @src -> $f {say $f unless so @s.grep({$_($f)}); } 13:32
m: my @src = <foo baz bar>; my @s = <^ba baz>.map: -> $skip { * ~~ rx/<$skip>/} }; for @src -> $f {say $f unless so @s.grep({$_($f)}); }
camelia 5===SORRY!5=== Error while compiling <tmp>
Unexpected closing bracket
at <tmp>:1
------> 3 baz>.map: -> $skip { * ~~ rx/<$skip>/} 7⏏5}; for @src -> $f {say $f unless so @s.g
zengargoyle m: my @src = <foo baz bar>; my @s = <^ba baz>.map: -> $skip { * ~~ rx/<$skip>/ }; for @src -> $f {say $f unless so @s.grep({$_($f)}); }
camelia foo
bar
zengargoyle shouldn't * ~~ rx/<$skip>/ be the same as -> $x { $x ~~ rx/<$skip>/} ? 13:34
m: my @src = <foo baz bar>; my @s = <^ba baz>.map: -> $skip { sub($x) { $x ~~ rx/<$skip>/} }; for @src -> $f {say $f unless so @s.grep({$_($f)}); } 13:35
camelia 5===SORRY!5=== Error while compiling <tmp>
Variable '$x' is not declared
at <tmp>:1
------> 3; my @s = <^ba baz>.map: -> $skip { sub(7⏏5$x) { $x ~~ rx/<$skip>/} }; for @src ->
13:35 kurahaupo joined 13:36 kurahaupo__ joined
zengargoyle m: my @src = <foo baz bar>; my @s = <^ba baz>.map: -> $skip { sub ($x) { $x ~~ rx/<$skip>/} }; for @src -> $f {say $f unless so @s.grep({$_($f)}); } 13:36
camelia foo
zengargoyle oops space. 13:37
m: my @src = <foo baz bar>; my @s = <foo bar baz>.map: -> $skip { sub ($x){$x ~~ rx/<$skip>/} }; for @src -> $f {say $f if so @s.grep({$_($f)}); } 13:38
camelia foo
baz
bar
zengargoyle so sub or -> work and * doesn't.
13:39 kurahaupo_ left
llfourn_ m: multi foo($a where * === "foo".say) { }; foo(True) # bug? it checks the constraint twice 13:39
camelia foo
foo
_4d47 how would you mutate every nth chars of a Str ? i'm not finding in docs
13:39 kurahaupo left 13:40 kurahaupo joined
raschipi _4d47: I would turn it into a list of charachters and them manipulate it with a list, using .rotor and such. 13:41
13:42 kurahaupo__ left
araraloren m: multi foo($a where * === "foo".say) { }; 13:43
camelia ( no output )
llfourn_ m: my $n = 4; my @a = "foobarbazburp".comb; $_ .= uc for @a[1,$n...*]; say @a.join 13:44
camelia fOobArbAzbUrp
zengargoyle m: my $a = "abcdefghijklmnopqrstuvwxyz"; $a.substr-rw($_,1) = 'X' for 0, 3 ... $a.chars; say $a
camelia XbcXefXhiXklXnoXqrXtuXwxXz
llfourn_ _4d47: ^^
zengargoyle tweak as needed. :)
m: my $a = "abcdefghijklmnopqrstuvwxyz"; $a.substr-rw($_,1) = 'X' for 0, 3 ... *; say $a 13:46
camelia Start argument to substr out of range. Is: 27, should be in 0..26; use *-27 if you want to index relative to the end
in block <unit> at <tmp> line 1

Actually thrown at:
in block <unit> at <tmp> line 1
zengargoyle meh. :(
_4d47 thank you all ! :)
13:47 wamba left
zengargoyle is that sub vs -> vs * a buggable thing or am i doing something wrong somewhere? 13:47
lucasb m: sub f($ where -> { say 'hi' }) {}; f(1) 13:50
camelia hi
lucasb m: multi f($ where -> { say 'hi' }) {}; f(1)
camelia hi
hi
zengargoyle lucasb: seems legit 13:54
multi has to check the args and does the where and then calls the sub and does the where. 13:56
13:56 Cabanossi left
zengargoyle sub just calls the sub and does the where 13:57
13:58 cdg joined, Cabanossi joined 14:01 dj_goku joined, dj_goku left, dj_goku joined, aborazmeh left
MasterDuke jnthn has mentioned before that side effects in there where are not reliable/safe 14:02
14:04 wamba joined
lucasb right, thanks 14:04
14:06 dj_goku left
zengargoyle so should the checking only be done once? 14:10
assuming a single multi.... i guess if there are multiple multis the checking has to be donw multiple times.... 14:11
14:15 bwisti joined
zengargoyle i.e. a single target checks run to determine match, when the found target is called do the checks run again as part of the calling or are the matched arguments sent directly to the code body? 14:15
14:20 Actualeyes joined
llfourn_ I don't see why it would need to do it more than once 14:32
but I haven't looked through the dispatching logic that much
14:33 ksn00b joined
jnthn Yes, it does one check to see if it matches and another when actually invoking it, at present 14:34
llfourn_ why does it need to do it when it's actually invoking it?
jnthn It'd be nice to optimzie that at some point but it's not entirely easy
The real question is "how do you make it not do it when it's actually invoking it" :)
llfourn_ is the where clause embeded in the low level code object or something? 14:35
jnthn Most signatures are compiled 14:36
ksn00b Cannot import cpan installed module: "Could not find File::Basename" under perl6 program, does anyone have an idea?
jnthn So the processing of them ends up in the bytecode, yes
14:37 Sound joined
llfourn_ Hmm so the parameter binding runs during dispatching and when it's called. 14:37
I guess that makes sense but optimizing that away would be a big win for some of my code. 14:38
jnthn Aye. There's a number of possible solutions.
Though all with pitfalls 14:39
ksn00b Please help 14:48
jnthn ksn00b: If you want to use Perl 5 modules from Perl 6, see github.com/niner/Inline-Perl5 (but in a nutshell, you install that, use it, and then use File::Basename:from<Perl5> 14:49
raschipi ksn00b: Go ahead. 14:51
14:52 aborazmeh joined, aborazmeh left, aborazmeh joined
ksn00b jnthn: ok, thanks. one minute .. 14:56
14:56 Ben_Goldberg joined, BenGoldberg left, Ben_Goldberg is now known as BenGoldberg 15:04 ksn00b left 15:06 g4 left 15:12 domidumont left 15:18 yqt joined 15:27 Cabanossi left 15:28 ksn00b joined, Cabanossi joined
ksn00b Inline::Perl5 installation fails pastebin.com/ZhvQwsCf 15:28
15:34 Zoffix joined
llfourn_ ksn00b: perl6 -v ? 15:34
Zoffix ksn00b: which perl6 version you got? perl6 -v
15:35 PerlJam left, dalek left
ksn00b llfourn_: This is Rakudo version 2016.12 built on MoarVM version 2016.12 implementing Perl 6.c. 15:35
Zoffix: 2016.12 15:36
Zoffix ksn00b: you could consider upgrading. Looks like latest zef doesn't work on version that old. Latest release is 2017.04: rakudo.org/downloads/star/
15:37 aborazmeh left
ksn00b Zoffix: ok. 15:37
Zoffix wonders about "Failed to update p6c mirror Malformed UTF-8"
perl6 -MWWW -e 'jget("ecosystem-api.p6c.org/projects.json").elems.say' don't got any errors on 2017.05-286-ga47a78f 15:38
Zoffix builds 2016.12
15:39 JimmyZ left, alimon joined
llfourn_ ksn00b: btw I just tried zef install Inline::Perl5 and it failed but then I upgraded zef and it worked 15:40
so try and make sure both are on the latest version :)
timotimo i wonder if we should put something into perl6 -v to point out if the thing came from distro packages? 15:41
llfourn_ timotimo: that sounds like a good idea. It's easier to help if we know where they got ther rakudo. 15:42
15:42 ne_robot joined
ksn00b llfourn_: Debian sid 15:43
llfourn_ ksn00b: ah
Zoffix ksn00b: 2016.12 rakudo with latest and greatest zef works for me. So sounds like your zef was too old; unless you have some network restrictions that make zef fail to get stuff 15:44
raschipi ksn00b: You can get a newer rakudo from experimental in Debian 15:45
llfourn_ vanilla debian apt-get update && apt-cache show rakudo gives: Version: 2014.07-4 15:46
ksn00b Zoffix: I installed zef from github.com/ugexe/zef
ugexe zengargoyle: zef fetch downloads to ~/.zef/store/What-Ever... you just have to do `-v` to see it (a side effect that of that output not being desirable for fetching when you do `zef install What::Ever`)
raschipi I have 2017.05 from experimental
llfourn_ "Description: Perl 6 implementation on top of Parrot virtual machine" # This could use updating
ugexe zengargoyle: i've always been a proponent of installing all files or making the manifest generatable from the manifest 15:47
Zoffix ksn00b: BTW (based on your questions in past days), note that Perl 6 is a different language from Perl 5. Hence why you need Inline::Perl5 to load a Perl 5 module. Our modules are on modules.perl6.org
ugexe zengargoyle: including NYI hooks - mainly so that we can use an installed module to install to another CUR without having to use the original dist
Zoffix \o
15:47 Zoffix left
ugexe it would be trivial to install any extra files 15:48
we already do this with bin/ 15:49
15:49 dj_goku joined, dj_goku left, dj_goku joined
ksn00b Zoffix: I needed Base::Filename for importing my own module in the same directory as the main script 15:49
15:49 AlexDaniel joined
ugexe require $?FILE.IO.parent.child("my-module.pm") ? 15:49
raschipi m: "docs/README.pod".IO.basename.say; 15:50
camelia README.pod
ugexe ksn00b: the same directly as the main script changes if you install it
s/directly/directory/
even its relative location
ksn00b ugexe: I know, but I'm just willing to do some OOP as a beginner 15:51
ne_robot p6: say s/\w/0/g; 15:52
camelia 5===SORRY!5=== Error while compiling <tmp>
Unsupported use of /g; in Perl 6 please use :g
at <tmp>:1
------> 3say s/\w/0/g7⏏5;
llfourn_ use lib $*PROGRAM.absolute; use MyModuleInThisDir; # should work too
15:52 CacoS joined
llfourn_ perl6 -I. script.p6 15:52
ugexe .parent 15:53
llfourn_ oh right yes.
use lib $*PROGRAM.parent.absolute; use MyModuleInThisDir; # should would actually work
ugexe -I. and -Ilib is not the same too
-I. usually catches a META6.json, which takes a different CURFS path than if one does not exists (same as -Ilib)
can resolve names that don't match paths 15:54
although I would recommend -I. over -Ilib (only mentioning it because it can catch you off guard)
15:54 dj_goku left 15:55 [2300mAh] joined
llfourn_ ksn00b said "module in the same directory as the main script" which sounds like -I. to me 15:55
15:56 cdg left, lichtkind left 15:58 AlexDaniel left
ugexe ah i misunderstood, although that is a good reason to put them in bin/ 15:58
15:58 cdg joined, sufrostico left
ugexe still wonder if we can do better with the CURFS representing 2 different paths (META6.json and perl5-ish s{::}{/}) 15:59
to add: META.info does not get caught by the META6.json code path so will also take the perl5-ish path 16:01
but that doesn't get fixed because META.info needs to go away
16:02 sufrostico joined, cdg left 16:08 lichtkind joined 16:09 yqt left
ksn00b llfourn_: "use lib $*PROGRAM.parent.absolute;" does the job. 16:10
16:10 cdg joined
BenGoldberg m: dd $*PROGRAM 16:11
camelia IO::Path.new("<tmp>", :SPEC(IO::Spec::Unix), :CWD("/home/camelia"))
16:11 captain-adequate left
llfourn_ ksn00b: \o/ 16:12
raschipi m: round 42.9 , 0
camelia WARNINGS for <tmp>:
Useless use of "round 42.9 , 0" in expression "round 42.9 , 0" in sink context (line 1)
Attempt to divide 429 by zero using div
in block <unit> at <tmp> line 1

Actually thrown at:
in block <unit> at <tmp> line 1
raschipi m: round 42.9+1i , 0
camelia WARNINGS for <tmp>:
Useless use of "round 42.9+1i , 0" in expression "round 42.9+1i , 0" in sink context (line 1)
Attempt to divide 42.9 by zero using /
in block <unit> at <tmp> line 1

Actually thrown at:
in block <unit> at <tmp> line 1…
16:13 mscha joined
raschipi Should both die with the same division? according to the docs, they use the same alghorithm for each component. One tries 42.9/0 and the other 429/0. 16:13
mscha m: my @a = (1, 3), (4, 6); for @a -> ($p, $v) { dd $p, $v; } # This is fine 16:14
camelia Int $p = 1
Int $v = 3
Int $p = 4
Int $v = 6
mscha m: my @a = (1=>2, 3), (4=>5, 6); for @a -> ($p, $v) { dd $p, $v; } # So why isn't this?
camelia Too few positionals passed; expected 2 arguments but got 1 in sub-signature
in block <unit> at <tmp> line 1
BenGoldberg m: my @a = (1=>2, 3), (4=>5, 6); for @a { dd $_ } 16:15
camelia List @a = $(1 => 2, 3)
List @a = $(4 => 5, 6)
BenGoldberg m: my @a = (1=>2, 3), (4=>5, 6); for @a -> @b { dd @b }
camelia (1 => 2, 3)
(4 => 5, 6)
mscha At least the error message is a bit better than in my local Rakudo Star 2017.04: This type cannot unbox to a native string: P6opaque, Int 16:16
I guess it sees the pair as a named parameter?
BenGoldberg m: my @a = (1=>2, 3), (4=>5, 6); for @a -> (Any, $b) { dd $b }
camelia Too few positionals passed; expected 2 arguments but got 1 in sub-signature
in block <unit> at <tmp> line 1
BenGoldberg m: my @a = (1=>2, 3), (4=>5, 6); for @a -> @b ($p, $b) { dd @b } 16:17
camelia Too few positionals passed; expected 2 arguments but got 1 in sub-signature of parameter @b
in block <unit> at <tmp> line 1
BenGoldberg m: my @a = (1=>2, 3), (4=>5, 6); for @a -> @b ($wtf) { dd $wtf }
camelia Unexpected named argument '1' passed in sub-signature of parameter @b
in block <unit> at <tmp> line 1
BenGoldberg m: my @a = (1=>2, 3), (4=>5, 6); for @a -> @b ($:1) { dd $1 } 16:18
camelia 5===SORRY!5=== Error while compiling <tmp>
Cannot declare a numeric parameter
at <tmp>:1
------> 3 (1=>2, 3), (4=>5, 6); for @a -> @b ($:17⏏5) { dd $1 }
BenGoldberg m: my @a = (foo=>2, 3), (foo=>5, 6); for @a -> @b ($:foo) { dd $1 }
camelia 5===SORRY!5=== Error while compiling <tmp>
In signature parameter, placeholder variables like $:foo are illegal
you probably meant a named parameter: ':$foo'
at <tmp>:1
------> 3>2, 3), (foo=>5, 6); for @a -> @b ($:foo7⏏5) { dd $1 }
BenGoldberg m: my @a = (foo=>2, 3), (foo=>5, 6); for @a -> @b (:$foo) { dd $foo }
camelia Too many positionals passed; expected 0 arguments but got 1 in sub-signature of parameter @b
in block <unit> at <tmp> line 1
BenGoldberg m: my @a = (foo=>2, 3), (foo=>5, 6); for @a -> @b ($bar, :$foo) { dd $foo } 16:19
camelia Int $foo = 2
Int $foo = 5
ne_robot yeah, you did it :)
mscha That works if you have a fixed key in your pairs.
But is this a bug or a feature? 16:20
BenGoldberg m: my @a = (foo=>2, 3), (foo=>5, 6); for @a -> @b (*%pairs) { dd %pairs }
camelia Too many positionals passed; expected 0 arguments but got 1 in sub-signature of parameter @b
in block <unit> at <tmp> line 1
BenGoldberg m: my @a = (foo=>2, 3), (foo=>5, 6); for @a -> @b ($foo, *%pairs) { dd $foo, %pairs }
camelia Int $foo = 3
{:foo(2)}
Int $foo = 6
{:foo(5)}
BenGoldberg m: my @a = (1=>2, 3), (4=>5, 6); for @a -> @b ($foo, *%pairs) { dd $foo, %pairs }
camelia Int $foo = 3
{"1" => 2}
Int $foo = 6
{"4" => 5}
BenGoldberg m: my @a = (1=>2, 3), (4=>5, 6); for @a -> ($foo, *%pairs) { dd $foo, %pairs }
camelia Int $foo = 3
{"1" => 2}
Int $foo = 6
{"4" => 5}
BenGoldberg m: my @a = (1=>2, 3), (4=>5, 6); for @a -> @b { my ($a, $b) = @b; dd $a, $b } 16:21
camelia Pair $a = 1 => 2
Int $b = 3
Pair $a = 4 => 5
Int $b = 6
mscha m: my @a = (1=>2, 3), (4=>5, 6); for @a { dd $_[0], $_[1]; } 16:22
camelia 1 => 2
3
4 => 5
6
BenGoldberg I didn't grok what was happening until I saw that "unexpected named argument '1'"
16:25 Cabanossi left 16:29 Cabanossi joined 16:31 ksn00b left 16:35 _4d47 left 16:38 dalek joined, ChanServ sets mode: +v dalek, sergot_ left 16:40 Zoffix joined
Zoffix That's a feature 16:40
Zoffix points to List.Capture docs
16:40 cdg left
Zoffix Also, camelia takes /msg 16:40
It's what drives: some-routine: |(:some-named<arg>, :42mews) 16:42
"At least the error message is a bit better". Yeah, until recently non-Str-keyed Pairs were broken in that code. 16:43
16:44 ksn00b joined 16:45 thundergnat joined, CacoS left
thundergnat m: say (1,2).elems; say ().elems; say (1,2) X, (); # Bugish? or wrong assumptions on my part? 16:49
yoleaux 24 May 2017 19:23Z <azawawi> thundergnat: You're welcome :)
camelia 2
0
This type (Scalar) does not support elems
in block <unit> at <tmp> line 1
thundergnat
.oO(What part of it doesn't support .elems?)
16:50
araraloren m: say ().WHAT
camelia (List)
Zoffix thundergnat: bug
Please report it
thundergnat .k
Zoffix huggable: rakudobug
huggable Zoffix, Report bugs by emailing to [email@hidden.address]
moritz the fact that Scalar shows up there at all makes it a bug
MasterDuke bisectable6: say (1,2).elems; say ().elems; say (1,2) X, (); 16:54
bisectable6 MasterDuke, Bisecting by exit code (old=2015.12 new=a18c064). Old exit code: 0
Zoffix m: say (1,2).elems; say ().elems; say (1,2) X, []
camelia 2
0
()
bisectable6 MasterDuke, bisect log: gist.github.com/7d49ce1401bee0ab31...d1be2a919e
MasterDuke, (2017-01-16) github.com/rakudo/rakudo/commit/8a...3534a07026
16:54 sufrostico left 16:55 lucasb left
Zoffix m: use nqp; nqp::elems(nqp::getattr((), List, '$!reified')) 16:57
camelia This type (Scalar) does not support elems
in block <unit> at <tmp> line 1
Zoffix sees where the bug's at
16:57 skids joined
Zoffix Or rather where it's crashing. 17:00
m: use nqp; dd nqp::getattr((), List, '$!reified').^name; dd nqp::getattr([], List, '$!reified').^name
camelia "Mu"
"IterationBuffer"
Zoffix Both prolly should be the same? So this bug doesn't occur elsewhere?
thundergnat Rakudobugged RT#131395 17:04
ne_robot Geth:
Zoffix ne_robot: ?
ne_robot is this bot working always? 17:06
Zoffix Yes
ne_robot okay, I just thought somebody should ping it to call it
Zoffix Geth: uptime
Geth Zoffix, 2 weeks, 1 day, 2 hours, 16 minutes, and 30 seconds
Zoffix ne_robot: it announces commit made to many of Perl 6 repos 17:07
Geth doc: 2c79a41965 | (Zoffix Znet)++ | doc/Type/IO/Handle.pod6
List IO::Handle.print as a multi
Zoffix Like that ^
17:11 nadim left 17:15 wamba left
Geth doc: 373c60bcf2 | (Zoffix Znet)++ | doc/Type/IO/Handle.pod6
List IO::Handle.say as multi
17:21
doc: 70a80eccfb | (Zoffix Znet)++ | doc/Type/IO/Handle.pod6
[io grant] Document IO::Handle.put
17:21 setty1 joined
Geth doc: 6f58ed04b6 | (Zoffix Znet)++ | doc/Type/IO/Handle.pod6
[io grant] Polish IO::Handle.say

  - We have .put docs; mention them instead of .print
  - Don't say we'll call .print-nl method; that's an implementation detail
17:23
17:23 Zoffix left 17:25 travis-ci joined
travis-ci Doc build errored. Zoffix Znet 'List IO::Handle.print as a multi' 17:25
travis-ci.org/perl6/doc/builds/237241299 github.com/perl6/doc/compare/f4524...79a41965cd
17:25 travis-ci left, pilne left 17:27 ovechkin joined 17:28 pilne joined 17:31 raschipi left 17:35 sufrostico joined 17:37 dj_goku joined, dj_goku left, dj_goku joined 17:40 Herby_ joined
Geth doc: c1b7948ceb | (Zoffix Znet)++ | doc/Type/List.pod6
Document List.gist
17:40
Herby_ o/
17:40 cdg joined
lizmat has started on this weeks Perl 6 Weekly 17:42
17:43 dj_goku left
lizmat please ping me if you think I'm about to forget something important that happened the past week 17:43
ne_robot what's the future of perl6, how do you think?
lizmat ne_robot: looks pretty bright to me :-)
17:44 ovechkin left 17:45 cdg left
ne_robot I have some repos on GitHub, containing Python3 sources. I submitted some repos to PyPI, and therefore there is a folder with the name of the module 17:47
what is the best way to place the ported Perl6 source to this repo? 17:48
The basic scheme of my repo: .gitignore fresh_proxy README LICENSE 17:49
"fresh_proxy" is the name of the Python module
lizmat ne_robot: I think the current state of adding modules is documented at docs.perl6.org/language/modules.html 17:50
or more precisely: docs.perl6.org/language/modules.ht...ng_Modules 17:51
17:51 me joined
lizmat you also want to take a look at github.com/skaji/mi6 17:51
17:51 me is now known as Guest32064 17:54 espadrine joined
Geth doc: 3790a0fa0b | (Zoffix Znet)++ | doc/Type/IO.pod6
[io grant] Polish &put/&print/&say

  - Use the standard "Defined as:" headers
  - .nl-out is not system-dependent
  - Simplify all the prose
  - Remove all the giant-series-of-numbers examples. Good grief.
  - say() doesn't abridge anything. Redirect all complaints
   to .gist method of particular objects.
17:55
17:56 mcmillhj joined, zapwai joined
Geth doc: 546e9b6c63 | (Zoffix Znet)++ | doc/Type/IO/Handle.pod6
Fix IO::Handle.nl-in sig
17:56
17:56 Cabanossi left
Herby_ what's the simplest way to sort a hash on values? I have a frequency count and want to sort in descending order 17:58
17:58 Cabanossi joined
MasterDuke m: my %h = :1a, :2b; .say for %h.sort(-*.value) 18:01
camelia b => 2
a => 1
Herby_ thanks MasterDuke
MasterDuke np
Herby_ Just found this example in the docs as well: for %vowels.sort(*.key)>>.kv -> ($vowel, $index) {
"$vowel: $index".say;
}
but I think that example does it in ascending order 18:02
18:04 Guest32064 is now known as aguy
Herby_ m: my %h = :1a, :2b; .say for %h.sort(*.value) 18:05
camelia a => 1
b => 2
18:05 aguy is now known as a_guy 18:06 a_guy left
lizmat Herby: note the "-" in the descending example :-) 18:06
Herby_ just figured it out :)
was wondering what that did
18:06 aguy joined
lizmat Herby_: where did you find that example? 18:06
the use of >> feels wrong there 18:07
MasterDuke heh, just noticed that too
Herby_ docs.perl6.org/type/Hash
under the section "Looping over hash keys and values" 18:08
i modified my example slightly to sort on value instead of key
ne_robot ugexe: is there a way to use custom user-agent in Net::HTTP?
ugexe set the user-agent header 18:10
aguy Is there anything like a type alias? 18:15
ugexe ne_robot: perl6 -e 'use Net::HTTP::GET; say Net::HTTP::GET("httpbin.org/headers", :header(:User-Agent("xxx"))).content(:force);' 18:17
18:17 mcmillhj left
ugexe m: sub foo(::T $thing) { say T.perl; say $thing; }; foo(1); foo("a") # aguy like this? 18:18
camelia Int
1
Str
a
18:18 travis-ci joined
travis-ci Doc build passed. Zoffix Znet 'Document List.gist' 18:18
travis-ci.org/perl6/doc/builds/237249427 github.com/perl6/doc/compare/6f58e...b7948ceba8
18:18 travis-ci left
Geth doc: 9945c75ed0 | (Zoffix Znet)++ | doc/Type/IO/Handle.pod6
Fix up IO::Handle.nl-in
18:19
doc: ebb6f539e8 | (Zoffix Znet)++ | doc/Type/IO/Handle.pod6
[io grant] Document IO::Handle.nl-out attribute
aguy similar, but i don't want to use it in a sub 18:24
18:27 Cabanossi left
ugexe where do you want to use it? 18:28
18:28 Cabanossi joined
aguy make something like Array of Numeric shorter 18:29
18:30 cdg joined
ugexe m: subset Arr of Array; my Arr $i; say $i ~~ Array 18:31
camelia True
ugexe m: subset Arr of Array[Num]; my Arr $i; say $i ~~ Array 18:32
camelia True
ugexe m: subset Arr of Array[Num]; my Arr $i; say $i ~~ Array[Num]
camelia True
ugexe m: subset Arr of Array[Num]; my Arr $i; say $i ~~ Array[Str]
camelia False
jnthn constant AoN = Array of Numeric;
aguy cool
that is what i was looking for, ty 18:33
18:33 setty1 left 18:34 greppable6 left 18:35 cdg left
ufobat what do i need to do in order to add a 'resource file' (basically a random file) into a module, just add it in the provides section of the meta6.json? 18:41
18:43 mr-foobar left
ugexe add it to resources section of meta6.json 18:43
ufobat ah
design.perl6.org/S22.html#%25%3FRESOURCES 18:44
awesome, thanks
ugexe "resources" : "config.json" references "resources/config.json" OR whatever the installed version of it is
so in your module you just use %?RESOURCES<config.json>;
[Coke] m: say ().WHAT
camelia (List)
BenGoldberg m: dd %?RESOURCES 18:45
camelia Nil
18:45 greppable6 joined, ChanServ sets mode: +v greppable6
BenGoldberg Would %?RESOURCES<config.json> produce a string, an IO, a filehandle, or what? 18:45
18:46 setty1 joined
BenGoldberg expects one of those silly sha1 filenames, for an installed module... 18:46
ugexe a .IO, but you might want to explicitly .IO it yourself because it seems to fail to coerce under some circumstances 18:47
you can see the difference with `perl6 -Ilib bin/zef --help` and `zef --help` by looking at the line starting with "CONFIGURATION" 18:48
18:50 wamba joined
Geth doc: 53c9c91a03 | (Zoffix Znet)++ | doc/Type/IO/Handle.pod6
[io grant] Document IO::Handle.chomp attribute
18:52
18:52 Praise joined, Praise left, Praise joined 18:57 Cabanossi left 18:58 Cabanossi joined
Geth doc: 77a1beb41e | (Jan-Olof Hendig)++ | doc/Language/traps.pod6
Fixed a few typos
18:59
19:06 ksn00b left 19:13 domidumont joined
aguy rakudo: role Coordinate [$ordNumber, ::OrdType = Numeric] { has @.ordinates[$ordNumber] of OrdType; } ; class Point2D does Coordinate[2] { } 19:14
camelia 5===SORRY!5=== Error while compiling <tmp>
Cannot bind attributes in a Array[OrdType] type object
at <tmp>:1
aguy could this be a bug?
19:15 andrzejku joined 19:24 yqt joined 19:25 dj_goku joined, dj_goku left, dj_goku joined 19:30 dj_goku left 19:34 domidumont left 19:35 sufrostico left, darutoko left 19:42 Cabanossi left 19:43 Cabanossi joined 19:45 robertle left
Geth doc: ca2a3a0bfb | (Zoffix Znet)++ | 2 files
[io grant] Improve &open/IO::Handle.open docs

  - KISS &open; show a couple of basic examples and direct to
   IO::Handle.open for all the gory details
  - List IO::Handle.open method
  - Document all the possible mode options, in their overengineered glory
  - List modes in a code chunk instead of a big =item list, which
   IMO is kinda hard to take in in whole
  - Direct to docs of attributes for all the args that affect handle's
   attributes.
19:46
19:49 mspo left 19:52 zacts left
Geth doc: a7f9cb77f0 | (Antonio Quinonez)++ (committed by Zoffix Znet) | doc/Language/performance.pod6
Edits to performance.pod6 (#1337)

  * Fix broken link, Perl 6 nbsp issue
  * Edit for clarity
  * Fix a sentence
19:53
19:54 Sound left 19:55 nadim joined
lizmat and another Perl 6 Weekly hits the Net: p6weekly.wordpress.com/2017/05/29/...-encoding/ 19:56
Herby_ \o/ 19:57
19:59 robertle joined 20:03 aguy left 20:09 bwisti left 20:10 bwisti joined, rindolf left 20:11 sufrostico joined 20:14 dj_goku joined 20:15 mr-foobar joined 20:18 robertle left 20:20 nadim left 20:22 Sound joined 20:26 dwarring joined, ufobat left
nine BenGoldberg: %?RESOURCES<config.json> gives you a Distribution::Resource object which shares a lot of methods (those for reading) with an IO::Path. There's also .IO for getting a plain IO::Path object. 20:31
20:33 mcmillhj joined 20:35 llfourn left, wamba left 20:36 llfourn joined, llfourn_ left
thundergnat nine: not to waylay you or anything, but do you have any ideas on how to work around github.com/niner/Inline-Perl5/issues/92 ? It makes Inline::Perl5 more fiddly to use. 20:36
20:36 llfourn_ joined 20:37 Possum joined 20:39 yqt left
thundergnat Hmmm. Don't know if this rises to the level of a bug, it it is certainly a WAT at least to me. gist.github.com/thundergnat/d6dd2d...58b3883f0f 20:40
m: gist.github.com/thundergnat/d6dd2d...58b3883f0f
camelia (Int), 0
(Int), 0
(Int), 0
(Int), 0
(Int), 0
(Int), 0
(List), (1)
20:40 fatguy left, wamba joined
geekosaur not a bug, not sure if it can be changed to do what you want 20:44
...I think 20:45
nine thundergnat: not a good one :/ I think, I'm just gonna exclude all lower cased modules from importing. By convention those should all be pragmas. 20:46
thundergnat geekosaur: The thing that really confuses me; if you uncomment the "say @d" line, it get the same thing in every instance, it just gives a different result for the .comb 20:47
20:47 pmurias joined, mcmillhj left
lizmat hmmm.. I guess we could have a .comb candidate for Int that would generate Int's 20:48
but that feels a bit too magic
geekosaur ^ 20:49
thundergnat nine: Sigh, I suspected as much. I messed around with it for a while and couldn't come up with a good solution.
nine: BTW, thanks for making it in the first place, the awesome greatly outweighs the WAT. :-) 20:50
lizmat: The weird thing is that the d sub gets an array from .comb like every other instance, it just treats the array subindexing differently. 20:53
lizmat because it gets Str as indexes
thundergnat as does <1 1 0> but _that_ works as expected... 20:54
lizmat thundergnat: but those are IntStr's
so they use the Int candidate
20:54 sufrostico left
thundergnat erm... Good point. 20:54
lizmat m: dd <1>, "1"
camelia IntStr.new(1, "1")
"1"
thundergnat Anyway, As I said not really a bug, but it confused me for about 15 minutes today. 20:55
lizmat thundergnat: I think this WAT warrants a rakudobug fwiw
it shouldn't make a difference
m: my @a = ^10; dd @a["5"] 20:56
camelia Int @a = 5
lizmat there shouldn't be a difference
thundergnat Want me to rakudobug it?
20:57 setty1 left
thundergnat lizmat The other odd thing; if I do the subscripting as @d[$r][$c] ( rather than @d[$r;$c] ) it works as expected in all cases. 20:58
lizmat thundergnat: yes please
yeah, so the [;] candidate handles Str differently 20:59
definitely rakudobug this :-)
thundergnat ok :) Thanks for the assistance (and all that you do. lizmat++ ) 21:00
lizmat thundergnat: yw :-)
Herby_ random question 21:13
I noticed a small typo in the Think Perl 6 book on a code section. Anyone know the best way to relay that to the authors Laurent Rosenfeld or Allen Downey? 21:14
didn't know if Lauren hangs out on this channel
Laurent 21:15
lizmat lolo78 if he's around
Herby_ thanks
just found a way to submit the type on oreilly's site 21:16
MasterDuke there's also a github repo
lizmat github.com/AllenDowney/ThinkPerl6/issues
Herby_ ^^
Herby_ thanks MasterDuke 21:17
thundergnat lizmat: semicolon subscripting rukudobug RT#131397 21:18
lizmat thundergnat++
Herby_ and thanks lizmat :) 21:20
21:23 mscha left, Sound left 21:35 araujo joined 21:37 AlexDaniel joined 21:39 sammers left, sammers joined
Geth doc: dd72a82c93 | (Zoffix Znet)++ | doc/Type/IO/Handle.pod6
Try to silence the syntax highlighter
21:40
doc: d77c503985 | (Zoffix Znet)++ | doc/Type/IO/Handle.pod6
Consistently use "routine" in headings

For sections that list both method and sub routines
doc: 856e846509 | (Zoffix Znet)++ | doc/Language/io-guide.pod6
[io grant] Add Reading From Files section to TDIOG
21:40 andrzejku left 21:41 Cabanossi left 21:42 aborazmeh joined, aborazmeh left, aborazmeh joined, bwisti left 21:43 bwisti joined, Cabanossi joined 21:50 wamba left 21:57 greppable6 left 21:59 greppable6 joined, ChanServ sets mode: +v greppable6 22:05 zacts joined 22:08 pmurias left 22:10 [1]Jarryd98 joined 22:11 Jarryd98 left 22:13 Jarryd98 joined 22:14 avuserow left 22:15 [1]Jarryd98 left 22:18 Util joined, nowan left 22:20 nowan joined 22:22 adu joined 22:27 zapwai left 22:32 Zoffix joined
Zoffix COMPLETION Report / Perl 6 IO TPF Grant: blogs.perl.org/users/zoffix_znet/20...grant.html 22:33
22:38 [1]Jarryd98 joined 22:39 BenGoldberg left 22:40 Jarryd98 left, [1]Jarryd98 is now known as Jarryd98
Zoffix And if you liked that work and wish to see more, donate to The Perl Foundation today! (specify "Perl 6 fund" in purpose field): donate.perlfoundation.org/ 22:41
22:42 BenGoldberg joined 22:43 aborazmeh left 22:48 adu left 22:52 chubuntu joined 22:53 espadrine left 22:56 chubuntu left 22:59 Jarryd98 left, Jarryd98 joined 23:03 pmurias joined 23:06 adu joined 23:24 [1]Jarryd98 joined 23:26 Jarryd98 left, [1]Jarryd98 is now known as Jarryd98 23:30 adu left
tbrowder question: one line in Pod::To::Text is "$pod.map({pod2text($_)}).join("\n\n")" and I need to unwrap that statement if possible. can anyone show how to do that? thanks. 23:37
23:38 adu joined 23:39 Ben_Goldberg joined, BenGoldberg left, Ben_Goldberg is now known as BenGoldberg 23:40 lichtkind left
kurahaupo tbrowder: $pod is a list, {pod2text($_)} is a small anonymous function, and .map is a method that applies a function to each element of a list and returns a new list of the results 23:43
23:44 TEttinger joined
kurahaupo tbrowder: then the .join method is applied to that resulting list, to return a single string. does that help? 23:46
tbrowder thanks, but is there a way to break that into a named function with separate, simpler statement? the line is returning an error that is hard to debug in its present form 23:47
Herby_ Zoffix: That's awesome. Congrats on completing the grant work
23:49 Ben_Goldberg joined, BenGoldberg left, Ben_Goldberg is now known as BenGoldberg 23:54 sammers left 23:55 margeas left 23:58 pmurias left