»ö« 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
|