Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2017-12-08

Perl 6 | Reference Documentation | Rakudo

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:13 llfourn joined #perl6
00:28 ZzZombo joined #perl6
00:34 cdg_ joined #perl6
00:41 Zoffix joined #perl6
00:44 Zoffix I stole it.
00:44 yoleaux 7 Dec 2017 17:16Z <tbrowder> Zoffix: thnx for the new highlighter!
00:44 Zoffix But... there's a whole nest of buggers in RI::I :o
00:44 Herby_ joined #perl6
00:44 Herby_ o/
00:44 Zoffix \o
00:44 Zoffix Writing tests ATM to cover them all.
00:46 mienaikage joined #perl6
00:51 Zoffix First pass gonna be quite a deopt.
00:52 patrickz joined #perl6
00:52 perlpilot_ joined #perl6
00:56 BenGoldberg joined #perl6
00:59 mson joined #perl6
01:09 timotimo do we have some document where things like "an iterator shall not be asked to pull-one after IterationEnd has been encountered" and friends?
01:09 Zoffix It's not me being a moron, right? Iterator.count-only/.bool-only are concerned with the *current* state of the iterator not its initial state? That is I can always legally do `.pull-one xx .count-only` without violating Iterator protocol
01:09 timotimo i wonder if we ever decided upon what count-only does if values have already been consumed
01:09 Zoffix timotimo: that should be in the docs for Iterator type
01:10 Zoffix That one I know 'cause jnthn said that. Dunno about countonly
01:10 Zoffix It makes sense for it to adjust the stuff after iteration.
01:10 stmuk_ joined #perl6
01:11 timotimo mhm
01:11 Zoffix I already got 87 lines of bug cover tests and I'm only 60% through RI::I
01:11 timotimo well, the docs seem to say you can count-only after pulling values and get the number of remaining items
01:12 Zoffix The only problem is I wrote that some time back :}
01:12 timotimo hah :)
01:20 lookatme joined #perl6
01:21 timotimo maybe it'd be good if there were a way for count-only to signal "oh, turns out i can't tell you after all!"
01:21 timotimo hm. or is that what the default implementation of count-only does?
01:22 Zoffix There's no default impl.
01:22 timotimo i just saw. hmm.
01:22 timotimo we use nqp::can and friends to figure that out, then?
01:22 Zoffix yeah
01:23 * timotimo goes to bed
01:23 Zoffix \o
01:29 tadzik joined #perl6
01:29 AlexDaniel` joined #perl6
01:29 tyil[m] joined #perl6
01:29 unclechu joined #perl6
01:29 CIAvash[m] joined #perl6
01:29 mack[m] joined #perl6
01:29 Garland_g[m] joined #perl6
01:29 wamba[m] joined #perl6
01:29 M-Illandan joined #perl6
01:29 wictory[m] joined #perl6
01:29 Matthew[m] joined #perl6
01:30 ilmari[m] joined #perl6
01:30 xui_nya[m] joined #perl6
01:32 Zoffix What does this mean again? "This representation (NativeRef) does not support elems (for type IntAttrRef)"
01:33 Zoffix m: class Foo { has int $!x; method z { use nqp; nqp::elems($!x) } }.new.z
01:33 camelia rakudo-moar f70e20bdf: OUTPUT: «This representation (NativeRef) does not support elems (for type IntAttrRef)␤  in method z at <tmp> line 1␤  in block <unit> at <tmp> line 1␤␤»
01:37 * Zoffix rocks out to https://www.youtube.com/watch?v=jkPAX8Zydiw
01:37 Herby_ perfect programming music :)
01:38 Zoffix :)
01:39 mcmillhj joined #perl6
01:53 cdg joined #perl6
02:01 Zoffix .tell lizmat I stole the .tail(5).tail bug. Would you be able review my fix in that and other iterators https://github.com/rakudo/rakudo/commit/af9812fa73 ? Unless I'm misunderstanding iterator protocol, the .count-only/.bool-only need to account for iterator's consumation and adjust their values. I removed some of the impls because I assumed they weren't worth it. The one (IIRC only one...) exception is
02:01 yoleaux Zoffix: I'll pass your message to lizmat.
02:01 Zoffix RI::I.Combinations; I couldn't figure out how to impl them. I also added tests in https://github.com/perl6/roast/commit/88a12f6984
02:02 Zoffix .tell lizmat RI::I.Combinations; I couldn't figure out how to impl them. I also added tests in https://github.com/perl6/roast/commit/88a12f6984
02:02 yoleaux Zoffix: I'll pass your message to lizmat.
02:03 * Zoffix powers down
02:03 Zoffix left #perl6
02:26 astj joined #perl6
02:26 piojo joined #perl6
02:27 astj joined #perl6
02:35 ZzZombo joined #perl6
02:39 piojo m: my @pairs = [('a' => 'b'),]; say so @pairs.any ~~ ('a' => 'b');
02:39 camelia rakudo-moar 1dbf5f589: OUTPUT: «No such method 'a' for invocant of type 'Pair'␤  in block <unit> at <tmp> line 1␤␤»
02:39 piojo Seems like junctions can't handle pairs?
02:39 piojo my @ints = 2; say so @ints.any ~~ 2;
02:40 piojo m: my @ints = 2; say so @ints.any ~~ 2;
02:40 camelia rakudo-moar 1dbf5f589: OUTPUT: «True␤»
02:40 piojo m: say ('a' => 'b') ~~ ('a' => 'b')
02:40 camelia rakudo-moar 1dbf5f589: OUTPUT: «True␤»
02:41 geekosaur m: my @pairs = [('a' => 'b'),]; say so ('a' => 'b') ~~ @pairs.any;
02:41 camelia rakudo-moar 1dbf5f589: OUTPUT: «True␤»
02:41 geekosaur ~~ is not symmetrical
02:42 piojo geekosaur: But I thought a junction would be collapsed and be evaluated as its elements
02:56 piojo err, expanded
02:56 geekosaur I don't know off the top of my head what Pair.ACCEPTS does, but it's apparently not what you think it should
02:56 * piojo looks up .ACCEPTS
02:56 geekosaur more to the point here is that a ~~ b induces a closure, aliases $_ to a, and invokes b.ACCEPTS($_). ACCEPTS may be special for various types
02:57 ilbot3 joined #perl6
02:57 Topic for #perl6 is now »ö« Welcome to Perl 6! | https://perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:,  or /msg camelia p6: ... | irclog: http://irc.perl6.org or http://colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend!
03:11 piojo1 joined #perl6
03:14 piojo joined #perl6
03:28 poohman joined #perl6
03:41 Sgeo joined #perl6
03:56 Cabanossi joined #perl6
04:00 TEttinger joined #perl6
04:08 jeromelanteri joined #perl6
04:10 Cabanossi joined #perl6
04:24 buggable New CPAN upload: PDF-Font-0.1.2.tar.gz by WARRINGD https://cpan.metacpan.org/authors/id/W/WA/WARRINGD/Perl6/PDF-Font-0.1.2.tar.gz
04:40 kyan joined #perl6
04:44 Morfent joined #perl6
05:12 committable6 joined #perl6
05:20 wamba joined #perl6
05:22 itaipu joined #perl6
05:23 poohman_ joined #perl6
05:54 poohman joined #perl6
05:59 poohman joined #perl6
06:00 poohman joined #perl6
06:01 poohman joined #perl6
06:02 poohman joined #perl6
06:02 poohman joined #perl6
06:03 poohman joined #perl6
06:04 poohman joined #perl6
06:04 poohman joined #perl6
06:04 releasable6 joined #perl6
06:05 poohman joined #perl6
06:06 poohman joined #perl6
06:06 poohman joined #perl6
06:08 poohman joined #perl6
06:08 poohman joined #perl6
06:09 poohman joined #perl6
06:09 poohman joined #perl6
06:10 poohman joined #perl6
06:11 poohman joined #perl6
06:12 poohman joined #perl6
06:13 poohman joined #perl6
06:13 poohman joined #perl6
06:14 poohman joined #perl6
06:15 poohman joined #perl6
06:16 poohman joined #perl6
06:16 poohman joined #perl6
06:17 poohman joined #perl6
06:18 poohman joined #perl6
06:18 poohman joined #perl6
06:19 poohman joined #perl6
06:20 poohman joined #perl6
06:21 poohman joined #perl6
06:21 poohman joined #perl6
06:22 poohman joined #perl6
06:23 poohman joined #perl6
06:23 poohman joined #perl6
06:23 poohman joined #perl6
06:24 poohman joined #perl6
06:25 poohman joined #perl6
06:25 poohman joined #perl6
06:26 poohman joined #perl6
06:27 poohman joined #perl6
06:27 poohman joined #perl6
06:27 xiaomiao joined #perl6
06:28 poohman joined #perl6
06:29 poohman joined #perl6
06:29 poohman joined #perl6
06:30 poohman joined #perl6
06:31 poohman joined #perl6
06:31 poohman joined #perl6
06:32 poohman joined #perl6
06:32 poohman joined #perl6
06:33 poohman joined #perl6
06:34 poohman joined #perl6
06:35 poohman joined #perl6
06:35 poohman joined #perl6
06:36 poohman joined #perl6
06:36 poohman joined #perl6
06:37 poohman joined #perl6
06:55 domidumont joined #perl6
06:57 xinming joined #perl6
07:01 domidumont joined #perl6
07:07 jkva_ joined #perl6
07:07 peteretep joined #perl6
07:08 kent\n joined #perl6
07:08 plicease joined #perl6
07:12 leedo joined #perl6
07:12 jsimonet joined #perl6
07:17 john51 joined #perl6
07:25 darutoko joined #perl6
07:25 Cabanossi joined #perl6
07:35 reportable6 joined #perl6
07:43 wamba joined #perl6
07:45 giraffe joined #perl6
07:52 ChoHag joined #perl6
07:54 timotimo joined #perl6
08:02 sena_kun joined #perl6
08:10 Cabanossi joined #perl6
08:12 geospeck joined #perl6
08:28 |oLa| joined #perl6
08:28 konsolebox joined #perl6
08:33 ChoHag_ joined #perl6
08:36 sena_kun joined #perl6
08:43 sena_kun joined #perl6
08:57 moritz jnthn: just a quick reminder that your advent post is due tomorrow 00:00 UTC :-)
08:58 lookatme :)
08:58 moritz (should the schedule be a problem, there's still room for swapping things around)
09:00 moritz days 10, 11, 12, 14 are already scheduled... I don't think we ever had such exemplary pre-lineup :-)
09:01 moritz (I mean in the previous years; it's been great all around this year)
09:06 rodarmor joined #perl6
09:08 traxex joined #perl6
09:12 masak pre-lineup++
09:18 tadzik joined #perl6
09:20 parv joined #perl6
09:21 zakharyas joined #perl6
09:26 zakharyas joined #perl6
09:45 llfourn joined #perl6
09:47 wamba[m] joined #perl6
09:47 ilmari[m] joined #perl6
09:47 Matthew[m] joined #perl6
09:47 CIAvash[m] joined #perl6
09:47 mack[m] joined #perl6
09:47 AlexDaniel` joined #perl6
09:47 M-Illandan joined #perl6
09:47 wictory[m] joined #perl6
09:47 tyil[m] joined #perl6
09:47 unclechu joined #perl6
09:47 Garland_g[m] joined #perl6
09:47 mienaikage joined #perl6
09:47 xui_nya[m] joined #perl6
09:53 domidumont joined #perl6
09:57 cdg joined #perl6
09:59 rindolf joined #perl6
10:03 Morfent joined #perl6
10:06 zakharyas joined #perl6
10:10 Cabanossi joined #perl6
10:10 mscha joined #perl6
10:11 mscha m: say infix:<==>(3,3); say infix:<==>(2,4)
10:11 camelia rakudo-moar 1dbf5f589: OUTPUT: «True␤False␤»
10:12 mscha This works, but what do I do if I have $oper = '=='?  infix:<$oper> and infix:($oper) don't work.
10:21 eliasr joined #perl6
10:22 domidumont joined #perl6
10:22 jnthn m: my $op = "+"; say ::("&infix:<$op>")(1, 41)
10:22 camelia rakudo-moar 1dbf5f589: OUTPUT: «42␤»
10:24 mscha jnth: thanks, perfect!
10:24 mscha jnthn: thanks, perfect!
10:25 virtualsue joined #perl6
10:26 virtualsue left #perl6
10:28 konsolebox joined #perl6
10:28 mscha m: my $op = '!='; say ::("&infix:<$op>")(1, 41);
10:28 camelia rakudo-moar 1dbf5f589: OUTPUT: «True␤»
10:28 mscha m: my $op = '>='; say ::("&infix:<$op>")(1, 41); # Why does this not work?
10:28 camelia rakudo-moar 1dbf5f589: OUTPUT: «No such symbol '&infix:<>=>'␤  in block <unit> at <tmp> line 1␤␤»
10:32 mscha m: my $op = '>='; say ::("&infix:«$op»")(1, 41);
10:32 camelia rakudo-moar 1dbf5f589: OUTPUT: «Use of uninitialized value $op of type Any in string context.␤Methods .^name, .perl, .gist, or .say can be used to stringify it to something meaningful.␤False␤  in code  at <tmp> line 1␤»
10:32 mscha Huh?
10:33 domidumont joined #perl6
10:36 konsolebox joined #perl6
10:44 Zoffix joined #perl6
10:44 Zoffix m: my $op = ">="; say ::("\&infix:«$op»")(1, 41);
10:44 camelia rakudo-moar 1dbf5f589: OUTPUT: «False␤»
10:48 sjn o/
10:48 tbrowder sjn: \o
10:50 sjn Quick question.... Does the following statement ring true for the Perl 6 programming language? -- "If you have to bend over backwards to do something in Perl 6, then you're probably doing the wrong thing."
10:50 sjn s/the wrong thing/something wrong/
10:51 mscha Thanks, Zoffix.  Now all I got to deal with is infix:<==> vs. infix:«>=».
10:54 Zoffix m: for "==", ">=" -> $op { my &op = &::("infix:<$op>") // &::("infix:«$op»") // &::("infix:<$op.subst(/<?before <[<>]>>/, "\\", :g)>"); say op 1, 41 }
10:54 camelia rakudo-moar 1dbf5f589: OUTPUT: «False␤False␤»
10:54 Zoffix m: for "==", ">=" -> $op { my &op = &::("infix:<$op>") // &::("infix:«$op»") // &::("infix:<$op.subst(/<?before <[<>]>>/, "\\", :g)>"); say op 42, 41 }
10:54 camelia rakudo-moar 1dbf5f589: OUTPUT: «False␤True␤»
10:55 Zoffix So how come ::("\&infix:«$op»") needs a backslash but ::("&infix:<$op>") doesn't?
10:56 Zoffix Looking at ASTs, the «» version got this stuff up in it, but why does the backslashing make or not make it run? https://gist.github.com/zoffixznet/0dec3a865030560252850595aee3ad89
10:58 wander joined #perl6
10:58 Zoffix m: my $w = BEGIN $*W.WHAT; my $op = '=='; dd $w.canonicalize_pair: 'infix:', $op
10:58 camelia rakudo-moar 1dbf5f589: OUTPUT: «":infix:<==>"␤»
10:58 Zoffix m: my $w = BEGIN $*W.WHAT; my $op = '>='; dd $w.canonicalize_pair: 'infix:', $op
10:58 camelia rakudo-moar 1dbf5f589: OUTPUT: «":infix:«>=»"␤»
10:58 wander \0
10:59 Zoffix mscha: ^ unsupported and evil method, but I think the other one with the .subst stuff is just as fragile
10:59 Zoffix oh
10:59 cdg joined #perl6
10:59 Zoffix m: my $w = BEGIN $*W.WHAT; my $op = '>='; dd 'infix' ~ $w.canonicalize_pair: '', $op
10:59 camelia rakudo-moar 1dbf5f589: OUTPUT: «"infix:«>=»"␤»
10:59 Zoffix m: my $w = BEGIN $*W.WHAT; my $op = '=='; dd 'infix' ~ $w.canonicalize_pair: '', $op
10:59 camelia rakudo-moar 1dbf5f589: OUTPUT: «"infix:<==>"␤»
10:59 Zoffix This I meant
11:01 cdg joined #perl6
11:02 mscha m: for '==', '>=' -> $op { say (&::("infix:<$op>") // &::("infix:«$op»"))(5,3);
11:02 camelia rakudo-moar 1dbf5f589: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>␤Missing block␤at <tmp>:1␤------> 3fix:<$op>") // &::("infix:«$op»"))(5,3);7⏏5<EOL>␤»
11:03 mscha m: for '==', '>=' -> $op { say (&::("infix:<$op>") // &::("infix:«$op»"))(5,3); }
11:03 camelia rakudo-moar 1dbf5f589: OUTPUT: «False␤True␤»
11:03 mscha Thanks for the tips, Zoffix!
11:03 mattp_ joined #perl6
11:07 mscha Used it for this: https://www.reddit.com/r/adventofcode/comments/7icnff/2017_day_8_solutions/dqy25k2/
11:07 cdg joined #perl6
11:08 wamba joined #perl6
11:10 Cabanossi joined #perl6
11:10 Zoffix left #perl6
11:15 araraloren joined #perl6
11:16 araraloren o/
11:16 tbrowder \o
11:17 masak m: my &eval = &EVAL; for q[==], q[>=] -> $op { say eval "5 {$op} 3" }
11:17 camelia rakudo-moar 1dbf5f589: OUTPUT: «False␤True␤»
11:17 masak mscha: ^
11:18 tbrowder anyone here know about gen of docs.perl6.org?
11:18 konsolebox joined #perl6
11:21 tbrowder i see a bad table in language/regexes.pod6 that should be rendering properly after the recent pod table fix
11:23 traxex_ joined #perl6
11:24 moritz what does that need? a newer version of Pod::To::HTML?
11:24 jeromelanteri joined #perl6
11:26 tbrowder i don’t think it does, but i looked at it and don’t see any special handling. however, the visible escape chars are suspicious. shouldn’t it be using latest master rakudo?
11:28 sjn tbrowder: docs are in git@github.com:perl6/doc.git , right?
11:28 traxex joined #perl6
11:28 tbrowder yes
11:29 Zoffix joined #perl6
11:30 wander tbrowder: IIRC need a explicit version bump
11:30 sjn tbrowder: which line in doc/Language/regexes.pod6 has suspicious escape chars?
11:30 Zoffix tbrowder: it uses latest rakudo for *travis testing*. For builds, it uses whatever is built in /home/rakudobrew on hack.
11:30 Zoffix Guess I got time to kick off a build
11:31 mscha masak: yeah, but eval is evil.  ;-)
11:31 konsolebox joined #perl6
11:31 tbrowder hm, so it prob doesn’t have latest, that would explain it
11:31 Zoffix It's using 2017.10
11:32 tbrowder that should fix it unless my fix was bad
11:32 Zoffix tbrowder: while you're here... there's still a missing roast file when `make spectest` is run
11:32 tbrowder whoa, that’s pretty old
11:33 Zoffix Not really. Latest stable user release.
11:33 traxex joined #perl6
11:33 tbrowder yeah, awating samcv. i could merge it but that wouldn’t be right.
11:34 tbrowder i commented on her question in the roast PR #361
11:35 masak mscha: I take your knee-jerk reaction against `eval` and call it :P
11:36 masak mscha: it's only actually *dangerous* if (say) the user was allowed to type in what $op should be. but that's not so in the above code, so it's fine.
11:36 Zoffix .oO( famous last words... )
11:37 tbrowder so maybe when 2017.12 comes out it will render properly
11:37 masak I don't get it how we ended up in a situation where people think that because there are injection attacks possible with `eval`, it shouldn't ever be used, even when the resulting code is both shorter and easier to read.
11:38 Zoffix masak: easy: the $code in "not so in the above code" later gets changed, creating an exploit that causes $n million of accounts to get hacked. Your hack to avoid using the dedicated "I know what I'm doing" method makes the issue even more pernicious, since the programmer can't even easily grep for evil
11:40 masak Zoffix: I'm not actually in disagreement with you, just so you know :)
11:40 masak I also wouldn't use these techniques in production
11:40 masak and yes, that distinction is important
11:41 masak my beef is that I feel the warnings against `eval` have spread to situations where it would be completely fine. you had to invent a production-like context where the program was changed further beyond its original purpose for `eval` to become an actual problem.
11:41 masak in *my* hypothetical scenario, the code was a 10-minute throwaway thing, and it was never changed later, and no problem arose
11:42 konsolebox joined #perl6
11:42 masak and if your objection then is "but we shouldn't teach techniques which might have a downside in some contexts", then I'd disagree
11:43 wamba joined #perl6
11:43 masak I think we should spend *more* effort on distinguishing the contexts in which techniques apply, not less
11:43 mahafyi joined #perl6
11:45 mscha masak, Zoffix: I agree with you both.  In my case, the operator does come from “user” input, but it's parsed by a grammar that only accepts the 6 basic numeric comparison operators; so it is safe, in practice.  But better safe than sorry, so why use it if there's an alternative?
11:45 Ven`` joined #perl6
11:46 Zoffix masak: in my *actual* scenario, I had no idea where the code were to be used or how many more people would find it in the logs and use it elsewhere, or how many more people would edit the programs using that code later on, so I provided a version that isn't exploitable. I don't understand what purpose it serves to use a hack instead of `use MONKEY-SEE-NO-EVAL`, regardless of contexts
11:47 traxex_ joined #perl6
11:47 itaipu joined #perl6
11:47 masak m: my %ops = { "==" => &[==], ">=" => &[>=] }; for %ops.kv -> $k, &op { say "3 $k 5: { &op(3, 5) }" }
11:47 camelia rakudo-moar 1dbf5f589: OUTPUT: «Potential difficulties:␤    Useless use of hash composer on right side of hash assignment; did you mean := instead?␤    at <tmp>:1␤    ------> 3 %ops = { "==" => &[==], ">=" => &[>=] }7⏏5; for %ops.kv -> $k, &op { say "3 $k 5: ␤3 >= 5: F…»
11:47 masak m: my %ops = "==" => &[==], ">=" => &[>=]; for %ops.kv -> $k, &op { say "3 $k 5: { &op(3, 5) }" }
11:47 camelia rakudo-moar 1dbf5f589: OUTPUT: «3 >= 5: False␤3 == 5: False␤»
11:47 masak heh :)
11:47 Zoffix masak: the problem with your context excuse is the source of the op and the place where the op is used are in different locations so the person editing the way the op is obtained might not even be aware it's being evaled
11:47 masak mscha: anyway, something like the above (after debugging) oughta work
11:48 masak lunch &
11:49 mscha I'm sticking with this one:
11:49 mscha sub oper($op) returns Code
11:49 mscha {
11:49 mscha # Comparison operators can be infix:<==> or infix:«<=».  Find either.
11:49 mscha return &::("infix:<$op>") // &::("infix:«$op»")
11:49 mscha }
11:49 Geth joined #perl6
11:49 synopsebot joined #perl6
11:50 Geth ¦ doc: b2d61952b6 | (Zoffix Znet)++ (committed using GitHub Web editor) | util/trigger-rebuild.txt
11:50 Geth ¦ doc: rebuild with newer rakudo
11:50 Geth ¦ doc: review: https://github.com/perl6/doc/commit/b2d61952b6
11:50 Zoffix tbrowder: ^ should use latest now
11:50 Zoffix left #perl6
11:51 tbrowder thnx, fingers crossed!
11:51 ChoHag joined #perl6
11:52 tbrowder can you look at roast PR #361 and see if i’m off base?
11:59 traxex joined #perl6
12:01 scimon joined #perl6
12:10 traxex_ joined #perl6
12:13 scimon Last day of my holiday. Writing my blog post.
12:13 buggable New CPAN upload: Game-Sudoku-0.1.1.tar.gz by SCIMON https://cpan.metacpan.org/authors/id/S/SC/SCIMON/Perl6/Game-Sudoku-0.1.1.tar.gz
12:15 DrForr And uploading your module, it looks like :)
12:15 traxex joined #perl6
12:20 traxex_ joined #perl6
12:25 kaare_ joined #perl6
12:25 traxex joined #perl6
12:30 traxex_ joined #perl6
12:32 konsolebox joined #perl6
12:33 kaare__ joined #perl6
12:46 traxex joined #perl6
12:46 scimon I made a small change to it this morning. More junctions :)
12:46 cdg joined #perl6
12:47 scimon (Been AFK, Mattress delivery. I am not in the good books)
12:47 tbrowder huzzah, doc/language/regexes bad table now looks correct!
12:47 tbrowder Zoffix: thnx
12:48 wamba joined #perl6
12:51 traxex_ joined #perl6
12:55 Cabanossi joined #perl6
12:56 traxex joined #perl6
13:00 konsolebox joined #perl6
13:00 wamba joined #perl6
13:36 wamba joined #perl6
13:46 cdg joined #perl6
14:01 mson joined #perl6
14:01 mcmillhj joined #perl6
14:03 Ven`` joined #perl6
14:09 zakharyas joined #perl6
14:10 tbrowder can anyone show me the “canonical” left/right interpolating and noninterpolating character pairs? i believe the answer is (in ascii form) “<<>>” and “<>”, respectively.
14:10 comborico1611 joined #perl6
14:11 Phlogistique ä×
14:11 Phlogistique no
14:11 Phlogistique sorry
14:11 Phlogistique «»
14:12 tbrowder yes, those are the preferred form for <<>> but my devices make it difficult to enter them, thnx
14:18 DrForr Compose-key combo FTW.
14:18 jdoege joined #perl6
14:18 DrForr I'm a touch surprised that my keyboard at work doesn't have those on them.
14:19 DrForr I've got degree, {section}, and what the hell are # and @ doing down by x and v, come to think of it?
14:25 Altreus :s
14:25 Altreus what sort of backward keyboard do you even have
14:27 khw joined #perl6
14:28 huf could be hungarian
14:28 huf altgr-v is @, altgr-x is #
14:28 huf so probably some kind of "also ran" country layout
14:31 DrForr Close enough; it's Czech. The number of accented letters is impressive.
14:31 huf there we go :)
14:32 preaction joined #perl6
14:34 mahafyi joined #perl6
14:39 comborico1611 Jan Hus was a brilliant man.
14:41 preaction joined #perl6
14:44 preaction joined #perl6
14:53 domidumont joined #perl6
15:00 ChoHag joined #perl6
15:05 domidumont joined #perl6
15:10 Cabanossi joined #perl6
15:24 cdg joined #perl6
15:40 wamba joined #perl6
16:04 perlpilot joined #perl6
16:10 Cabanossi joined #perl6
16:12 ChoHag joined #perl6
16:17 troys joined #perl6
16:22 Ven`` joined #perl6
16:22 philomath_ joined #perl6
16:55 luiz_lha joined #perl6
16:56 ldeandrade_ joined #perl6
16:58 ldeandrade_ joined #perl6
17:01 luiz_lha1 joined #perl6
17:06 ChoHag joined #perl6
17:17 domidumont joined #perl6
17:23 domidumont1 joined #perl6
17:23 timeless joined #perl6
17:25 Cabanossi joined #perl6
17:26 mcmillhj joined #perl6
17:36 itaipu joined #perl6
17:36 epony joined #perl6
17:42 mktoho joined #perl6
17:43 mktoho Hello!
17:43 scimon Hi
17:47 AlexDaniel joined #perl6
17:48 evalable6 joined #perl6
17:48 comborico1611 Greetings
17:48 zakharyas joined #perl6
17:55 cdg joined #perl6
18:04 buggable New CPAN upload: Game-Sudoku-0.2.0.tar.gz by SCIMON https://cpan.metacpan.org/authors/id/S/SC/SCIMON/Perl6/Game-Sudoku-0.2.0.tar.gz
18:04 scimon So while writing all the things I've tweaked a few things.
18:04 scimon Hiy just under 2000 words. Now adding links.
18:14 Herby_ \o/
18:17 scimon Does anyone know what time we're publishing the Advent calender at? 00:00 GMT?
18:21 scimon (I've set mine up for that but we can change it if required)
18:21 [Coke] That seems fine, but I doubt there's a strict schedule
18:21 marcusramberg joined #perl6
18:22 scimon Righto.
18:23 scimon Well... I'll probably give it a re-read over the weekend. Quite happy with it. I controlled my urge to write it as a conversation between elves. Just.
18:23 scimon Now I need to do dishes.
18:25 Cabanossi joined #perl6
18:28 kerframil joined #perl6
18:37 mahafyi joined #perl6
18:38 itaipu joined #perl6
18:45 DrForr WRT Pod::To::* is there a test suite with decent coverage I can gank?
18:54 DrForr Come to think of it one would suppose that the compiler would have one...
18:57 * TimToady notes that "use MONKEY;" is considerably shorter and easier to type than "my &eval = &EVAL;", and doesn't hide the EVALs in lower case, or hide the MONKEY that the boss is gonna be grepping for
18:57 TimToady as for the argument that it's the wrong default, well, that's the wrong argument :)
19:11 Cabanossi joined #perl6
19:12 cdg joined #perl6
19:36 unicodable6 joined #perl6
19:38 [Coke] m: say i**i
19:38 camelia rakudo-moar 1dbf5f589: OUTPUT: «0.207879576350762+0i␤»
19:43 geospeck joined #perl6
19:48 [Coke] m: use Test; is-approx(i**i,e**(-π/2))
19:48 camelia rakudo-moar 1dbf5f589: OUTPUT: «ok 1 - ␤»
20:09 Thrush joined #perl6
20:10 Thrush I have a question:  Does Perl6 support tail-call-recursion optimization?  By googling, I found some pages that say it's supposed to, but those pages are from 2002.
20:12 AlexDaniel Thrush: still no
20:12 jnthn Thrush: No
20:13 Thrush Ah, okay, thanks.  Any plans for the future?
20:14 mahafyi_ joined #perl6
20:14 Thrush (Any plans to make Perl 6 support tail-call-recursion optimization in the future, that is.)
20:16 zakharyas joined #perl6
20:18 comborico1611 joined #perl6
20:21 dmaestro joined #perl6
20:23 jnthn It's been discussed a bit; the challenge is in working out when we can apply the optimization, and making that predictable enough that people can rely on it.
20:24 jnthn I don't know of anyone who has plans to work on it in the immediate future, but it certainly could happen some day.
20:24 dmaestro I expected this to work:
20:24 dmaestro m: "\c[GREEK SMALL LETTER ALPHA]" ~~ /<:L&:Script<Greek>>/
20:24 camelia rakudo-moar 1dbf5f589: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>␤Unable to parse expression in metachar:sym<assert>; couldn't find final '>' (corresponding starter was at line 1)␤at <tmp>:1␤------> 3"\c[GREEK SMALL LETTER ALPHA]" ~~ /<:L7⏏5&:Script<Greek>>/…»
20:24 dmaestro just like:
20:25 dmaestro m: "\c[GREEK SMALL LETTER ALPHA]" ~~ /<:L+:Script<Greek>>/
20:25 camelia rakudo-moar 1dbf5f589: ( no output )
20:25 dmaestro m: say "\c[GREEK SMALL LETTER ALPHA]" ~~ /<:L+:Script<Greek>>/
20:25 camelia rakudo-moar 1dbf5f589: OUTPUT: «「α」␤»
20:26 dmaestro Is the (documented) '&' set intersection operator not yet implemented? Or broken?
20:26 dmaestro m: say "\c[GREEK SMALL LETTER ALPHA]" ~~ /<:Script<Greek>>/
20:26 camelia rakudo-moar 1dbf5f589: OUTPUT: «「α」␤»
20:26 jnthn Hm, it's documented? I'm pretty sure it's not implemented, but:
20:26 jnthn m: say "\c[GREEK SMALL LETTER ALPHA]" ~~ /<:L> & <:Script<Greek>>/
20:26 camelia rakudo-moar 1dbf5f589: OUTPUT: «「α」␤»
20:26 jnthn Can be done like that
20:27 dmaestro Thanks, that is usable at least.
20:28 jnthn Given we an just compile the other form into what I showed, it's probably a fairly soft feature :)
20:28 jnthn *can
20:28 dmaestro yes, documented in Regexes / Unicode Properties / "Categories can be used together, with an infix operator: ..."
20:29 Thrush Thanks for the info, jnthn.
20:29 jnthn OK, could be worth a docs issue, since that site should just include stuff that's done, not stuff that's hoped for some day :)
20:29 dmaestro Right :-)
20:31 jnthn From backlog here: if you are doing `my &eval = &EVAL`, you're at risk of the compiler disappearing some of the symbols at the point you use `eval`. The uppercase isn't simply a discouragement, it's a hint that the language treats this name specially.
20:32 jnthn And that optimization *will* get more aggressive in the future.
20:33 benchable6 joined #perl6
20:33 jnthn In summary, `my &eval = &EVAL; { my $x = 42; eval 'say $x' }` may work today, but I'd be surprised if it still worked in a year's time.
20:34 El_Che slap a 6.c and don't worry about it
20:35 geekosaur mm, because it's a preannounced thing, versions don't help much
20:35 El_Che let's say you'll need a pre 6.d release to run it :)
20:36 geekosaur hypothetically that optimization could get committed in the next 5 minutes without requiring a version break
20:36 geekosaur (*very* hypothetically...)
20:36 El_Che If you use monkey in capitals in your code, you're not in the place to make a formal complaint
20:36 DrForr Hrm. I've got at least 2 requests for Pod::TreeWalker, which likely means that given autarch's state I should probably ask to take it over which means I should think very carefully about whether I should ask...
20:36 jnthn Well, I sure won't be committing it in the next 5 minutes, 'cus I'm already behind with witing my advent article. :P
20:37 jnthn Talking of which...guess I should hide this IRC window :)
20:37 s0me0n3-unkn0wn joined #perl6
20:37 mspo so is this christmas going to be perl7 release?
20:38 El_Che mspo: don't troll
20:38 AlexDaniel .oO( 7lang release )
20:38 mspo El_Che: if TimToady said it then it would be a great troll
20:39 mspo what's the changelog on the language spec look like for the last 12 months?
20:40 AlexDaniel not much has changed
20:40 AlexDaniel but a lot of *new* stuff was added on top
20:40 Zoffix joined #perl6
20:41 Zoffix mspo: perl7 has been out for ages, bruh: https://github.com/perl7/perl7/
20:41 mspo Zoffix: I actually forgot about that one
20:43 Zoffix mspo: changelog is gonna be pretty huge. There are 2707 new commits that define 6.d
20:43 mspo AlexDaniel: isn't the implementation changing some parts of the spec?
20:44 mspo Zoffix: will 6.d be "final" on xmas?
20:44 AlexDaniel mspo: very rarely, only if the spec was really wrong in the first place
20:44 Zoffix mspo: I'd say "refines" is more appropriate term. There weren't any real changes to 6.c language, other than error fixes. 6.d merely defines language behaviour for parts that previously were undefined.
20:45 Zoffix mspo: far from it. Spring 2018, I hope. There's currently a blocker that kinda stalls some ambitious people to get 6.d outta the door: R#1289
20:45 synopsebot R#1289 [open]: https://github.com/rakudo/rakudo/issues/1289 [6.d BLOCKER] Implement a Way to Know Caller's Language
20:46 Zoffix Actually, there *were* some big changes, like `await` in 6.d being non-blocking. But, I mean, posed against those 2700 commits, it's a drop in a bucket
20:47 mspo Zoffix: language spec is waiting on the implementation?
20:47 Phi_mb joined #perl6
20:48 Zoffix Also, many 6.d things that are meant to be for 6.d only are already done in 6.c, 'cause we simply didn't have a mechanism to place them in 6.d at that time, or chose to put in 6.c 'cause the 6.c spec was vague enough to allow it.
20:48 Zoffix mspo: something like that. It's a bit tough to make a proper release of a spec if you can't even guarantee it works.
20:49 Zoffix The Whirpool and what not.
20:50 Zoffix And we had fudges in 6.c for unimplemented features/bugs and in the end they were just annoyances or features we ended up nixing in the end so 6.d release won't have fudges.
20:50 mspo okay
20:50 mspo anyway too bad about not being on christmas
20:50 mspo would have been a cool tradition
20:50 AlexDaniel … not :)
20:51 Zoffix mspo: nah, it's good. I'd hate for us to have dates to follow. I rather we Release When It's Ready. 2015's Christmas release was a disaster and I'd argue large part of that was rushing to meat a deadline.
20:51 AlexDaniel arbitrary deadlines are not cool.
20:51 * Zoffix relocates
20:51 Zoffix left #perl6
20:51 [Coke] Disaster is a strong word, but it wasn't perfect, for sure.
20:51 AlexDaniel .oO(meat the deadline, fish the spec)
20:52 mspo it added a nice bit of marketing
20:53 geekosaur not quite a disaster but it was definitely Bad Idea
20:55 mspo I disagree
20:56 geekosaur the whole CUR thing was a cluster____
20:57 Zoffix joined #perl6
20:58 Zoffix I didn't mean just the event itself, but also the state of the spec at the time. There were huge swaths of the language entirely undefined.
20:59 rindolf joined #perl6
20:59 Zoffix It should've cooked for a couple years more, but overall I thinl it was a good decision to realease then. To solidify, to start the stability kindset
21:00 Zoffix And 6.d is that, 2-year later, medium-rare cooked version to me :) so I'm glad to let it simmer to perfect flavour
21:00 geekosaur I'm actually not bothered much bythat part. the spec was always explicit about being forward-looking and knowing some of its plans were at best speculative
21:01 mspo geekosaur: yes
21:01 mspo Zoffix: didn't you come in after the christmas thing?
21:02 geekosaur no
21:03 Zoffix mspo: yeah, right around it. Though I was an alcoholic back then and I think I "came in" only in October 2016 :)
21:03 Zoffix previous times are hazy in memor
21:03 Zoffix y
21:03 geekosaur thoguht you were around a little before glr. but I also recall the alcoholic bit
21:04 geekosaur (glr was september-ish iirc?)
21:04 Zoffix Ah yeah, I think I came around glr. but was on and off
21:05 masak ah, you young'uns :)
21:05 mspo Zoffix: my point is that the christmas thing had a little marketing style behind it
21:05 mspo Zoffix: which increased the energy enough to get one or two more people looking; also nice to do a big release over a break for most people
21:05 mspo idk just like my opinion man
21:06 mspo Zoffix: you should write the get-clean-with-perl6 guide
21:08 * masak .oO( with a language like that, who needs alcohol? )
21:08 * masak hides
21:08 Zoffix :)
21:08 geekosaur .oO ( new name meme: THCamelia )
21:09 geekosaur bonus "tea"/"T" joke
21:10 El_Che Zoffix: it's a good story. For when Perl6 takes over the world :)
21:10 Zoffix hehe
21:12 Zoffix I even remember what changed my mind. The guts of &val. To drunker's mind it looked complex and I was contemplating writing an article about it until I looked at it after a few days away from drinking. It looked so simple and it kinda made me realize just how much booze affects your working memory, even for days after you drank
21:12 mspo I'd rather use the drinker's language
21:13 Zoffix ZofBot: weekend is here \o/
21:13 ZofBot Zoffix, so nothing for you then?
21:14 Zoffix ZofBot: gonna be learning C
21:14 ZofBot Zoffix, Sex attraction is so purely a question of the taste of the individual that the wise man never argues about it
21:14 geekosaur heh
21:14 geekosaur bot's getting snarky, I see
21:14 * Zoffix &
21:14 Zoffix left #perl6
21:15 mspo http://www.perlmonks.org/index.pl?node_id=466656
21:15 geekosaur also learning C might be enough to drive Zoffix back to the bottle...
21:16 mspo learning C doesn't take long; it's really small
21:16 mspo *using* it on the other hand..
21:16 geekosaur that's kinda the point, yes
21:17 geekosaur easy right up until you start realizing just how nasty things like its conflation of pointers and arrays gets
21:17 geekosaur *get
21:17 mspo there are 32 keywords in C :)
21:17 El_Che I invented me a few project to refresh C. It was painful when you're writing stuff for hours that would take minutes in a higher language
21:17 geekosaur one of which is completely useless (at least until C++ repurposed it)
21:18 geekosaur ('auto' which exists solely for pedants who want the full set of storage classes)
21:19 geekosaur (or those still writing pseudo-BCPL in C, which is even worse)
21:20 jnthn Ah, BCPL. :)
21:20 jnthn I never wrote it, but got a couple of lectures on it at uni :)
21:21 jnthn iirc, it...had one type, which was int32 :)
21:21 geekosaur yep
21:22 geekosaur which is why C got 'auto'; since you don't have typed variables, you declare a stack var with e,g. 'auto a;'
21:22 jnthn Oh! That bit I didn't know :)
21:23 geekosaur well, you didn;t do that in BCPL; 'auto' was actually intended for automated BCPL-to-C translators
21:23 geekosaur BCPL not onlyh didn;t have types, it was also weak on the idea of declarations in general :)
21:24 geekosaur but C made you declare things, so translators had to insert something and didn;t have types. thus 'auto'
21:25 ChoHag joined #perl6
21:28 cdg joined #perl6
21:29 dylanwh was bcpl int32 or int16? I thought it was 'word' and at the time 'word' == 16 bit
21:29 kitsunenokenja joined #perl6
21:29 geekosaur at the time 'word' depended on the architecture
21:30 geekosaur and BCPL went along woith that, so whether it was int16 or int32 depended on what kind of machine you were on
21:32 * El_Che is enjoying the conversation
21:35 geekosaur BCPL was kinda transitional because it was one of the first practical "portable" system programming languages (unlike something like DEC's BLISS family which had common features but different specifics on every processor line)
21:35 geekosaur it also indicates that nobody'd actually *thought* much about portability yet :)
21:36 geekosaur ...for all the portability gotchas C has, when introduced it was a massive improvement over the state of the art in portability
21:37 avalenn joined #perl6
21:39 masak lol, I blog'd: http://strangelyconsistent.org/blog/has-it-been-three-years
21:40 Cabanossi joined #perl6
21:46 moritz masak++
21:46 samcv .
21:46 yoleaux 11:23Z <tbrowder> samcv: i have answered your question at roast PR #361
21:46 itaylor57 joined #perl6
21:47 * dogbert17 remembers his old Amiga, part of the OS was written in BCPL if I remember correctly
21:48 samcv tbrowder: merged :)
21:48 dogbert17 https://en.wikipedia.org/wiki/AmigaDOS
21:49 samcv releasable6: status
21:49 releasable6 samcv, Next release in 7 days and ≈21 hours. No blockers. 0 out of 78 commits logged
21:49 releasable6 samcv, Details: https://gist.github.com/15798faad1ab913b98003e887ee5d125
21:54 tbrowder samcv: did my answer make sense? i’m not sure how i could use is-deeply on a table.
21:54 samcv yes it was fine, thanks
21:54 rindolf joined #perl6
21:56 tbrowder ok, thank you (hope you don’t mind the cat in the hat ref, been around grandkids too much to resist it)
21:56 samcv :)
21:59 itaylor57 joined #perl6
22:10 bisectable6 joined #perl6
22:15 greppable6 joined #perl6
22:15 squashable6 joined #perl6
22:23 rindolf joined #perl6
22:25 Cabanossi joined #perl6
22:30 wamba joined #perl6
22:47 setty1 joined #perl6
22:55 Cabanossi joined #perl6
23:26 cdg joined #perl6
23:28 jnthn Aww, the advent highlighter fails for me with "Error 422: 422 Unprocessable Entity"
23:38 ingy https://www.youtube.com/watch?v=_Ht4Ei3pdR8
23:39 ingy jnthn: they can't all be winners.
23:47 jnthn Pretty much exhausted my guesses at what could be wrong with it.
23:55 Cabanossi joined #perl6
23:58 jnthn ah, I musta had some old or busted version of a dependency somewhere
23:58 jnthn zef nuke and then installing it again worked

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

Perl 6 | Reference Documentation | Rakudo