Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2015-06-29

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:12 cognominal joined #perl6
00:26 atroxaper joined #perl6
00:50 ggoebel9 joined #perl6
00:55 AlexDaniel joined #perl6
01:05 ggoebel joined #perl6
01:32 vendethiel joined #perl6
01:37 tinyblak joined #perl6
01:39 cfa joined #perl6
01:39 tinyblak joined #perl6
02:06 noganex_ joined #perl6
02:09 aborazmeh joined #perl6
02:09 aborazmeh joined #perl6
02:12 geekosaur joined #perl6
02:20 cognominal joined #perl6
02:23 tinyblak joined #perl6
02:26 tinyblak_ joined #perl6
02:38 rmgk_ joined #perl6
03:04 cognominal .u 2384
03:04 yoleaux U+2384 COMPOSITION SYMBOL [So] (⎄)
03:04 geekosaur joined #perl6
03:06 kaare_ joined #perl6
03:10 spintronic1 joined #perl6
03:13 cognominal .u 096F
03:13 yoleaux U+096F DEVANAGARI DIGIT NINE [Nd] (९)
03:15 dalek rakudo-star-daily: e2022cd | coke++ | log/ (2 files):
03:15 dalek rakudo-star-daily: today (automated commit)
03:15 dalek rakudo-star-daily: review: https://github.com/coke/rakudo-star-daily/commit/e2022cddd6
03:15 dalek rakudo-star-daily: 3e95125 | coke++ | log/ (2 files):
03:15 dalek rakudo-star-daily: today (automated commit)
03:15 dalek rakudo-star-daily: review: https://github.com/coke/rakudo-star-daily/commit/3e951253b1
03:15 dalek perl6-roast-data: ae895fc | coke++ | / (9 files):
03:15 dalek perl6-roast-data: today (automated commit)
03:15 dalek perl6-roast-data: review: https://github.com/coke/perl6-roast-data/commit/ae895fc457
03:15 dalek perl6-roast-data: 3fc4a5d | coke++ | / (9 files):
03:15 dalek perl6-roast-data: today (automated commit)
03:15 dalek perl6-roast-data: review: https://github.com/coke/perl6-roast-data/commit/3fc4a5d26e
03:16 spintronic joined #perl6
03:31 atroxaper joined #perl6
03:40 atroxaper joined #perl6
03:50 laouji joined #perl6
03:57 laouji joined #perl6
04:03 tinyblak joined #perl6
05:08 geekosaur joined #perl6
05:18 zacts joined #perl6
05:19 atroxaper joined #perl6
05:38 davido_ joined #perl6
05:38 atroxaper joined #perl6
05:47 FROGGS joined #perl6
05:54 Akagi201 joined #perl6
05:59 FROGGS o/
05:59 yoleaux 28 Jun 2015 21:40Z <lizmat> FROGGS: looks like QX is severely broken on the JVM  :-(
05:59 FROGGS :o(
05:59 psch o/
05:59 FROGGS should be easy to fix though...
05:59 raydiak \o
05:59 FROGGS will look
06:06 laouji joined #perl6
06:06 profan joined #perl6
06:15 laouji joined #perl6
06:22 vendethiel joined #perl6
06:22 atroxaper Morning, #perl6 !
06:23 laouji joined #perl6
06:23 FROGGS morning atroxaper
06:24 atroxaper FROGGS: o/
06:25 gfldex joined #perl6
06:25 atroxaper Can I write methods chain and start call method each on the new line? Compiler says 'Bogus postfix'.
06:25 salva joined #perl6
06:26 atroxaper I wrote something like ' @list \n .grep() \n .map();'
06:26 psch you'd need an unspace
06:26 domidumont joined #perl6
06:26 RabidGravy joined #perl6
06:27 RabidGravy morning
06:27 psch m: my @l = ^4; @l\␤ .grep( * > 2 )\␤ .say # like this
06:27 camelia rakudo-moar 24236f: OUTPUT«3␤»
06:30 laouji joined #perl6
06:30 atroxaper psch: I do not have space at the ends of lines...
06:31 psch atroxaper: neither does my example.  the \ is in front of a unicode newline symbol, which camelia interprets as \n
06:31 FROGGS atroxaper: the newline is whitespace
06:32 atroxaper Oh... I see! Just escape \n character. Thanks.
06:32 tinyblak joined #perl6
06:33 psch atroxaper: no, escaping the \n itself isn'
06:33 psch t enough
06:33 psch atroxaper: you have to escape the first whitespace after the identifier
06:33 psch m: "foo" \␤ .say # doesn't work
06:33 camelia rakudo-moar 24236f: OUTPUT«5===SORRY!5=== Error while compiling /tmp/aSH6yW3FpA␤Confused␤at /tmp/aSH6yW3FpA:2␤------> 3"foo"7⏏5 \␤    expecting any of:␤        infix␤        infix stopper␤        statement end␤        statement modifier␤        statement …»
06:34 psch (but that's mostly a clarification and might not neccessarily apply in your current situation... :) )
06:34 atroxaper psch: Yeah! Exactly.
06:37 laouji joined #perl6
06:47 atroxaper joined #perl6
06:49 [Sno] joined #perl6
06:51 zakharyas joined #perl6
06:57 Ven joined #perl6
06:58 domidumont joined #perl6
07:00 domidumont joined #perl6
07:03 brrt joined #perl6
07:04 kan__ joined #perl6
07:04 vendethiel joined #perl6
07:05 psch BSD style license works with the artistic, doesn't it?
07:05 masak morning, #perl6
07:05 psch 'cause i just realized that might matter, because i'm using a framework under BSD to get this standalone jar stuff working
07:05 psch o/ masak
07:05 psch s/BSD/BSD style license/
07:05 psch +:1st
07:05 psch :l
07:06 psch (actually, not :1st but :2nd...)
07:06 psch anyway, yeah
07:06 masak psch: maybe one-way compatible? https://en.wikipedia.org/wiki/License_compatibility#Compatibility_of_FOSS_licenses
07:06 masak (I am decidedly not a lawyer) :)
07:09 psch ah, right, we have the GPL as fallback anyway, which is more restrictive than BSD so it should be fine i guess
07:10 RabidGravy There was a point that the Perl 5 source had BSD licensed code in it IIRC
07:12 kanl joined #perl6
07:12 grondilu m: say (my @ = <a b c d e f>.rotor(2)).perl;
07:12 camelia rakudo-moar 24236f: OUTPUT«["a", "b", "c", "d", "e", "f"]<>␤»
07:12 psch the german wikipedia entry for the artistic license calls it BSD-style itself
07:12 psch so i guess that means i'm good :)
07:13 grondilu m: say my @ = <a b c d e f>.rotor(2);
07:13 camelia rakudo-moar 24236f: OUTPUT«a b c d e f␤»
07:13 grondilu m: say <a b c d e f>.rotor(2);
07:13 camelia rakudo-moar 24236f: OUTPUT«a b c d e f␤»
07:13 grondilu m: say <a b c d e f>.rotor(2).perl;
07:13 camelia rakudo-moar 24236f: OUTPUT«(("a", "b"), ("c", "d"), ("e", "f"))␤»
07:14 grondilu I guess I need to use tree to prevent flattening or something?
07:14 grondilu m: say (my @ = <a b c d e f>.rotor(2).tree).perl;
07:14 camelia rakudo-moar 24236f: OUTPUT«[("a", "b"; "c", "d"; "e", "f").item]<>␤»
07:23 atroxaper We need cheatsheet about flattening I guess :)
07:30 darutoko joined #perl6
07:31 rurban joined #perl6
07:32 masak moritz++ # "since it's not optional, you might consider not making it an option" :P
07:33 kanl hi #perl6
07:33 * moritz bows
07:33 masak ahoy kanl
07:34 abraxxa joined #perl6
07:35 kanl i'm a newbie. started playing with perl6 just recently. i wrote a module with the help of whatever material i can find piecing together. but it seems to be leaking memory quite badly (by observing top while it's running). can anyone help take a look at it and tell me what i'm doing wrong?
07:35 kanl https://gist.github.com/anonymous/4071a06909f4df8cabb2
07:36 masak kanl: hey, nice first code :)
07:36 cdc joined #perl6
07:36 masak you're clearly not a newbie.
07:36 kanl thanks, i guess :p
07:37 kanl new to perl6, that is :)
07:37 masak line 10 contains a bug.
07:38 moritz method run( *%mayhem )
07:38 moritz I love it.
07:38 masak oh wait
07:38 atroxaper joined #perl6
07:38 masak line 10 better written `my $PS = %PS.kv.map: -> $k, $v { $v => $k };`
07:38 kanl attached also includes run output and valgrind output
07:38 brrt \o
07:39 pdcawley joined #perl6
07:39 masak kanl: I guess what confuses me about line 10 is that you're implicitly declaring it as an array :)
07:39 masak m: my $PS; $PS[0] = 42; say $PS.perl
07:39 camelia rakudo-moar 24236f: OUTPUT«[42]␤»
07:39 masak which works, but I don't think it's very clear.
07:39 kanl masak: i am trying to make a hash out of a enum array , so yes.
07:40 masak kanl: you end up making an array :0
07:40 masak :)
07:40 psch from an enum hash even
07:40 masak kind of proving my point
07:40 kanl err, sorry, array.
07:40 masak it's .[] for array access, and .{} or .<> for hash access
07:40 masak m: enum Foo <a b c>; say Foo.values
07:40 camelia rakudo-moar 24236f: OUTPUT«␤»
07:40 masak m: enum Foo <a b c>; say Foo.enums.values
07:40 camelia rakudo-moar 24236f: OUTPUT«0 2 1␤»
07:41 masak m: enum Foo <a b c>; say Foo.enums.invert.perl
07:41 camelia rakudo-moar 24236f: OUTPUT«(0 => "a", 2 => "c", 1 => "b")␤»
07:41 masak m: enum Foo <a b c>; say Foo.enums.keys
07:41 camelia rakudo-moar 24236f: OUTPUT«a c b␤»
07:41 masak m: enum Foo <a b c>; my @keys = Foo.enums.keys
07:41 camelia rakudo-moar 24236f: ( no output )
07:41 masak kanl: maybe do it like that?
07:41 masak m: enum Foo <a b c>; my @keys = Foo.enums.keys; say @keys.perl
07:41 camelia rakudo-moar 24236f: OUTPUT«["a", "c", "b"]<>␤»
07:41 masak heh, ergl.
07:42 kanl keys doesn't preserve order, does it?
07:42 masak m: enum Foo <a b c>; my @keys = Foo.enums.sort>>.key; say @keys.perl
07:42 camelia rakudo-moar 24236f: OUTPUT«["a", "b", "c"]<>␤»
07:42 masak there ya go.
07:42 ShimmerFairy joined #perl6
07:43 kanl masak: i want the array in a certain order, because i'm using it as a index map, and ps's output order depends on how your format it
07:43 kanl yes, i admit my style is crappy, but i think it does what i meant it to do :)
07:44 masak just giving friendly unrequited style advice ;)
07:44 kanl *nod*, appreciate it :)
07:44 laouji_ joined #perl6
07:44 g4 joined #perl6
07:45 psch oh pants
07:45 psch apparently i not only need a class loader that can load nested jars, but also a *boot* class loader that can do so
07:46 psch ...because we're loading the nqpruntime with Xbootclasspath
07:46 RabidGravy that valgrind output suggests something going wrong with the threading
07:47 kanl masak: it's meant to be a piece of system monitoring tool. it runs ok for a few iterations, and eventually craps out. as i observe top output, memory seems to be leaking at an alarming rate
07:49 cdc m: https://gist.github.com/anonymous/c6d54c302f4c4a63c21b
07:49 camelia rakudo-moar 24236f: OUTPUT«"4"␤"[2]"␤NaN␤NaP␤"\"+\""␤Bool::False␤Bool::True␤»
07:49 cdc Hello #perl6!  Please, could you explain me why the "export" trait is required on some multis ^
07:50 bjz joined #perl6
07:51 kanl RabitGravy: or that too, it isn't very stable.
07:51 kanl err, RabidGravy. sorry
07:51 masak kanl: we're very happy you supply this real-world example. we need things exactly like this to be able to polish Rakudo for the release.
07:52 masak kanl: I hope during the day one or more knowledgeable people will delve into why your program leaks. hopefully it's even an easy fix.
07:52 masak threading could be a culprit. so could shelling out to other processes.
07:53 Ven o/ #perl6!
07:53 masak ven ven ven! \o
07:54 kanl masak: glad i can help :) so it's not something i'm not supposed to by doing that caused whatever problem then? what should i do next, file a bug?
07:54 cdc Ven: https://gist.github.com/anonymous/c6d54c302f4c4a63c21b (I borrowed you some code :p)
07:54 Ven cdc: ah, nice :)
07:55 cdc Ven: but I don't understand why I have to add the "export" trait on some multis
07:56 Ven cdc: not sure. I'm getting segfaults on my own version
07:57 cdc Ven: with your version, I have «Cannot invoke this object (REPR: Uninstantiable, cs = 0)»
07:57 Ven yeah :(
07:57 RabidGravy kanl, the general approach is reduce the code to the absolute minimum required to reproduce the fault and report a bug
07:58 cdc Ven: I think it is due to the "add" function
07:58 Ven cdc: definitely is
07:58 cdc Ven: maybe it recurses because you don't change the type of the second argument.
07:59 Ven cdc: definitely.
07:59 Ven I'd argue that's still a bug in rakudo/moar :)
07:59 cdc Ven: oh, OK :)
08:00 dakkar joined #perl6
08:01 kanl RabidGravy: ok, i think i can do that. i can comment out a few commands, leaving with just one. i was able to reproduce "mem leak" with running only one command, e.g. df, but it's hard to describe the problem, because the valgrind output is not consistently pointing to thread instability.
08:02 kanl i.e. i'm not getting consistent failure each time :)
08:04 kanl i'd be glad to file a bug, just i'm not entirely sure what on ..
08:07 RabidGravy I think "this code leaks memory and eventually SEGVs" is enough :-) stick it on rt.perl.org (in the perl6 queue)
08:07 vendethiel joined #perl6
08:08 RabidGravy memory leaks are bad, segfaults are very bad
08:08 jnthn I suspect the EVAL may be the leak cause
08:09 kanl RabidGravy: ok, i'll do that, thanks. btw, i initally tried to implement it with Proc::Async, but i learned the hard way that stdout/stderr are not tapped at once in its entirity. so i'd have to piece together the output with a supply/channel, and that was a pita, so i gave up. also Proc::Async doesn't seem to be very stable :p
08:09 g4 joined #perl6
08:09 g4 joined #perl6
08:10 jnthn kanl: What version of Rakudo are you running? A bunch of stability issues got cleared up in the last month or so...
08:10 RabidGravy my experience of Proc::Async is limited to making a few shoirt examples to document it
08:10 kanl This is perl6 version 2015.06-1-gdf0c3a3 built on MoarVM version 2015.06
08:10 jnthn Ah, that's pretty recent.
08:12 jnthn The invalid read valgrind spots is certainly a bug
08:12 jnthn That should never happen.
08:13 * masak hesitates above the submit button
08:13 masak ...is it reproducible enough? can we golf it?
08:14 jnthn Probably can be golfed, yes
08:14 kanl if anyones in the channel would know better how to describe the problem i'm having, i'd be glad to yield/defer the bug filing :)
08:15 kanl anyone else
08:15 * masak submits rakudobug
08:16 kanl ++masak
08:16 virtualsue joined #perl6
08:22 virtualsue_ joined #perl6
08:25 dalek rakudo/nom: 09940e4 | jnthn++ | src/core/Capture.pm:
08:25 dalek rakudo/nom: Make Capture element access rw.
08:25 dalek rakudo/nom:
08:25 dalek rakudo/nom: So you can get at the actual passed Scalar if needed.
08:25 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/09940e4bf5
08:26 kanl an unrelated question, line 94 in my gist,  [ ROUTE => @s.shift, my $h = hash @s.map: { $_[0] => $_ } ], is there an easier way to make the hash into the list as a scalar, instead of assigning to a varible? ( maybe sorta like +{ } in p5 )
08:26 dalek roast: 7d42dff | jnthn++ | S02-types/capture.t:
08:26 dalek roast: Test for RT #125505.
08:26 dalek roast: review: https://github.com/perl6/roast/commit/7d42dffa3d
08:26 synbot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=125505
08:28 kanl i tried to use just  { }, but seemed to get code objects instead
08:29 kanl and +{ } expression doesn't seem valid in p6
08:30 kanl if there isn't already a way to do it in p6, would it be too late to make it a feature request? :)
08:31 masak kanl: https://rt.perl.org/Ticket/Display.html?id=125507
08:31 masak kanl: there are still some minor rough edges around hash/code detection in things like .map
08:32 kanl masak++
08:32 masak kanl: most of them have been ironed out, though. ISTR it's hash "by default" and then various signals tip it off that it's a hash.
08:33 psch kanl: you mean .kv with your request?
08:33 psch m: my %h = a => 1, b => 2; say %h.kv
08:33 camelia rakudo-moar 24236f: OUTPUT«a 1 b 2␤»
08:33 psch m: my %h = a => 1, b => 2; say %h.kv.perl
08:33 camelia rakudo-moar 24236f: OUTPUT«("a", 1, "b", 2)␤»
08:33 jnthn masak: I don't remember any outstanding RTs on that, fwiw...though can take a look :)
08:33 jnthn kanl: I think maybe something like this could be more succinct:
08:33 jnthn m: my @s = [0,1,2],[1,2,3]; say $%( @s>>[0] Z=> @s ).perl
08:33 camelia rakudo-moar 24236f: OUTPUT«{"0" => [0, 1, 2], "1" => [1, 2, 3]}␤»
08:33 jnthn At lesat, if I understood wha tyou're trying to do properly :)
08:34 * psch isn't sure either what is asked for vOv
08:34 kanl masak,jnthn: thank you both. $%() is what i was looking for i guess :)
08:36 kanl psch: thank you too, of course, but that wasn't what i meant :)
08:38 masak anyone else do this? open up `perl6` REPL and just type a function (like `spurt`) without any arguments, to find out what signatures it has from the error message? :P
08:39 jnthn yes :P
08:40 itz joined #perl6
08:40 salva joined #perl6
08:40 RabidGravy I think the predicted weather may militate somewhat against my current github streak getting any longer
08:41 nwc10 RabidGravy: until Thursday?
08:41 itz morning
08:42 masak \o
08:43 masak fun fact: if you open a REPL, then start recompiling Rakudo, then ^D out of the REPL, you get a segmentation fault. :)
08:44 jnthn funner fact: you deserved it! :P
08:44 masak "that's how good programs behave!" ?
08:44 masak I can't recall seeing that elsewhere...
08:45 laouji joined #perl6
08:45 dalek rakudo/nom: 2bd2737 | (Carl Masak)++ | src/core/ (2 files):
08:45 dalek rakudo/nom: s:g/\$what/\$contents/ in spurt parameter
08:45 dalek rakudo/nom:
08:45 dalek rakudo/nom: More to spec, more descriptive, and one of the routines already
08:45 dalek rakudo/nom: had it that way.
08:45 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/2bd2737fad
08:46 masak '$what' is not a terribly good parameter name :P
08:47 jnthn what? :P
08:47 masak :P
08:49 espadrine joined #perl6
08:50 itz Use of Nil in numeric context  in block  at lib/Panda/Tester.pm:36
08:51 masak walk &
08:52 itz hmm maybe my panda is too old
09:04 CIAvash joined #perl6
09:05 cognominal joined #perl6
09:07 RabidGravy I have code with a :$what in it too, it's fine ;-)
09:07 * psch remembers being stumped by '$fles'...
09:07 psch or maybe it was \fles
09:07 jnthn m: say 'fles'.flip
09:07 camelia rakudo-moar 09940e: OUTPUT«self␤»
09:07 RabidGravy there's no fles on that code
09:07 laouji joined #perl6
09:08 psch jnthn: yes, that was the response back then as well :)
09:08 RabidGravy nwc10, I feel the cidah calling me
09:09 jnthn Hmm...didn't somebody paste a gdb backtrace recently showing some SEGV related to bigint stuff?
09:09 jnthn I can't find it in RT, but managed to run into the same issue...
09:15 laouji joined #perl6
09:15 RabidGravy I had an amusing one yesterday, this https://github.com/jonathanstowe/CheckSocket/blob/0a5c5d588baa841c8e3ac9b55b2c8a0191380fdf/t/002-func.t works fine in all other circumstances except  when run by "panda install ..." in which case it hung and occassionally segfaulted
09:17 RabidGravy couldn't replicate without panda being involved so stuck an exit in there
09:17 g4 joined #perl6
09:26 laouji joined #perl6
09:31 domidumont joined #perl6
09:38 atroxaper Is there method of Str to lower case first character? Can't find in documentation.
09:39 CIAvash joined #perl6
09:39 moritz nope
09:40 atroxaper moritz: why?!
09:40 moritz m: my $str = "ABC"; $str.substr-rw(0, 1).=lc; say $str
09:40 camelia rakudo-moar 2bd273: OUTPUT«aBC␤»
09:40 moritz atroxaper: because composability
09:40 zacts joined #perl6
09:40 atroxaper Hm... Ok. Thanks :)
09:41 lizmat good *, #perl6!
09:41 moritz no need for built-ins for seldomly-used cases that can be composed from the primitives
09:41 lizmat m: sub a($a;$b) {}   # what does it mean?
09:41 camelia rakudo-moar 2bd273: ( no output )
09:41 atroxaper moritz: agreed.
09:44 lizmat m: (sub a($a;$b) {}).signature.perl.say  # seems equivalent to comma.  Should it ?
09:44 camelia rakudo-moar 2bd273: OUTPUT«:($a, $b)␤»
09:44 lizmat can't find anything about it in the spec
09:45 lizmat or maybe I'm not looking well enough
09:45 Ven joined #perl6
09:46 lizmat m: (sub a(: $a) {}).signature.perl.say   # another anomaly ?
09:46 camelia rakudo-moar 2bd273: OUTPUT«:($a: ;; )␤»
09:46 kanl moritz,atroxaper: $str[0] would be really nice if possible
09:48 kanl i thought i had read it in a spec before, though can't seem to find it now.
09:49 kanl though maybe such a thing never existed :p
09:49 rindolf joined #perl6
09:50 moritz never existed
09:50 moritz lizmat: wtf
09:50 kanl bummer
09:51 lizmat m: my $a = "foobar" but role { method AT-POS($i) { substr(self,$i,1) } }; say $a[2]
09:51 camelia rakudo-moar 2bd273: OUTPUT«o␤»
09:51 psch m: use MONKEY-TYPING; augment class Str { method AT-POS($self: $pos) { $self.comb[$pos] } }; "foo"[0].say # even worse
09:51 camelia rakudo-moar 2bd273: OUTPUT«f␤»
09:52 lizmat moritz: I guess signature parsing has been an exercise in cheating, and we're getting caught now  :-)
09:53 bin_005 joined #perl6
09:55 kanl lizmat: thanks. it looks a bit involved for an average yahoo to take advantage of.
09:55 lizmat kanl: that was only an example
09:55 lizmat turn it into a named role, and you can use it anywhere:
09:56 lizmat m: role indexed { method AT-POS($i) { substr(self,$i,1) } }; my $a = $foobar but indexed; say $a[2,3,4]
09:56 camelia rakudo-moar 2bd273: OUTPUT«5===SORRY!5=== Error while compiling /tmp/OSfwe8U8Sv␤Variable '$foobar' is not declared␤at /tmp/OSfwe8U8Sv:1␤------> 3OS($i) { substr(self,$i,1) } }; my $a = 7⏏5$foobar but indexed; say $a[2,3,4]␤»
09:56 lizmat m: role indexed { method AT-POS($i) { substr(self,$i,1) } }; my $a = "foobar" but indexed; say $a[2,3,4]
09:56 camelia rakudo-moar 2bd273: OUTPUT«o b a␤»
09:56 kanl <=  the average yahoo who doesn't know enough about p6's awesomeness
09:57 lizmat we've all been yahoo's at some time  :-)
09:57 lizmat afk for a bit&
09:57 * moritz doesn't know if he's ever been a hierarchical object oracle :-)
09:58 DrForr The P6 Oracle demands 2 new hyperoperators and half a ton of flax.
10:00 Ven joined #perl6
10:06 dayangkun joined #perl6
10:09 bin_005_h joined #perl6
10:16 telex joined #perl6
10:16 lizmat afk until much later&
10:21 Akagi201 joined #perl6
10:25 tinyblak joined #perl6
10:25 vendethiel joined #perl6
10:31 AlexDaniel joined #perl6
10:33 RabidGravy joined #perl6
10:46 atroxaper Which editor do you use for Perl6?
10:46 Ven atroxaper: vim
10:47 RabidGravy yep, vim
10:47 AlexDaniel atroxaper: I use emacs
10:47 RabidGravy "other editors are available"
10:49 atroxaper I use IntelliJIDEA (as Java programmer) and trying to use it for Perl6. But now I wanted to try Atom.
10:49 RabidGravy it's always a bad question as people tend to use the editor they've used for ever
10:49 AlexDaniel RabidGravy: at this point, this question is fine, I think
10:51 AlexDaniel some time ago perl6-mode was not really useful
10:51 RabidGravy I use vim for C, vim for Perl, vim for Java, vim for Python, vim for awk .... the reason I use it is nothing to do with the language or support thereof
10:52 AlexDaniel RabidGravy: sure, but it means that there is support for perl6
10:52 AlexDaniel and that's what he was trying to know, I guess
10:52 itz if you checkout the perl6-mode from git the syntax highlighting is better than currently shipped with 7.4
10:52 kanl can anyone post a gist for the section of .vimrc for perl6?
10:53 itz and anyone who uses tags might like App::p6tags
10:53 kanl or can someone gimme a pointer to where it's available? vim doesn't seem to have default perl6 support yet
10:54 andreoss joined #perl6
10:54 kanl whenever i open up a .pm6 file in vim, it lags really badly.
10:54 itz its in 7.4
10:55 * kanl upgrading vim, thanks itz!
10:55 itz and the latest and greatest vim perl6 mode is in
10:55 itz https://github.com/vim-perl/vim-perl
10:55 itz and yes it is slow to render (due to the complex syntax of perl6 I assume)
10:56 atroxaper AlexDaniel: actually i just wanted to know who what uses... :)
10:58 AlexDaniel :)
11:02 araujo joined #perl6
11:04 kanl upgrading vim didn't improve sluggishness for me :(
11:08 psch kanl: vim-perl is the not-as-sluggish one, afaik
11:08 psch kanl: i don't think that's default in most distributions in vim
11:11 cognominal the atom editor has a mode for Perl 6, probably derived from sublime text or textmate that share (more or less) the same conventions.
11:11 grondilu m: my %h{Str}{Complex}; %h<foo>{1i}++; say %h<foo>.keys.pick.WHAT;  # not sure if that's supposed to work
11:11 camelia rakudo-moar 2bd273: OUTPUT«(Str)␤»
11:11 kanl Package vim-perl is a virtual package provided by: vim-nox 2:7.4.052-1ubuntu3 vim-gtk 2:7.4.052-1ubuntu3 vim-athena 2:7.4.052-1ubuntu3 vim-gnome 2:7.4.052-1ubuntu3
11:11 kanl You should explicitly select one to install.
11:12 kanl these are all graphical varieties of vim, right?
11:12 kanl is there a plain terminal version of it? pardon my ignorance.
11:14 bobkare kanl: I don't know vim, but -nox would typically be the terminal variant
11:15 grondilu my %h; %h<foo> = my %anon{Complex}; %h<foo>{1}++'  # can't I create anonymous typed variables?
11:15 kanl bobkare: thanks
11:15 grondilu my %{Complex} or something?
11:17 grondilu std: my %{Complex}
11:17 camelia std 28329a7: OUTPUT«ok 00:00 137m␤»
11:17 grondilu m: my %{Complex}
11:17 camelia rakudo-moar 2bd273: OUTPUT«5===SORRY!5=== Error while compiling /tmp/KcdEQqNfGg␤Unsupported use of %{Complex}; in Perl 6 please use %Complex␤at /tmp/KcdEQqNfGg:1␤------> 3my %{Complex}7⏏5<EOL>␤»
11:17 psch kanl: in my defense, i almost always use syntax=off... :)
11:18 kanl i'm actually quite indifferent to syntax highlighting, only too lazy to :syntax off every time :p
11:19 grondilu FYI, it's because I'd like a nested structure like { array_data => [ $some_data ], hashed_data_with_complexes_as_keys => { 1+i => $value, 1-i => $other_value, ... } };
11:21 grondilu I know I could turn the complexes as Str and do the conversion when needed, but using a typed hash would be much more pleasant.
11:22 grondilu m: my %h{Complex};  %h{1i}++; say .WHAT for %h.keys
11:22 camelia rakudo-moar 2bd273: OUTPUT«(Complex)␤»
11:22 grondilu ^this is nice but can't be done in a nested structure apparently
11:24 grondilu though now that I think about it the type on the second level needs to depend on the entry in the first level, so it's not easy to declare that.
11:25 gcole joined #perl6
11:25 grondilu m: sub anonymous-complex-hash() { my %foo{Complex} }; my %h; %h<bar> = anonymous-complex-hash();  %h<bar>{1i}++; say .WHAT for %h<bar>;
11:25 camelia rakudo-moar 2bd273: OUTPUT«(Hash[Any,Complex])␤»
11:26 grondilu m: sub anonymous-complex-hash() { my %foo{Complex} }; my %h; %h<bar> = anonymous-complex-hash();  %h<bar>{1i}++; say .WHAT for %h<bar>.keys;
11:26 camelia rakudo-moar 2bd273: OUTPUT«(Complex)␤»
11:26 grondilu I guess I could do that?
11:27 jnthn grondilu: Hash[Mu, Complex].new is also an option
11:27 jnthn lunch &
11:28 grondilu oh yeah
11:31 grondilu hum, seems to refuse to aggregate:
11:31 grondilu m: my $h = Hash[Mu, Complex].new; $h{1i}++; $h{1i}++; say $h.perl
11:31 camelia rakudo-moar 2bd273: OUTPUT«Hash[Mu,Complex].new(<0+1i> => 1, <0+1i> => 1)␤»
11:31 grondilu m: my $h = Hash[Mu, Complex].new; $h{1i}++; $h{1i}++; say $h.keys.elems
11:31 camelia rakudo-moar 2bd273: OUTPUT«2␤»
11:31 grondilu m: my $h{Complex}; $h{1i}++; $h{1i}++; say $h.keys.elems
11:31 camelia rakudo-moar 2bd273: OUTPUT«1␤»
11:32 grondilu m: my $h{Complex}; $h{1i}++; $h{1i}++; say $h.WHAT
11:32 camelia rakudo-moar 2bd273: OUTPUT«(Hash)␤»
11:32 grondilu m: my %h{Complex}; %h{1i}++; %h{1i}++; say $h.WHAT
11:32 camelia rakudo-moar 2bd273: OUTPUT«5===SORRY!5=== Error while compiling /tmp/0grZPs2M0O␤Variable '$h' is not declared. Did you mean '%h'?␤at /tmp/0grZPs2M0O:1␤------> 3my %h{Complex}; %h{1i}++; %h{1i}++; say 7⏏5$h.WHAT␤»
11:32 grondilu m: my %h{Complex}; %h{1i}++; %h{1i}++; say %h.WHAT
11:32 camelia rakudo-moar 2bd273: OUTPUT«(Hash[Any,Complex])␤»
11:32 grondilu m: my $h = Hash[Any, Complex].new; $h{1i}++; $h{1i}++; say $h.keys.elems
11:32 camelia rakudo-moar 2bd273: OUTPUT«2␤»
11:32 grondilu m: my %h = Hash[Any, Complex].new; %h{1i}++; %h{1i}++; say %h.keys.elems
11:32 camelia rakudo-moar 2bd273: OUTPUT«1␤»
11:33 grondilu weird
11:33 grondilu the sigil should not matter, should it?
11:34 moritz m: my $h = Hash[Any, Complex].new; $h{1i}++; $h{1i}++; say $h.keys
11:34 camelia rakudo-moar 2bd273: OUTPUT«0+1i 0+1i␤»
11:34 moritz m: my $h = Hash[Any, Complex].new; $h{1i}++; $h{1i}++; say $h.keys.perl
11:34 camelia rakudo-moar 2bd273: OUTPUT«(<0+1i>, <0+1i>)␤»
11:34 moritz m: my $h := Hash[Any, Complex].new; $h{1i}++; $h{1i}++; say $h.keys.perl
11:34 camelia rakudo-moar 2bd273: OUTPUT«(<0+1i>, <0+1i>)␤»
11:34 grondilu also, it keeps converting to Str:
11:35 grondilu m: my %h = Hash[Any, Complex].new; %h{1i}++; %h{1i}++; say .WHAT for %h.keys
11:35 camelia rakudo-moar 2bd273: OUTPUT«(Str)␤»
11:35 moritz grondilu: my %h = Hash[Any, Complex].new can't work; you'd need binding here
11:35 psch m: say 1i === 1i
11:35 camelia rakudo-moar 2bd273: OUTPUT«False␤»
11:36 psch j: say 1i === 1i
11:36 camelia rakudo-jvm 2bd273: OUTPUT«False␤»
11:36 grondilu ok
11:36 JimmyZ n: say 1i === 1i
11:36 camelia niecza v24-109-g48a8de3: OUTPUT«sh: mono: command not found␤»
11:39 grondilu my %h; %h<foo> = (my % := Hash[Any, Complex].new); %h<foo>{1i}++ xx 2; say %h<foo>.keys.elems
11:39 grondilu m: my %h; %h<foo> = (my % := Hash[Any, Complex].new); %h<foo>{1i}++ xx 2; say %h<foo>.keys.elems
11:39 camelia rakudo-moar 2bd273: OUTPUT«1␤»
11:40 grondilu looks fine except that:
11:40 grondilu m: my %h; %h<foo> = (my % := Hash[Any, Complex].new); %h<foo>{1i}++; %h<foo>{1i}++; say %h<foo>.keys.elems
11:40 camelia rakudo-moar 2bd273: OUTPUT«2␤»
11:41 grondilu that's LTA, if you ask me
11:41 psch grondilu: each literal 1i is a new instance, there's no interning or anything, thus they have different .WHICH
11:41 psch grondilu: yes, it's not good that it is like that :)
11:41 masak psch, grondilu: clearly 1i should equal 1i using ===
11:41 masak it's a bug that it doesn't.
11:42 * psch isn't disagreeing, just explaining
11:42 masak well, feel free to file a rakudobug :)
11:43 grondilu just the 1i === 1i should be enough
11:43 masak aye
11:43 masak but it's also "interesting" that the sigil of the Hash variable matters. that might be a separate bug.
11:44 moritz m: say 1i === 1i
11:44 camelia rakudo-moar 2bd273: OUTPUT«False␤»
11:44 * grondilu submits the 1i === 1i bug
11:45 grondilu m: say 1 === 1  # just in case
11:45 camelia rakudo-moar 2bd273: OUTPUT«True␤»
11:45 masak m: say i === i
11:45 camelia rakudo-moar 2bd273: OUTPUT«True␤»
11:45 masak m: say 0i === 0i
11:45 camelia rakudo-moar 2bd273: OUTPUT«False␤»
11:46 masak m_ say -i === -i
11:46 masak m: say -i === -i
11:46 camelia rakudo-moar 2bd273: OUTPUT«False␤»
11:50 grondilu made ticket #125509
11:50 synbot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=125509
11:50 psch grondilu++
11:55 grondilu m: use MONKEY_TYPING; augment class Complex { method WHICH { self.reals.join("|") } }; say 1i === 1i
11:55 camelia rakudo-moar 2bd273: OUTPUT«True␤Saw 1 occurrence of deprecated code.␤================================================================================␤'use MONKEY_TYPING' seen at:␤  /tmp/0bJSTcpQ_1, line 1␤Deprecated since v2015.4, will be removed with release v2015.9!␤Pl…»
11:55 grondilu m: use MONKEY-TYPING; augment class Complex { method WHICH { self.reals.join("|") } }; say 1i === 1i
11:55 camelia rakudo-moar 2bd273: OUTPUT«True␤»
11:56 grondilu m: use MONKEY-TYPING; augment class Complex { method WHICH { self.reals.join("|") } }; say 1i === 1i, 1i == 0i
11:56 camelia rakudo-moar 2bd273: OUTPUT«TrueFalse␤»
11:56 grondilu m: use MONKEY-TYPING; augment class Complex { method WHICH { self.reals.join("|") } }; say 1i === 1i, 1i === 0i
11:56 camelia rakudo-moar 2bd273: OUTPUT«TrueFalse␤»
11:57 grondilu m: use MONKEY-TYPING; augment class Complex { method WHICH { self.reals.join("|") } }; my %h; %h<foo> = (my % := Hash[Any, Complex].new); %h<foo>{1i}++; %h<foo>{1i}++; say %h<foo>.keys.elems
11:57 camelia rakudo-moar 2bd273: OUTPUT«1␤»
11:57 grondilu well I guess I could use that as a work-around
11:58 ShimmerFairy Huh, why was MONKEY_TYPING changed to MONKEY-TYPING? Feels so wrong to me (I tend to treat _ as an uppercase - in P6 names, so _ is waaaay more appropriate in an all-caps name for me)
11:59 * grondilu agrees with ShimmerFairy
11:59 grondilu but I'm sure people discussed quite a bit before making this decision
11:59 grondilu it's not a big deal anyway
12:00 * flussence +2, half the advantage of hyphen is that it avoids bouncing on the shift key and this undoes that...
12:00 ShimmerFairy For me, it's all about not randomly changing the pressed state of my shift key mid-term :P
12:00 * ShimmerFairy quickly adds that camelCase is specifically not random :)
12:00 ShimmerFairy grondilu: it's not a big deal, true, but such a minor change isn't worth making without good cause. And I'd like to know that cause :)
12:01 grondilu ShimmerFairy: I guess you could search for it in the IRC log
12:01 psch i remember an argument about consistency, not sure when that was though
12:02 psch i'm guessing somewhen in february this year maybe?
12:02 grondilu wow the monkey patch actually solved my problem.  Nice.
12:02 flussence (IIRC, there was a lot of historical bikeshedding over the double-hyphen in command-line --long-options for the same reason)
12:04 grondilu well, taht's different.  double-hypen for long options is a Unix convention.  I can't imagine people not happy with that.
12:04 psch https://gist.github.com/peschwa/890553b356e9a3f4d2f6 \o/
12:04 psch hiding lots of the not-yet-fully-worked-out details there, though :/
12:04 RabidGravy Just think in the future there will be people dressing up in the clothes of the 2010s doing historical bike-shedding re-enactments
12:04 psch but i'll just have to turn the script i'm executing into a flag on perl6-j
12:05 psch and then we can have standalone deployable jars written in perl6 :)
12:05 eiro cd
12:05 eiro oops sorry
12:05 RabidGravy do it all the time
12:06 ShimmerFairy psch: you yourself said it was consistency in a march log. But I'm not buying a one-word answer :)
12:06 DrForr RabidGravy: In the 2070s we'll *STILL* be bitching about flying cars.
12:06 psch ShimmerFairy: whoops... :)
12:06 psch ShimmerFairy: fwiw, i think i'd rather agree with you regarding the state-change of shift
12:06 psch ShimmerFairy: but it also feels rather minor of a thing to give attention to
12:06 ShimmerFairy psch: so why bother changing it in the first place? :)
12:07 psch ShimmerFairy: i didn't change it, afair...
12:07 psch although i might have prompted the change, not sure about that
12:07 vendethiel joined #perl6
12:08 ShimmerFairy I can maybe kinda see consistency with other names that have hyphens, but it doesn't have case-consistency within the name; from my view, MONKEY-TYPING is exactly as weird as MONKEy_TYPING
12:10 itz joined #perl6
12:10 RabidGravy monkey-typing.com is strangely available
12:11 ShimmerFairy Point is, if it's such a minor change, I'd like to know why it was worth the effort, and if it's actually a major change, I'd like to know why it is major after all :)
12:13 nys joined #perl6
12:16 RabidGravy I reckon it's about a six character change in three files
12:17 ggoebel joined #perl6
12:17 * masak .oO( I reckon it's about ethics in videogame journalism )
12:18 RabidGravy :)
12:18 grondilu m:  say (1i, 1i).unique
12:18 camelia rakudo-moar 2bd273: OUTPUT«0+1i 0+1i␤»
12:18 masak so unique
12:18 * grondilu is not suprised but thought it was worth pointing at
12:18 jnthn At least it's consistently wrong :P
12:18 RabidGravy what is 'li'
12:18 jnthn I'll look into it once I get done hunting a GC bug I've uncovered...
12:19 grondilu RabidGravy: it's "1", not "l"
12:19 RabidGravy what is 'Ii' then ;-)
12:19 tinyblak joined #perl6
12:19 RabidGravy oh
12:19 grondilu m: say 1i**2
12:19 camelia rakudo-moar 2bd273: OUTPUT«-1+1.22464679914735e-16i␤»
12:19 RabidGravy 1
12:20 ShimmerFairy masak: I get the feeling MONKEY-TYPING will be one of those things about Perl 6 I'll passively complain about forever, like how for the last time buffers are not strings :P
12:20 RabidGravy got it
12:20 * grondilu thinks it's LTA that 1i**2 is not exactly -1
12:21 * grondilu remembers have whinned already about Complex imposing num for its components.
12:21 grondilu *having
12:21 * DrForr perks up his ears at the mention of complex numbers :)
12:22 grondilu why can't Complex be neutral about the type of its components and use whatever the instance is built with?
12:23 grondilu (as long as its Numeric, that is)
12:24 grondilu (or Real, rather)
12:24 ShimmerFairy Considering complex numbers are a superset of all real numbers, I imagine it's not that far-fetched to use a component type that can handle all real numbers :)
12:24 grondilu class Complex does Numeric { has Real ($.re, $.im); ... }
12:27 hoelzro good *, #perl6
12:28 diana_olhovik_ joined #perl6
12:36 masak hoelzro: \o
12:39 hoelzro ahoy masak
12:40 RabidGravy Harr! Me Hearty!
12:40 * masak just tried `@/`, hoping it'd mean `@$/`... but it doesn't
12:40 psch masak: that's @(), isn't it?
12:40 ShimmerFairy masak: huh, @<rule> works at least (unless that's changed)
12:41 masak psch: ooh, mebbe
12:41 jnthn Or just say @$/ :)
12:41 masak psch: yeah, that works!
12:41 masak psch: something in me expected @/ to mean, @$/ -- dunno if that is reasonable
12:41 masak s/,//
12:43 vendethiel joined #perl6
12:44 ShimmerFairy masak: I think it is, again considering @<rule> (and possibly @0 ?)
12:44 masak right, and @2 et al, no?
12:44 masak oh, you said @0
12:45 masak std: @0
12:45 camelia std 28329a7: OUTPUT«ok 00:00 135m␤»
12:45 ShimmerFairy no @/ feels like an omission, consider all the other @ versions of latest match access
12:45 ShimmerFairy std: @/
12:45 camelia std 28329a7: OUTPUT«5===SORRY!5===␤Bogus term at /tmp/uHwGVLQyxa line 1 (EOF):␤------> 3@/7⏏5<EOL>␤Parse failed␤FAILED 00:00 137m␤»
12:45 masak TimToady: ^^ why is @/ less reasonable than @() ?
12:46 DrForr std: ... @/'
12:46 camelia std 28329a7: OUTPUT«5===SORRY!5===␤Unable to parse single quotes at /tmp/Zxq3fGvqzp line 1:␤------> 3... @/7⏏5'␤Couldn't find final "'"; gave up at /tmp/Zxq3fGvqzp line 1 (EOF):␤------> 3... @/'7⏏5<EOL>␤Parse failed␤FAILED 00:00 137m␤»
12:46 masak it's a little bit as if "highlander variables" came true, but only for $/ :P
12:47 ShimmerFairy What is @() anyway?
12:47 ShimmerFairy (to me it looks like turning nothing into list context)
12:47 masak m: "foo bar baz" ~~ /(\w+) +% ' '/; say @()>>.Str.perl
12:47 camelia rakudo-moar 2bd273: OUTPUT«(["foo", "bar", "baz"],)␤»
12:50 ShimmerFairy Huh. I almost feel like that should be @[], but I'm sure that makes just as much sense :)
12:53 masak @[] already means something else
12:53 masak std: @[]
12:53 camelia std 28329a7: OUTPUT«ok 00:00 137m␤»
12:53 masak m: say @[]
12:53 camelia rakudo-moar 2bd273: OUTPUT«␤»
12:55 masak pmichaud: if List objects support .push post-GLR, does it make more sense for Lists to autovivify in `%hash{$key}.push($elem)` than Arrays?
12:56 dalek rakudo/nom: 5930fc4 | jnthn++ | src/core/Str.pm:
12:56 dalek rakudo/nom: Fix Str.perl isolated comb-char handling.
12:56 dalek rakudo/nom:
12:56 dalek rakudo/nom: If we have combining chars at the start and we're in an implementation
12:56 dalek rakudo/nom: with NFG, we must handle them specially, otherwise we'll accidentally
12:56 dalek rakudo/nom: them on the opening quote.
12:56 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/5930fc49f2
12:56 ShimmerFairy masak: suddenly I'm glad we got rid of a lot of special variables present in Perl 5 :)
12:57 masak :)
12:57 dalek roast: 5277d28 | jnthn++ | S02-names-vars/perl.t:
12:57 dalek roast: Unfudge tests for RT #125110.
12:57 dalek roast: review: https://github.com/perl6/roast/commit/5277d28b69
12:57 synbot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=125110
12:59 ShimmerFairy (by "special variables" I of course mean the ones whose names are essentially randomly-chosen non-alnum characters :P)
12:59 masak ShimmerFairy: that's the `perldoc perlvar` name for them too.
13:00 atroxaper joined #perl6
13:01 Dee22 joined #perl6
13:03 masak is substr-rw here to stay? or is it just a stopgap thing until we can properly optimize away expensive unused proxies?
13:04 moritz yes!
13:04 masak dang, and phew, respectively.
13:06 jnthn We don't have a concrete path towards optimizing those away, afaik.
13:06 masak ok.
13:07 masak I can see that it would be difficult. but I've yet to see a -rw form of anything in Perl 6 that I really like, or accept.
13:07 masak they're all ugly.
13:08 jnthn Well, they all tend to mean you've opted for the mutable solution rather than the functional one... :)
13:08 masak in Perl 5, both are just substr
13:08 grondilu m: for (my @ = { foo => Mu } xx 2) -> $x { say $x.WHAT }
13:08 camelia rakudo-moar 2bd273: OUTPUT«(Hash)␤(Hash)␤»
13:08 grondilu m: for (my @ = { foo => Mu } xx 2) Z ^2 -> $x, $ { say $x.WHAT }
13:08 camelia rakudo-moar 2bd273: OUTPUT«(Parcel)␤»
13:09 grondilu ^something's wrong here
13:09 masak m: my %h = :foo; for False, True -> $exists { say %h<foo> :$exists, ", ", %h<bar> :$exists }
13:09 camelia rakudo-moar 2bd273: OUTPUT«False, True␤True, False␤»
13:09 masak wow, adverbs++
13:09 masak grondilu: ($x, $) parentheses
13:10 grondilu m: for (my @ = { foo => Mu } xx 2) Z ^2 -> ($x, $) { say $x.WHAT }
13:10 camelia rakudo-moar 2bd273: OUTPUT«(Hash)␤(Hash)␤»
13:10 grondilu oh
13:10 jnthn "for flat" maybe...
13:11 grondilu I'm not sure how it is parsed without the parenthesis
13:11 jnthn m: say 1/2 === 1/2
13:11 camelia rakudo-moar 2bd273: OUTPUT«True␤»
13:11 jnthn m: say 2/4 === 1/2
13:11 camelia rakudo-moar 2bd273: OUTPUT«True␤»
13:11 jnthn m: my $a = 2; say $a/4 === 1/2
13:11 camelia rakudo-moar 2bd273: OUTPUT«True␤»
13:12 jnthn m: say (1/2).WHAT
13:12 camelia rakudo-moar 2bd273: OUTPUT«(Rat)␤»
13:12 jnthn m: my %h{Rat}; my $a = 2; %h{$a/4}++; %h{1/2}++; say %h.perl
13:12 camelia rakudo-moar 2bd273: OUTPUT«Hash[Any,Rat].new(0.5 => 2)␤»
13:12 jnthn ohhh
13:12 jnthn :)
13:13 masak equality for rats!
13:15 RabidGravy eek! eek!
13:15 RabidGravy or eep! eep!
13:19 Akagi201 joined #perl6
13:20 rarara joined #perl6
13:20 jnthn Yeah, I was thinking Rat too was missing a .WHICH
13:21 raiph joined #perl6
13:21 jnthn Turns out it's not, it just ain't in Rat.pm
13:21 jaffa4 joined #perl6
13:22 Akagi201_ joined #perl6
13:22 moritz but Complex is missing one
13:24 jnthn aye, I've added it locally
13:26 dalek nqp/standalone-jar: b52adfa | peschwa++ | src/ (7 files):
13:26 dalek nqp/standalone-jar: Add HLL::Compiler switch --with-cu and use parent ClassLoaders.
13:26 dalek nqp/standalone-jar:
13:26 dalek nqp/standalone-jar: This allows us to package nested jars with e.g. one-jar, which I will also
13:26 dalek nqp/standalone-jar: implement a flag for in HLL::Compiler.
13:26 dalek nqp/standalone-jar:
13:26 dalek nqp/standalone-jar: Using parent ClassLoaders for IgnoreNameClassloader and ByteCodeClassLoader
13:26 dalek nqp/standalone-jar: is neccessary to chain into e.g. JarClassLoader (which one-jar uses) to find
13:26 dalek nqp/standalone-jar: nested jars.
13:26 dalek nqp/standalone-jar: review: https://github.com/perl6/nqp/commit/b52adfa6a4
13:26 dalek nqp/standalone-jar: 118ac37 | peschwa++ | tools/jvm/one-jar- (25 files):
13:26 dalek nqp/standalone-jar: Add the one-jar skeleton and a script that mostly builds a standalone jar.
13:26 dalek nqp/standalone-jar:
13:26 dalek nqp/standalone-jar: Reading the script reveals the missing pieces. The Rakudo entry CU is currently
13:26 dalek nqp/standalone-jar: hardcoded, and it shouldn't really be an external script either. Soon™.
13:26 dalek nqp/standalone-jar: review: https://github.com/perl6/nqp/commit/118ac37a05
13:27 dalek rakudo/standalone-jar: c43eb19 | peschwa++ | src/vm/jvm/ (2 files):
13:27 dalek rakudo/standalone-jar: Add JVM ModuleLoader bits to support loading modules from nested jars.
13:27 dalek rakudo/standalone-jar:
13:27 dalek rakudo/standalone-jar: cf. NQP commit b52adfa6a4563c0723af1fd39c0791797d5a6595.
13:27 dalek rakudo/standalone-jar: review: https://github.com/rakudo/rakudo/commit/c43eb19315
13:27 vendethiel joined #perl6
13:29 jnthn m: use Test; nok 1 === 1 but role { };
13:29 camelia rakudo-moar 5930fc: OUTPUT«not ok 1 - ␤␤# Failed test at /tmp/qs6TcupiRE line 1␤»
13:29 jnthn m: use Test; nok 1e0 === 1e0 but role { };
13:29 camelia rakudo-moar 5930fc: OUTPUT«not ok 1 - ␤␤# Failed test at /tmp/clMWqbfrtL line 1␤»
13:29 jnthn m: use Test; nok 1/2 === 1/2 but role { };
13:29 camelia rakudo-moar 5930fc: OUTPUT«ok 1 - ␤»
13:30 jnthn Also found/fixed the first two of those being wrong :)
13:30 * masak uses `...my $var... given $var = ...;` as a poor man's Haskell `where`
13:35 masak today's mini-challenge: https://gist.github.com/masak/18bfb81f0f334e5e5516
13:35 masak the second half of that challenge occupied me much of last week for $work.
13:35 masak the first half was pretty straightforward. I just wrote a cute little 50-line Perl 6 script for it.
13:36 masak (mostly to verify that the input 2 is correct)
13:36 DrForr Keeping the layout horizontally compact is probably an awkward bit of that.
13:37 masak sir, you are right.
13:37 masak the problem is tractable but more interesting than first appears.
13:38 DrForr And happened to fall *just* half an hour before the end of the day here :)
13:38 masak haha
13:40 ShimmerFairy masak: this reminds me that I still need to figure out hexslide (last time I thought about it, I got to thinking about quite a bit of things, like trying to figure out which boards are transformations of another. I should write this stuff down before I totally forget it :P)
13:41 masak ShimmerFairy: you and me both.
13:42 masak ShimmerFairy: I think the whole big space can be reduced to millions of subspaces of mutually transformable boards, which can then be individually solved.
13:42 DrForr masak: Actually it's more relevant to what I'm playing with than it may appear. I'm setting up a tool to prove that Nine Men's Morris is a draw, which requires a pretty massive tree.
13:42 ShimmerFairy masak: I never did write up my analysis of the 1D version of the game, did I? (2- and 3-pieces on a line).
13:43 ShimmerFairy the number of possible boards in the 1D version matches up with the tribonacci numbers, IIRC :)
13:43 masak ShimmerFairy: I don't recall reading that, in any case.
13:43 DrForr 1 1 1 3 5 9 17 ... ?
13:44 ShimmerFairy masak:  "millions of subspaces" sounds like the "partitions" I came to thinking about with hexslide; when the pieces in grooves split another, intersecting groove into two independent sides.
13:45 masak ShimmerFairy: yeah, it sounds like we are very much thinking along the same lines here.
13:45 * DrForr gets the feeling he should *really* not summon DDG here.
13:46 masak ShimmerFairy: maybe we should write a joint blog post? :)
13:46 masak DrForr: "DDG"?
13:46 DrForr The perlitically correct version of Google :)
13:48 ShimmerFairy masak: maybe :) I was hoping to someday have enough material for a huge math paper, walking through the various dimensions and such :P . (I once thought through how the number of grooves isn't the only factor to consider; e.g. a cube has the same number of groove axes as the original hexslide, but (AFAICT) they aren't 1:1 compatible)
13:48 DrForr Something to do with the polyhexes, judging by iTunes.
13:48 dalek rakudo/nom: 71cfb39 | jnthn++ | src/core/Str.pm:
13:48 dalek rakudo/nom: Further fixes to Str.perl + NFG.
13:48 dalek rakudo/nom:
13:48 dalek rakudo/nom: We were also vulnerable to producing incorrect .perl output when a
13:48 dalek rakudo/nom: combiner was placed on a non-printable.
13:48 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/71cfb39e09
13:48 dalek rakudo/nom: 827ab5c | jnthn++ | src/core/Complex.pm:
13:48 dalek rakudo/nom: Add missing .WHICH method for Complex.
13:48 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/827ab5c538
13:49 ShimmerFairy I also found something about graph(?) theory dealing with the square board version once, that basically said it was still an open question as to the number of possible boards for a 2-piece only version of the game. I'm kinda fuzzy on that though.
13:49 grondilu m: say .elems given flat my @ = [<a b>], 0;
13:49 camelia rakudo-moar 5930fc: OUTPUT«2␤»
13:49 * grondilu was expecting 3
13:50 grondilu m: say .elems given  my @ = flat [<a b>], 0;
13:50 camelia rakudo-moar 5930fc: OUTPUT«2␤»
13:50 ShimmerFairy m: say .perl given flat my @ = [<a b>], 0
13:50 camelia rakudo-moar 5930fc: OUTPUT«(["a", "b"], 0)␤»
13:50 dalek rakudo/nom: ebd2833 | jnthn++ | src/core/Enumeration.pm:
13:50 dalek rakudo/nom: Don't use strict === when we want ==.
13:50 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/ebd283346f
13:50 dalek rakudo/nom: 19bc2c3 | jnthn++ | src/core/ (2 files):
13:50 dalek rakudo/nom: Correct === Int/Num fast-paths.
13:50 dalek rakudo/nom:
13:50 dalek rakudo/nom: They need to ensure that the type is identical.
13:50 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/19bc2c33b0
13:50 dalek rakudo/nom: 60c273d | jnthn++ | src/core/ (2 files):
13:50 dalek rakudo/nom: Add === fast-paths for Complex and Rational.
13:50 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/60c273d002
13:50 dalek roast: 227b81e | jnthn++ | S02-names-vars/perl.t:
13:50 dalek roast: More tests for Str.perl and comb chars.
13:50 dalek roast: review: https://github.com/perl6/roast/commit/227b81e211
13:50 dalek roast: 85dd356 | jnthn++ | S03-operators/value_equivalence.t:
13:50 dalek roast: Test for RT #125509, plus other === bugs.
13:50 synbot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=125509
13:50 ShimmerFairy m: say .perl given my @ = ([<a b>], 0).flat
13:50 camelia rakudo-moar 5930fc: OUTPUT«[["a", "b"], 0]<>␤»
13:50 dalek roast: review: https://github.com/perl6/roast/commit/85dd3562f3
13:50 ShimmerFairy m: say .perl given my @ = ([<a b>], 0).flat.flat
13:50 camelia rakudo-moar 5930fc: OUTPUT«[["a", "b"], 0]<>␤»
13:51 grondilu flattening in Perl 6 is still a mystery to me
13:51 moritz same here
13:52 moritz though .flat only ever flattens (), never []
13:52 grondilu m: say .elems given  my @ = [<a b>].list, 0;
13:52 camelia rakudo-moar 5930fc: OUTPUT«3␤»
13:53 grondilu I guess I should do that
13:54 dalek roast: 42e642e | jnthn++ | S03-operators/value_equivalence.t:
13:54 dalek roast: Tweak test we didn't really fix.
13:54 dalek roast:
13:54 dalek roast: A recent change made it a passing todo by hiding an issue rather than
13:54 dalek roast: fixing it at its root.
13:54 dalek roast: review: https://github.com/perl6/roast/commit/42e642ea93
13:54 ShimmerFairy masak: also, considering that for the 1D version the number of combinations are related to various kinds of Fibonacci sequences, I want to say that the 2D version has a similar kind of sequence, but somehow a 2D version of Fibonacci numbers.
13:54 rurban joined #perl6
13:55 DrForr Okay, I'll bite. Someone got a pointer? Since all I can find is an iTunes game...
13:56 * DrForr suspects he's about to waste an otherwise productive week.
13:56 vendethiel joined #perl6
13:57 ShimmerFairy DrForr: it's described on masak's blog; give me a second to find the post
13:59 JimmyZ_ joined #perl6
13:59 DrForr My Quaternions talk is what's up at ::EU, but I badly want to do a series on game theory. Which would pretty much cement the reputation of perl6 as an academic language, so I'm grudgingly trying to get the last bits of ANTLR out of the way so I can do something more useful like Mojolicious.
14:00 ShimmerFairy DrForr: http://strangelyconsistent.org/blog/counting-t4-configurations
14:00 ShimmerFairy have fun being tormented for years :P
14:03 ShimmerFairy DrForr: I'm sure it would be interesting. I can definitely see Perl 6 being an academic language.
14:06 DrForr Okay, you people need to read these books:
14:07 DrForr http://www.amazon.com/s/ref=nb_sb_ss_c_0_12?url=search-alias%3Dstripbooks&amp;field-keywords=winning+ways+for+your+mathematical+plays&amp;sprefix=winning+ways+for+your+mathematical+plays%2Caps%2C253
14:12 skids joined #perl6
14:13 aborazmeh joined #perl6
14:13 aborazmeh joined #perl6
14:14 dalek roast: 73e6a7c | jnthn++ | S32-exceptions/misc.t:
14:14 dalek roast: Test for RT #125120.
14:14 dalek roast: review: https://github.com/perl6/roast/commit/73e6a7cbce
14:14 synbot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=125120
14:14 dalek rakudo/nom: 150df80 | jnthn++ | src/Perl6/World.nqp:
14:14 dalek rakudo/nom: Make compiler look for exceptions in setting only.
14:14 dalek rakudo/nom:
14:14 dalek rakudo/nom: If people declared a package X, it could hide the X namespace for
14:14 dalek rakudo/nom: exceptions, so the compiler could not find its exception types to
14:14 dalek rakudo/nom: throw for things like syntax errors. This has led to all manner of
14:14 dalek rakudo/nom: confusion. So, now we only look for those in the current setting.
14:14 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/150df80d78
14:16 CIAvash joined #perl6
14:19 ugexe moar is failing on windows right now right?
14:19 jnthn Uh, no
14:20 ugexe ah so i did hose this system
14:20 jnthn All the commits I just made are from Moar/NQP/Rakudo HEAD...
14:20 jnthn Though you're not the only person to report that something is up...
14:20 jnthn What compiler did you build with?
14:20 ugexe cl
14:20 jnthn Hm, same as me then
14:21 Ven joined #perl6
14:22 vendethiel joined #perl6
14:22 timotimo what's cl? it's not clang, right?
14:22 ugexe from visual studio
14:22 timotimo is that the codename for the visual studio compiler?
14:22 timotimo code-names are cool.
14:23 jnthn It's the executable name of the compiler; cl.exe
14:24 jnthn ugexe: 32-bit of 64-bit?
14:24 timotimo "compiler and linker".exe possibly
14:24 jnthn timotimo: Maybe, but there's also a link.exe ;)
14:24 timotimo huh
14:25 timotimo so that must stand for ... something with language ... intel ... nativecode ... kompilation?
14:25 jnthn I guess cl will compile and link if you don't ask it just to spit out an object file though...
14:25 RabidGravy it's been "cl.exe" since before visual studio was even thought of
14:26 ugexe 64bit
14:26 ShimmerFairy I like how it's one letter away from the Windows command cls :P
14:26 jnthn ugexe: Hm, same here also. Oddness
14:27 laouji joined #perl6
14:28 FROGGS ugexe: how does it fail?
14:28 ugexe stage optimize: gmake: *** [CORE.setting.moarvm] ERROR -1073741784
14:28 FROGGS ugexe: well, gmake + cl = no luck
14:29 FROGGS ugexe: is it possible that moar was built with cl and nmake, and something tries to build rakudo with gcc and gmake?
14:30 ugexe yes
14:30 FROGGS hmmm
14:30 ugexe im guessing the Path is giving the Configure.pl probe the wrong one for my case?
14:31 FROGGS ugexe: can you debug what happens in Configure.pl at around line 133?
14:32 FROGGS ugexe: also, what do you get here?  nqp-m -e "print(nqp::backendconfig()<make>)"
14:32 FROGGS C:\rakudo>nqp-m -e "print(nqp::backendconfig()<make>)"
14:32 FROGGS nmake
14:33 FROGGS it seems to tell the truth on my box
14:33 ugexe that command tells me gmake
14:33 ugexe which Configure.pl? /nqp or /moar?
14:33 FROGGS ugexe: rakudo's
14:34 FROGGS ugexe: but what you just said means that the nqp it picks up was built with a moarvm which was built with gcc+gmake
14:35 FROGGS[mobile] joined #perl6
14:35 ugexe i see it checks that command first before the nmake /? >NUL 2>&1
14:35 ugexe the rakudo configure that is
14:35 grondilu I hate it when I can't use perl6 while it's compiling.  It should not be the case.
14:37 FROGGS shop &
14:38 hoelzro tadzik: any chance you could merge my emmentaler PR so that we can have warnings reports in the smoker? =)
14:40 itz if I'm inside a method can I access the method name?
14:40 ugexe $?ROUTINE i think
14:40 jnthn m: class A { method yes() { say &?ROUTINE.name } }; A.yes
14:40 camelia rakudo-moar 60c273: OUTPUT«yes␤»
14:40 itz ty
14:45 ugexe maybe adding a !$has_cl to https://github.com/rakudo/rakudo/blob/nom/Configure.pl#L138-L139 would be sufficient
14:46 ugexe im dumb, that doesnt help that nqp was built with gmake in the first place
14:49 atroxaper joined #perl6
14:50 FROGGS[mobile] true :o)
14:52 FROGGS[mobile] so the question is: why was nqp built that way?
14:52 ugexe im trying to discover why in the configures, but naturally at first glance it all seems legit
14:53 FROGGS[mobile] sure, I wrote it :P
14:55 ugexe this could all be solved if you just made more obvious miscalculations
14:56 FROGGS[mobile] I'm sorry :S
14:59 raiph joined #perl6
15:00 grondilu yeah, the script I wrote to convert .dat mesh files to webgl works.  Check out my spaceship:  http://grondilu.github.io/oolite/cobra3.html
15:00 grondilu Perl6++
15:01 grondilu the scritp really is ugly though: https://gist.github.com/grondilu/aa164666244e3fdeee8e
15:01 grondilu but it does the job
15:02 raiph joined #perl6
15:06 raiph joined #perl6
15:07 ugexe it seems as though the vs2013 native tool command prompt is no longer setting the Path to cl, so the probe never sees it. suppose i should reinstall VS
15:07 VinceDee joined #perl6
15:09 raiph joined #perl6
15:12 raiph joined #perl6
15:13 jnthn ugexe: try running "vcvars64"
15:13 raiph joined #perl6
15:17 raiph joined #perl6
15:18 ugexe no such command, nor am i able to find a matching file
15:20 hoelzro does anyone here use the DBIish Pg driver? I tried hacking on cpandatesters this weekend, only to find that a while $sth.fetchrow_hashref -> $row { ... } never terminates (for me) when using the Pg driver
15:20 raiph joined #perl6
15:24 itz grondilu++ # that is way cool
15:24 tinyblak joined #perl6
15:24 moritz m: say so []
15:24 camelia rakudo-moar 150df8: OUTPUT«False␤»
15:24 moritz hoelzro: sounds like a bug
15:25 colomon huh.  just tried the parallel mandelbrot code for the first time in ages.
15:25 colomon in the past, it almost always flaked out badly.
15:25 hoelzro moritz: indeed, I'm just wondering if others are seeing it
15:25 colomon today, it seems to run well under Linux, but still flakes out under OS X.
15:26 colomon ah, there were go, got it to flake out under Linux too
15:26 masak DrForr: it might not surprise you at all that "winning ways" are among my favorite books.
15:28 masak ShimmerFairy: recently I've been looking into topology, especially algebraic topology. seeing http://irclog.perlgeek.de/perl6/2015-06-29#i_10820956 I suspect you would enjoy doing the same.
15:29 hoelzro also, is there anyone who can get me a copy of the DB that testers.perl6.org uses? the setup SQL files aren't entirely complete =/
15:29 masak ShimmerFairy: algebraic topology is basically "oh look, a bridge over from topology to algebra! let's solve a whole host of open topology problems using well-honed algebraic tricks!"
15:30 colomon algebraic topology was my most incomprehensible class at school.
15:31 masak well, I'll be honest and say that there are many things about it that I still incomprehend :P
15:31 masak but I kind of enjoy that, spending a fraction of my time outside my "knowledge comfort zone"
15:32 raiph joined #perl6
15:35 raiph joined #perl6
15:36 gfldex joined #perl6
15:36 coffee` joined #perl6
15:44 ugexe print qq|hello\rXXXXX| # on Windows this displays differently than perl5 on windows (or rakudo on linux as well)
15:47 jnthn colomon: I did a bunch of work on conc stability over the last month or so, so I'm glad it's at least less flaky... There's more bugs to find yet, alas.
15:47 colomon jnthn: yeah, I tried it after reading your blog post linked in the p6 “weekly”.  :)
15:47 timotimo oh, speaking of the weekly
15:48 colomon jnthn: on linux it seemed much better, but I still got a seg fault after enough tries (maybe 5)
15:48 colomon jnthn: on OS X I’m yet to get a successful run
15:48 timotimo lizmat: in the last weekly you did for me, you mentioned explicitly how the next one will be ... more or less; should i let you write this week's weekly or take over again?
15:48 hoelzro m: sub nothing { return } ; .say for (["value"].list Z nothing())
15:48 camelia rakudo-moar 150df8: OUTPUT«value Nil␤»
15:49 hoelzro m: sub nothing { return Empty } ; .say for (["value"].list Z nothing())
15:49 camelia rakudo-moar 150df8: ( no output )
15:49 jnthn colomon: OS X seems to be great at bringing out all kinds of bugs :)
15:49 colomon jnthn: :)
15:49 hoelzro what are the rules regarding a return without a value? why does the Z operator yield anything there?
15:51 jnthn hoelzro: I suspect that needs considering as part of GLR
15:53 pullphinger joined #perl6
16:03 espadrine joined #perl6
16:03 gtodd joined #perl6
16:07 hoelzro jnthn: what would be the expected post-GLR behavior there?
16:08 jnthn hoelzro: I said "needs considering" 'cus I don't know :P
16:09 hoelzro ah =)
16:09 jnthn TimToady or pmichaud may know, however :)
16:10 rindolf joined #perl6
16:10 rindolf Hi all . Sup?
16:15 Ven joined #perl6
16:17 tinyblak joined #perl6
16:18 uncleyear joined #perl6
16:19 tadzik hoelzro: oh, yes! Please remind me an hour from now :)
16:19 spider-mario joined #perl6
16:19 hoelzro will do!
16:20 dha joined #perl6
16:21 ugexe perl6: my $p = Proc::Async; # re: recent panda PRs
16:21 camelia rakudo-jvm 150df8: OUTPUT«Could not find symbol '&Async'␤  in block <unit> at /tmp/tmpfile:1␤␤»
16:21 camelia ..rakudo-moar 150df8: ( no output )
16:23 [Coke] .seen curisovidpoe
16:23 yoleaux I haven't seen curisovidpoe around.
16:23 [Coke] .seen curtisovidpoe
16:23 yoleaux I saw CurtisOvidPoe 8 Jun 2015 23:27Z in #perl6: <CurtisOvidPoe> japhb: thank you.
16:23 dalek nqp: 64945f1 | jnthn++ | tools/build/MOAR_REVISION:
16:23 dalek nqp: Get MoarVM with bug fix, extra APIs.
16:23 dalek nqp: review: https://github.com/perl6/nqp/commit/64945f13ac
16:25 rindolf hoelzro: long time! Sup?
16:25 dha Do we have a p6 equivalent of C<localtime> yet? Or C<gmtime> for that matter?
16:25 JimmyZ_ Datetime?
16:25 hoelzro rindolf: nothing really; summertime, so I'm busier with non-programming stuff than usual. yourself?
16:27 TimToady the .seen command needs a 'Did you mean ...?'
16:29 jaffa4 dha: now
16:29 jaffa4 m: say now
16:29 camelia rakudo-moar 150df8: OUTPUT«Instant:1435595431.112935␤»
16:30 dha yeah, that's not really equivalent to localtime... :-)
16:30 jaffa4 m: say DateTime.new(now)
16:30 camelia rakudo-moar 150df8: OUTPUT«2015-06-29T16:30:48Z␤»
16:31 jaffa4 m: say DateTime.new(now).hour
16:31 camelia rakudo-moar 150df8: OUTPUT«16␤»
16:31 jaffa4 m: say DateTime.new(now).minute
16:31 camelia rakudo-moar 150df8: OUTPUT«31␤»
16:31 dalek rakudo/nom: 7378ad7 | jnthn++ | src/Perl6/ModuleLoader.nqp:
16:31 dalek rakudo/nom: Fix "dependency not precomp'd" error.
16:31 dalek rakudo/nom:
16:31 dalek rakudo/nom: Seems it didn't trigger for some reason the previous way we had it
16:31 dalek rakudo/nom: checked. This gets it more reliable.
16:31 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/7378ad77e0
16:31 dalek rakudo/nom: 9ac7c8e | jnthn++ | / (2 files):
16:31 dalek rakudo/nom: Use MoarVM API for HOW access.
16:31 dalek rakudo/nom:
16:31 dalek rakudo/nom: Digging directly into the pointer isn't good enough, since we lazily
16:31 dalek rakudo/nom: deserialize ->HOW. This fixes pre-comp bugs involving subset types,
16:31 dalek rakudo/nom: and possibly others. Most immediately, it fixes RT #125245.
16:31 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/9ac7c8e20e
16:31 synbot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=125245
16:31 dalek roast: ca60fc4 | jnthn++ | S10-packages/precompilation.t:
16:31 dalek roast: Test for RT #125245.
16:31 dalek roast: review: https://github.com/perl6/roast/commit/ca60fc47f9
16:31 synbot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=125245
16:32 rindolf hoelzro: I've been doing some packaging and QA work for Mageia Linux.
16:32 dha Yeah, DateTime is closer, but I'm still not seeing something that gives the output C<scalar(localtime)> does.
16:32 dha I.e. something a human doesn't have to stop and think about. :-)
16:34 rindolf hoelzro: and I contributed to a Sokoban solver written in Python that I found on GitHub and which had a suitable licence. I used the GitHub API to download all the relevant repositories to see if they contain a LICENSE file.
16:34 [Coke] jnthn++ # keepin' busy!
16:35 jaffa4 m: say Date.new(now).hour
16:35 camelia rakudo-moar 150df8: OUTPUT«Method 'hour' not found for invocant of class 'Date'␤  in block <unit> at /tmp/MdgEzlieKa:1␤␤»
16:35 jaffa4 m: say Date.new(now)
16:35 camelia rakudo-moar 150df8: OUTPUT«2015-06-29␤»
16:35 jaffa4 m: say Date.new(now).day-of-week
16:35 camelia rakudo-moar 150df8: OUTPUT«1␤»
16:36 b2gills jaffa4: instead of `DateTime.new(now)` just use `DateTime.now`
16:36 dha So, so far, I'm not finding equivalents of $mday, $wday, $yday $isdst and the scalar output of localtime().
16:37 raydiak dha: http://doc.perl6.org/type/DateTime
16:37 dha Yes, that is where I am not finding those things. :-)
16:37 jaffa4 m: say Date.new(now).day-of-month
16:37 camelia rakudo-moar 150df8: OUTPUT«29␤»
16:37 nowan joined #perl6
16:37 dha oh, ok, Dateish.
16:38 jaffa4 m: say Date.new(now).day-of-week
16:38 camelia rakudo-moar 150df8: OUTPUT«1␤»
16:38 jaffa4 m: say Date.new(now).day-of-year
16:38 camelia rakudo-moar 150df8: OUTPUT«180␤»
16:38 dha Ok, so that leaves $isdst and C<scalar(localtime)>
16:39 raydiak m: say ~DateTime.now
16:39 camelia rakudo-moar 150df8: OUTPUT«2015-06-29T18:39:53+02:00␤»
16:40 jaffa4 I cannot find $sdst
16:40 * raydiak is not sure about dst either
16:40 raydiak well that's not quite scalar localtime either
16:41 dha Right.
16:41 jaffa4 you can build it
16:42 dha And, for those who may have missed it, this is the context for what I'm asking all these questions for: https://github.com/dha/perl5-to-perl6-docs
16:42 raydiak yeah, don't see a direct equivalent for scalar localtime
16:43 dha Ok, will document that as such. And, just to be sure, as I'm no expert on time zones, can UTC be considered the same as the Greenwich time zone for most applications?
16:44 raydiak wikipedia says "For most purposes, UTC is considered interchangeable with GMT, but GMT is no longer precisely defined by the scientific community."
16:45 raydiak m: say ~Date.new # :)
16:45 camelia rakudo-moar 150df8: OUTPUT«2015-12-24␤»
16:45 jnthn Just verified: the pre-comp bug I just fixed was the one afflicting Text::CSV also
16:46 jnthn .tell |Tux| 124298 is fixed :)
16:46 yoleaux jnthn: I'll pass your message to |Tux|.
16:46 raydiak jnthn++
16:46 dha ok, so the equivalent of gmtime would be methods on a UTC DateTime object.
16:46 jaffa4 m: say callframe().my
16:47 camelia rakudo-moar 150df8: OUTPUT«EnumMap.new("!UNIT_MARKER" => Mu, "\$!" => Mu, "\$/" => Mu, "\$=finish" => Mu, "\$=pod" => Mu, "\$?PACKAGE" => Mu, "\$_" => Mu, "::?PACKAGE" => Mu, "\@?INC" => Mu, :EXPORT(Mu), :GLOBALish(Mu))␤»
16:47 jaffa4 m: say callframe().my{"\$>PACKAGE"};
16:47 camelia rakudo-moar 150df8: OUTPUT«(Any)␤»
16:48 jaffa4 m: module eeee; say callframe().my{"\$>PACKAGE"};
16:48 camelia rakudo-moar 150df8: OUTPUT«(Any)␤Saw 1 occurrence of deprecated code.␤================================================================================␤Semicolon form of 'module' without 'unit' seen at:␤  /tmp/Fgj6VTbLmQ, line 1␤Deprecated since v2015.4, will be removed wit…»
16:48 |Tux| jnthn++
16:48 yoleaux 16:46Z <jnthn> |Tux|: 124298 is fixed :)
16:48 * |Tux| tests locally …
16:48 jaffa4 m: unit module eeee; say callframe().my{"\$>PACKAGE"};
16:48 camelia rakudo-moar 150df8: OUTPUT«(Any)␤»
16:48 raydiak dha: sounds right, probably via DateTime.utc()
16:49 jaffa4 m: unit module eeee; say callframe().my;
16:49 camelia rakudo-moar 150df8: OUTPUT«EnumMap.new("\$?PACKAGE" => Mu, "\$_" => Mu, "::?PACKAGE" => Mu)␤»
16:49 raydiak m: say DateTime.now.utc
16:49 camelia rakudo-moar 150df8: OUTPUT«2015-06-29T16:49:09Z␤»
16:49 jaffa4 m: say DateTime.now.utc
16:49 camelia rakudo-moar 150df8: OUTPUT«2015-06-29T16:49:28Z␤»
16:49 jaffa4 not correct
16:49 jaffa4 ok, it is
16:50 raydiak m: say DateTime.now
16:50 camelia rakudo-moar 150df8: OUTPUT«2015-06-29T18:50:07+02:00␤»
16:51 AlexDaniel joined #perl6
16:52 Zoffix joined #perl6
16:54 raydiak dha: I think for many things the difference between localtime and gmtime isn't important to think about any more...e.g. you will get the correct Duration if you subtract two DateTime.Instant()s from different timezones
16:54 jnthn 6 RTs so far today. Time for some čevapčiči, then I'll see what more I can fix in the evening session :)
16:54 jnthn &
16:54 dha Granted, but I wanted to put something in for C<gmtime> other than "Just forget about it."
16:58 raydiak certainly, I just meant if there is an appropriate place, you may want to note where the fundamental methodology has changed, to further ease the transition
16:58 * raydiak ought to go read before making suggestions though :)
17:00 dha Yeah. Not sure offhand how to really explain it. But, hey, patches welcome. :-)
17:03 |Tux| jnthn, I now get new failures
17:03 |Tux| likely not related to your fix
17:03 raydiak dha: not sure either myself atm, but I'll keep that in mind :)
17:04 |Tux| # expected: 'QB8m:"Ħēłĺº"'
17:04 |Tux| #      got: 'QB8m:"\x[126]ēłĺº"'
17:04 |Tux| why is only *one* of those UTF8 characters converted to \x notation (where I expected none to be in \x)
17:06 |Tux| the other fail is related:
17:06 |Tux| # expected: 'QB8m:"⑮"'
17:06 |Tux| #      got: 'QB8m:"\x[246e]"'
17:09 |Tux| m: "Ħēłĺº".say
17:09 camelia rakudo-moar 9ac7c8: OUTPUT«Ħēłĺº␤»
17:09 |Tux| m: "Ħēłĺº".gist.say
17:09 camelia rakudo-moar 9ac7c8: OUTPUT«Ħēłĺº␤»
17:09 |Tux| m: "Ħēłĺº".perl.say
17:09 camelia rakudo-moar 9ac7c8: OUTPUT«"\x[126]ēłĺº"␤»
17:09 |Tux| That does *not* look right to me. very inconsistent
17:12 |Tux| m: "Hēłĺº".perl.say
17:12 camelia rakudo-moar 9ac7c8: OUTPUT«"Hēłĺº"␤»
17:12 |Tux| m: "HĦēłĺº".perl.say
17:12 camelia rakudo-moar 9ac7c8: OUTPUT«"HĦēłĺº"␤»
17:13 |Tux| so, only if the first character is "special", .perl transforms that to \x[]
17:13 colomon m: "ēłĺº".perl.say
17:13 camelia rakudo-moar 9ac7c8: OUTPUT«"\x[113]łĺº"␤»
17:16 colomon seems like
17:19 FROGGS joined #perl6
17:19 raiph joined #perl6
17:19 dha C<lstat> and the C<_> filehandle - gone?
17:21 dha Oh, it's probably something in IO now, isn't it. /me digs
17:21 ugexe its in nqp at least
17:21 ugexe m: use nqp; nqp::lstat
17:21 camelia rakudo-moar 9ac7c8: OUTPUT«===SORRY!===␤Arg count 0 doesn't equal required operand count 3 for op 'lstat'␤»
17:23 dha hm. $fh.stat and $fh.lstat do not seem to work.
17:25 ugexe so on windows my $line = "1\r2"; will print "1\n2" to the terminal screen, and "12" printing to a file handle
17:29 raydiak dha: I think IO::Handle and IO::Path both do IO::FileTestable
17:34 ugexe \b *does* work on windows moarvm though
17:36 dha raydiak - yes, that does implement the various filetest operators. No obvious equivalent for stat/lstat, though.
17:36 ugexe case MVM_CCLASS_NEWLINE has a if (cp == '\n' ... cp = '\r' in string/ops.c. guess ill pluck that out '\r' out and see what happens
17:38 dha Ok, *please* tell me that C<msgctl> C<msgget> C<msgrcv> and C<msgsnd> are gone so I don't have to document them.
17:38 b2gills ugexe: "1\r2" and "1\n2" will print "1\r\n2" on windows if the filehandle is in text mode
17:39 b2gills That's a (mis)feature of DOS/Windows
17:41 b2gills dha: I am confident that will never be a part of the language itself ( it would be relegated to an external module )
17:41 dha Good!
17:47 jaffa4 Is it possible to set a variable in the caller's namespace?
17:49 dha So, it looks like one can still C<use> a module. is the complementary C<no> still usable?
17:49 psch m: no strict; $x = 5; say $x
17:49 camelia rakudo-moar 9ac7c8: OUTPUT«5␤»
17:50 psch dha: not as in "unload this module" i think, though
17:50 dha And, not, I imagine for versions either.
17:50 dha So, still usable for pragmas, but not otherwise?
17:51 jnthn .u Ħ
17:51 yoleaux U+0126 LATIN CAPITAL LETTER H WITH STROKE [Lu] (Ħ)
17:51 dha Would that be a reasonable thing to say?
17:51 jnthn m: say uniprop 'Ħ'.ord, 'Canonical_Combining_Class'
17:51 camelia rakudo-moar 9ac7c8: OUTPUT«0␤»
17:51 jnthn |Tux|: Hm, it's only supposed to trigger the \x-ing if it's a combining char at the start
17:53 jnthn m: my $s = 'Ħ'; my int $opener = ord($s); say so $opener >= 256 && uniprop($opener, 'Canonical_Combining_Class')
17:53 camelia rakudo-moar 9ac7c8: OUTPUT«True␤»
17:53 jnthn m: say uniprop('Ħ'.ord, 'Canonical_Combining_Class').WHAT
17:53 camelia rakudo-moar 9ac7c8: OUTPUT«(Str)␤»
17:54 jnthn Oh...
17:54 jnthn And that's what we get for making '0' be True :P
17:54 TimToady heh
17:54 FROGGS ups
17:54 TimToady I'm surprised it took this long to bite us
17:55 TimToady but please, in the sense that it tends to support the decision as the correct one
17:55 TimToady *pleased
17:55 jnthn *nod*
17:55 jnthn Yes, I was very much +1 to the change :)
17:56 * Ven backlogs a bit
17:56 FROGGS m: say "Ħ" ~~ /<:Canonical_Combining_Class({say $_; say $_.WHAT; 1})>/ # why is that a string anyway?
17:56 camelia rakudo-moar 9ac7c8: OUTPUT«0␤(Str)␤「Ħ」␤»
17:56 jnthn Anyways, 1-char addition should fix it :)
17:56 jnthn FROGGS: I *think* it may be able to take a non-numeric value also
17:57 ugexe b2gills: the filehandle was in text mode...
17:57 FROGGS jnthn: not according to MoarVM/UNIDATA/PropertyValueAliases.txt:361:# Canonical_Combining_Class (ccc)
17:58 jnthn static char *Canonical_Combining_Class_enums[56] = { "Not_Reordered", "0", ...
17:59 FROGGS # In the case of ccc, there are 4 fields. The second field is numeric, third
17:59 FROGGS # is abbreviated, and fourth is long.
17:59 FROGGS so yeah, hmmm
18:00 jnthn Got a fix
18:00 jnthn m: use Test; is "Ħ".perl.chars, 3;
18:00 camelia rakudo-moar 9ac7c8: OUTPUT«not ok 1 - ␤␤# Failed test at /tmp/PchVfxBbSC line 1␤# expected: '3'␤#      got: '9'␤»
18:02 telex joined #perl6
18:02 dalek rakudo/nom: 76d4cf3 | jnthn++ | src/core/Str.pm:
18:02 dalek rakudo/nom: Fix type-o in Str.perl comb-chars change.
18:02 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/76d4cf36dc
18:03 dalek roast: efef903 | jnthn++ | S02-names-vars/perl.t:
18:03 dalek roast: Another regression test for Str.perl.
18:03 dalek roast: review: https://github.com/perl6/roast/commit/efef903cd0
18:03 jnthn |Tux|: Fixed, thanks.
18:04 captain-adequate joined #perl6
18:09 ggoebel2 joined #perl6
18:12 gfldex grondilu: i just used perl6 while compiling it. I utilised witchcraft and btrfs snapshots to achieve that. As a bonus i can now switftly switch between rakudo versions by resymlinking the target directory. You may want to give that a try.
18:14 dha If I'm reading this right, one would no longer use C<opendir> to create a directory handle, but rather something like C<my $dir = IO::Path.new("directory")> or, probably more likely, C<my $dh = "directory".IO>?
18:17 ugexe yeah, it doesnt create anything
18:17 ugexe "directory".IO.mkdir on the other hand...
18:18 gfldex m: .say for '.'.IO.dir;
18:18 camelia rakudo-moar 9ac7c8: OUTPUT«"/home/camelia/star".IO␤"/home/camelia/.cpanm".IO␤"/home/camelia/.local".IO␤"/home/camelia/.npm".IO␤"/home/camelia/.perl6".IO␤"/home/camelia/.perlbrew".IO␤"/home/camelia/.rcc".IO␤"/home/camelia/.ssh".IO␤"/home/camelia/Perlito".IO␤"/home/c…»
18:18 domidumont joined #perl6
18:18 gfldex m: .basename.say for '.'.IO.dir;
18:18 camelia rakudo-moar 9ac7c8: OUTPUT«star␤.cpanm␤.local␤.npm␤.perl6␤.perlbrew␤.rcc␤.ssh␤Perlito␤bin␤evalbot␤log␤niecza␤nqp-js␤p1␤p2␤perl5␤rakudo-inst-1␤rakudo-inst-2␤rakudo-star-2015.02␤rakudo-star-2015.03␤rakudo1␤rakudo2␤star-2014.09␤std␤ugex…»
18:22 dalek roast: 1c4cfe4 | jnthn++ | S06-advanced/return.t:
18:22 dalek roast: Tests for RT #115868.
18:22 dalek roast: review: https://github.com/perl6/roast/commit/1c4cfe412f
18:22 synbot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=115868
18:23 dalek rakudo/nom: e52a889 | jnthn++ | src/Perl6/Actions.nqp:
18:23 dalek rakudo/nom: Avoid a warning while producing an error.
18:23 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/e52a889997
18:23 dalek rakudo/nom: db0e838 | jnthn++ | src/core/Backtrace.pm:
18:23 dalek rakudo/nom: Avoid useless error reporting subs in backtrace.
18:23 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/db0e838c33
18:27 atroxaper joined #perl6
18:30 nowan joined #perl6
18:30 sjn_phone_ joined #perl6
18:31 AlexDaniel FROGGS: oh! I'm so happy that somebody was able to reproduce that bug
18:31 FROGGS AlexDaniel: yeah... I just don't know how to solve it :/
18:32 AlexDaniel FROGGS: by the way, what did you use to get that backtrace?
18:33 AlexDaniel FROGGS: maybe it would make sense to also get the backtrace for free(): invalid pointer
18:33 AlexDaniel FROGGS: because once upon a time I got that error message as well
18:34 AlexDaniel although I did not change anything, as far as I remember
18:34 AlexDaniel but you probably know better
18:35 skids m: sub f (|c ($a, $b)) { }; &f.signature.arity.say; &f.signature.count.say # How do we feel about getting .count to look for nonpresence of subsig slurpies?
18:35 camelia rakudo-moar 76d4cf: OUTPUT«0␤Inf␤»
18:35 skids Also
18:35 FROGGS AlexDaniel: first you need to build MoarVM with --debug, potentially --debug=3
18:35 skids m: sub f (|c ($a, $b), $a, $b) { }; &f.signature.arity.say; &f.signature.count.say # How do we feel about making that not "variadic"?
18:35 camelia rakudo-moar 76d4cf: OUTPUT«5===SORRY!5=== Error while compiling /tmp/9CG3vPEx1B␤Redeclaration of symbol $a␤at /tmp/9CG3vPEx1B:1␤------> 3sub f (|c ($a, $b), $a7⏏5, $b) { }; &f.signature.arity.say; &f.si␤    expecting any of:␤        shape declaration␤»
18:35 skids oops
18:35 skids m: sub f (|c ($a, $b), $d, $e) { }; &f.signature.arity.say; &f.signature.count.say # How do we feel about making that not "variadic"?
18:35 camelia rakudo-moar 76d4cf: OUTPUT«5===SORRY!5=== Error while compiling /tmp/ipo54KHHM5␤Cannot put required parameter $d after variadic parameters␤at /tmp/ipo54KHHM5:1␤------> 3sub f (|c ($a, $b), $d7⏏5, $e) { }; &f.signature.arity.say; &f.si␤    expecting any of:␤      …»
18:36 FROGGS AlexDaniel: and then when you encounter a segfault, run your script under perl6-gdb-m
18:36 FROGGS AlexDaniel: and the you'll see instructions
18:36 jnthn FROGGS, AlexDaniel: Which SEGV do you speak of? :)
18:36 FROGGS AlexDaniel: there is also perl6-valgrind-m, which is useful
18:37 FROGGS jnthn: RT #125500
18:37 synbot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=125500
18:37 FROGGS #5 0x00007ffff79070a3 in MVM_frame_dec_ref (tc=0x603730, frame=0xf5addd0) at src/core/frame.c:85
18:38 AlexDaniel FROGGS: well, I did perl6-valgring-m, the output is provided in one of the links
18:38 AlexDaniel although I did not use any additional options
18:39 AlexDaniel d*
18:39 skids (...I'd be happy to work on the above two Signature things if that is what is wanted.  Also, I'm still plugging away at a new .assuming.)
18:40 FROGGS AlexDaniel: valgrind is only useful, if it reveals an illegal read or illegal write btw
18:41 AlexDaniel FROGGS: ok, got it
18:42 DrForr masak: Indeed it would not surprise me re:"winning ways".
18:46 rindolf joined #perl6
18:46 rindolf Hi all.
18:47 jnthn FROGGS: Are you running latest builds of stuff?
18:47 FROGGS jnthn: ~$ perl6-m --version
18:47 FROGGS This is perl6 version 2015.06-90-gb197408 built on MoarVM version 2015.06-44-g2c96984
18:47 dha So, C<package>. S10 indicates it can be used with a block or to indicate that an entire file is in a given package. Not in the docs, however.
18:47 FROGGS jnthn: not quite I guess
18:48 dha The only thing I can find in the docs is http://doc.perl6.org/routine/package which confuses me.
18:48 jnthn FROGGS: I fixed a missing big-int related error check today
18:48 dha Are the claims in S10 actually functional at this point? And how would one use what's shown at http://doc.perl6.org/routine/package ?
18:48 FROGGS jnthn: I'm rebuilding now...
18:51 hoelzro tadzik: ping
18:52 ugexe m: class Foo { has $.a; }; my $bar = Foo.new.^attributes; say $bar.[0].package
18:52 camelia rakudo-moar db0e83: OUTPUT«(Foo)␤»
18:55 dha what's the C<[0]> for?
18:55 dha oh.
18:55 ugexe attributes is plural. its a list
18:55 dha right.
18:58 dha m: my $x = IO::Path.new(".").^attributes; say $x.[0].package;
18:58 camelia rakudo-moar db0e83: OUTPUT«IO::Path is disallowed in restricted setting␤  in sub restricted at src/RESTRICTED.setting:1␤  in method new at src/RESTRICTED.setting:32␤  in block <unit> at /tmp/Ib9wn3ihKV:1␤␤»
19:00 khw joined #perl6
19:01 dalek rakudo/nom: 14131df | jnthn++ | src/Perl6/Actions.nqp:
19:01 dalek rakudo/nom: Add a bunch of missing re-declaration checks.
19:01 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/14131df224
19:01 dalek roast: 20f6891 | jnthn++ | S32-exceptions/misc.t:
19:01 dalek roast: Various redeclaration tests, including RT #108462.
19:01 dalek roast: review: https://github.com/perl6/roast/commit/20f6891bab
19:01 synbot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=108462
19:02 dha I guess for my current purposes, I don't really need to understand C<.package>. I just need to know if C<package> does what S10 says it should.
19:05 laouji joined #perl6
19:09 tadzik hoelzro: pong
19:09 hoelzro tadzik: wanna merge that PR? =)
19:10 tadzik yeah :)
19:11 tadzik done, thaks
19:11 tadzik I should merge more PRs
19:11 tadzik this week is the last fulltime week though, tuits will come
19:16 vendethiel m: sub infix:<=>($a, $b) { $a + $b }; say 3 = 4
19:16 camelia rakudo-moar db0e83: OUTPUT«5===SORRY!5=== Error while compiling /tmp/EEbbFBq56o␤Cannot override infix operator '=', as it is a special form handled directly by the compiler␤at /tmp/EEbbFBq56o:1␤------> 3sub infix:<=>7⏏5($a, $b) { $a + $b }; say 3 = 4␤»
19:17 [Coke] anyone have any feedback on the attr-required branch? or on the required tests? Or on sugar for the syntax?
19:17 bin_005 joined #perl6
19:18 sjn_phone_ joined #perl6
19:19 [Coke] http://irclog.perlgeek.de/perl6/2015-06-24#i_10797106 - wondering what that would look like - class F { has $.bar! } ?
19:20 FROGGS [Coke]: I like it
19:20 hoelzro tadzik: thanks!
19:20 PerlJam class C { has $!x! }; is the one that people may react to.
19:21 hoelzro now I just need a merge on https://github.com/perl6-community-modules/SmokeResults/pull/2
19:21 aindilis joined #perl6
19:22 masak TimToady: can quasi blocks install new operators in COMPILING:: ? affecting the parse in the mainline block they get spliced into.
19:22 dha I'm guessing that C<pipe> has been eaten by some kind of IO class?
19:23 PerlJam [Coke]: I'd like to see your branch merged even if the sugar does not yet exist.
19:24 skids .oO(Diet [Coke]?)
19:24 [Coke] skids: CokeZero is preferred.
19:25 [Coke] PerlJam: I have no problem with that - probably better to do it now, give a few weeks in case it turns out to be a bad idea.
19:25 jnthn .oO( No...*beer* is preferred! )
19:26 [Coke] jnthn: sadly, no, I even mean that for beverage choice. no more beer.
19:26 [Coke] (too many carbs)
19:26 * jnthn agrees with PerlJam, fwiw
19:27 FROGGS aye, 'is require' is very nice and clear
19:27 masak PerlJam: class C { has $!x! } does not make much sense, since if it doesn't have an accessor, it also *can't* be initialized at construction. at least not with the normal .new and .BUILD
19:28 PerlJam masak: That won't stop people from trying to do it was my point :)
19:28 FROGGS jnthn: so, I'm pressing the merge button? or do you think we should wait for TimToady to chime in?
19:29 jnthn FROGGS: I thought TimToady had at some point said it was OK to go in for now to play with?
19:29 FROGGS ahh, missed that
19:29 jnthn Maybe I'm confusing two different things though :)
19:29 dalek rakudo/nom: 212c0c0 | coke++ | src/ (3 files):
19:29 dalek rakudo/nom: Add a required attr to Attributes
19:29 dalek rakudo/nom:
19:29 dalek rakudo/nom: If "is required" is present, set the attr.
19:29 dalek rakudo/nom:
19:29 FROGGS [Coke]++
19:30 FROGGS jnthn: I don't mind :o)
19:30 dalek joined #perl6
19:32 masak PerlJam: well, if that is a problem, then it's easy to make both `has $!attr is required;` and `has $!attr!;` compile-time errors (with good error messages explaining why the combination doesn't make sense).
19:32 TEttinger joined #perl6
19:33 PerlJam masak: aye, I think it would be required  ;)
19:33 dha Is there a p6 equivalent for p5 C<pos>, or is that just gone?
19:34 masak dha: global state bad, but there are some equivalents.
19:34 DrForr nine: Around?
19:35 dalek star: 1cc0f0a | gerd++ | tools/build/ (2 files):
19:35 dalek star: languages -> share
19:35 dalek star: review: https://github.com/rakudo/star/commit/1cc0f0adce
19:35 dalek star: 27a11d5 | FROGGS++ | tools/star/Makefile:
19:35 dalek star: set version of moar/nqp/rakudo to 2015.06
19:35 dalek star: review: https://github.com/rakudo/star/commit/27a11d540d
19:35 dalek star: 023a885 | FROGGS++ | modules/ (22 files):
19:35 dha masak -  any worth mentioning?
19:35 dalek star: update submodules
19:35 dalek star: review: https://github.com/rakudo/star/commit/023a88519d
19:35 dalek star: f30a4d9 | FROGGS++ | docs/announce/2015.06.md:
19:35 dalek star: stub release announcement
19:35 dalek star: review: https://github.com/rakudo/star/commit/f30a4d9215
19:35 dalek star: c7b57d0 | FROGGS++ | / (2 files):
19:35 DrForr Or rather, the owner of IO::Handle - Deprecation alert on IO::Handle::pipe
19:35 dalek star: update versions / copyright year
19:35 dalek star: review: https://github.com/rakudo/star/commit/c7b57d08f0
19:35 dalek star: 9deab8a | FROGGS++ | / (4 files):
19:35 dalek star: added Template-Mustache and File-Temp, these are deps
19:35 dalek star: review: https://github.com/rakudo/star/commit/9deab8adaa
19:35 dalek star: 940c2f3 | FROGGS++ | / (6 files):
19:35 dalek star: move modules into correct place
19:35 dalek star: review: https://github.com/rakudo/star/commit/940c2f3a9c
19:35 dalek star: 36ecc6c | FROGGS++ | / (3 files):
19:35 dalek star: add File::Directory::Tree as a dependency
19:35 dalek star: review: https://github.com/rakudo/star/commit/36ecc6c107
19:35 FROGGS rest of star comes tomorrow
19:35 PerlJam FROGGS++ nice
19:36 jnthn FROGGS++ \o/
19:36 PerlJam FROGGS: ooc, is Inline::Perl5 part of R*?
19:38 FROGGS PerlJam: no, nothing NativeCallish in there
19:40 PerlJam FROGGS: was that because NativeCall was separate at one time, or something else?
19:40 FROGGS PerlJam: no, it is more like we don't know what libs are there on the target system
19:41 nine DrForr: yes
19:42 PerlJam FROGGS: Perl 5 is a fairly safe bet  :)  Anyway, I've found that particular module quite useful lately.
19:42 FROGGS AlexDaniel: can you reproduce RT #125500 with latest rakudo+nqp+moarvm? I can't...
19:42 synbot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=125500
19:43 FROGGS PerlJam: yes, and I think we should revise the included dists... though we also need to take platforms like windows into account
19:44 DrForr nine: IO::Handle::pipe gave me a deprecation alert, so my query was really to the author there. Though I do have a quick question re: Inline::Perl5. Namely, is there an 'install' step missing in the docs?
19:44 ugexe the deprecation sounds like its from CompUnit
19:45 DrForr The 'BUILDING' bit stops at testing, and I don't see an install in the generated Makefile.
19:45 nine DrForr: well to be precise, the docs do not talk about installing at all ;) Only about building.
19:45 nine DrForr: that's because I actually have no idea what make install would have to do to install. I only know that we can install modules with panda.
19:45 DrForr I'll assume that is by design then.
19:46 DrForr Okay, I did this build by hand. I'll do 'panda install' then.
19:46 FROGGS IF SOMEONE WANTS TO TRY A NEW STAR, here is a release candidate: http://froggs.de/perl6/rakudo-star-2015.06-RC0.tar.gz
19:47 DrForr (assuming it's going to DTRT.)
19:47 nine Is there a way besides panda to install a module?
19:48 DrForr You're asking the wrong person here :)
19:48 ugexe something like my $repo = CompUnitRepo::Local::Installation.new(%*CUSTOM_LIB<site>); $repo.install(|from-json("META.info".slurp), @includes);
19:49 ugexe ufo and zef can also install modules. although anything that uses panda specific Build.pm wont get that code run
19:50 ugexe well ufo just creates a makefile you can use to install but almost the same :)
19:50 DrForr nine: Just so you're aware, something in the toolchain is passing -Ilib to moar, it may very well be me :)
19:51 DrForr No, not my invocation of perl6.
19:52 dalek rakudo/nom: 4bcbc74 | jnthn++ | src/ (3 files):
19:52 dalek rakudo/nom: Make ENTER phaser work as an r-value.
19:52 dalek rakudo/nom:
19:52 dalek rakudo/nom: In doing so, refactor the way we produce code to run phasers, so we
19:52 dalek rakudo/nom: do more work at compile time and less at runtime. This also should
19:52 dalek rakudo/nom: give the optimizer a shot at inlining simple ENTER phasers.
19:52 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/4bcbc7435c
19:52 * DrForr reads the docs more closely.
19:52 dalek roast: fbe6471 | jnthn++ | S04-phasers/enter-leave.t:
19:52 dalek roast: Tests for RT #116102 (ENTER phasser as r-value).
19:52 dalek roast: review: https://github.com/perl6/roast/commit/fbe647164b
19:52 synbot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=116102
19:52 dha So, if you want to C<print> to something other than $*OUT, you must use C<$fh.print> rather than C<print $fh "whatever"> now?
19:53 ugexe no
19:53 dha or am I just not finding the right incantation for it.?
19:53 [Sno] joined #perl6
19:53 ugexe method print { die } :)
19:53 PerlJam dha:  print $fh: "whatever";  #not the colon
19:53 PerlJam er note
19:54 dha ah. In general terms, what's the colon doing?
19:54 jnthn Darn, 9 RTs fixed today...now I need to do one more so I can get to double figures...
19:54 PerlJam providing some syntax for indirect object notation so that Perl doesn't have to guess what you mean :)
19:55 DrForr nine: Think I found the issue, ne'er mind.
19:56 dha And is that use of ":" god forbid documented anywhere? :-)
19:58 PerlJam S03:4019
19:58 synbot6 Link: http://design.perl6.org/S03.html#line_4019
19:58 dha thanks.
19:58 TimToady S12:317
19:58 synbot6 Link: http://design.perl6.org/S12.html#line_317
20:03 PerlJam It's too bad the bot doesn't have an index of synopses such that you can ask it to search for "indirect object" (for instance) and have it return a list of SXX:nnnn for where that term can be found
20:03 dha Indeed. Fortunately, I have ack and a copy of the files. :-)
20:03 dalek roast: 35619ce | jnthn++ | S06-multi/type-based.t:
20:03 dalek roast: Add test coverage for RT #125483.
20:03 dalek roast: review: https://github.com/perl6/roast/commit/35619ce445
20:03 synbot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=125483
20:05 dha Any differences between p5 and p6 C<printf>?
20:06 dha (I note that C<printf> doesn't seem to be documented at doc.perl6.org)
20:06 PerlJam dha: probably some differences since they don't share the same implementation.  :)
20:06 dha (although C<sprintf> is)
20:08 dha I can safely assume that the directives for C<printf> are the same as for C<sprintf> though, right?
20:08 dha (in p6)
20:08 TimToady it's likely a good first approximation
20:09 masak dha: yes -- sorry, distracted. there's a flag on regexes that allows you to continue where the last match ended.
20:10 yqt joined #perl6
20:11 kanl joined #perl6
20:12 PerlJam gah!   I keep typing $obj.method in my P5 code today
20:12 frobisher joined #perl6
20:12 frobisher bah.
20:13 RabidGravy boom
20:13 dha masak -  thanks. is that flag documented?
20:13 tony-o worse is the array sigil switching PerlJam
20:13 yoleaux 27 Jun 2015 06:17Z <raiph> tony-o: I've realized that use of {(...)} entirely eliminates the problems ("fooling around with ending a block and restarting a block or whatever ... buffering crap into a temp str to use that as the return value")
20:13 yoleaux 27 Jun 2015 06:18Z <raiph> tony-o: (Also, that the say-in-say approach will end in tears)
20:13 yoleaux 27 Jun 2015 06:19Z <raiph> tony-o: I've updated https://github.com/tony-o/perl6-template-protone/issues/1
20:14 tony-o dha: yes it's documented
20:14 masak dha: yes. S06
20:14 masak er, S05, of course
20:14 dha So, fsvo "documented". :-)
20:15 TimToady masak: [] will also flatten after GLR, since [] won't assume $ anymore
20:15 masak interesting.
20:15 TimToady wrt MONKEY-TYPING, the hyphen was introduced precisely because it's harder to type, iirc
20:16 RabidGravy works for me
20:17 dha masak -  which flag am I actually looking for in S05?
20:17 PerlJam dha: S05:304
20:17 synbot6 Link: http://design.perl6.org/S05.html#line_304
20:18 PerlJam (if I was paying enough attention)
20:18 dha Ah, so it's the default of :c
20:19 dha It talks about :c in http://doc.perl6.org/language/regexes but not its default.
20:20 dalek rakudo/nom: 1478dc0 | jnthn++ | src/core/Exception.pm:
20:20 dalek rakudo/nom: Escape chars in X::Str::Numeric indicator.
20:20 dalek rakudo/nom:
20:20 dalek rakudo/nom: Fixes RT #125335.
20:20 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/1478dc0af9
20:20 synbot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=125335
20:20 dha Actually, it mentions that the default is the start of the string, which is inaccurate.
20:20 dalek roast: 9c05ca0 | jnthn++ | S32-exceptions/misc.t:
20:20 dalek roast: Test for RT #125335.
20:20 dalek roast: review: https://github.com/perl6/roast/commit/9c05ca04d7
20:20 synbot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=125335
20:21 PerlJam dha: depends on how you read the text.   "By default, [the regex] searches from the start of the string"
20:21 PerlJam but, yeah, it's unclear at best.
20:22 dha yeah, actually, it says what the default of where the regex starts, with :c overriding it. It doesn't say what :c's default is.
20:24 dalek rakudo/nom: 309b83a | TimToady++ | src/Perl6/Grammar.nqp:
20:24 dalek rakudo/nom: allow my %{Foo}
20:24 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/309b83a993
20:25 dha Should I try to patch that or leave it alone for now?
20:25 jnthn heh, cute...
20:28 dha uh...
20:28 vendethiel my %{Foo}?
20:28 dha m: 16.printf("%d\n")
20:28 camelia rakudo-moar 4bcbc7: OUTPUT«Directives specify 0 arguments, but 1 argument was supplied␤<Internal error while creating backtrace: MVMArray: Can't pop from an empty array   in method AT-POS at src/gen/m-CORE.setting:14774␤  in method next-interesting-index at src/gen/m-CORE.settin…»
20:28 PerlJam dha: patch away  (or remember to remind one of us to patch it later :)
20:28 dha m: 16.printf
20:28 camelia rakudo-moar 4bcbc7: OUTPUT«16»
20:28 virtualsue joined #perl6
20:29 TimToady m: my %{Complex};
20:29 camelia rakudo-moar 4bcbc7: OUTPUT«5===SORRY!5=== Error while compiling /tmp/DCuxA3evV5␤Unsupported use of %{Complex}; in Perl 6 please use %Complex␤at /tmp/DCuxA3evV5:1␤------> 3my %{Complex}7⏏5;␤»
20:29 dha odd. On my machine, that last bit of code output "16%"
20:29 TimToady vendethiel: ^^
20:29 TimToady anonymous array with non-string key
20:29 dha So, C<printf> can't be used as a method? or am I just invoking incorrectly again?
20:29 vendethiel m: my %<hash>
20:29 camelia rakudo-moar 4bcbc7: OUTPUT«5===SORRY!5=== Error while compiling /tmp/VDnxeDgQQI␤Cannot declare a match variable␤at /tmp/VDnxeDgQQI:1␤------> 3my %<hash>7⏏5<EOL>␤»
20:30 TimToady dha: for individual values we use .fmt("%s") and such
20:31 TimToady and the variadic form is considered something of an antipattern, since it separates related items
20:32 TimToady as far as I can recall, nobody's actually requested the method form of that
20:32 TimToady (if you mean the list as the object)
20:32 diana_olhovik_ joined #perl6
20:33 TimToady m: $*OUT.printf: "%s", "oof"
20:33 camelia rakudo-moar 4bcbc7: OUTPUT«Method 'printf' not found for invocant of class 'IO::Handle'␤  in block <unit> at /tmp/ZewzpwfW5K:1␤␤»
20:33 TimToady I guess we don't have that either
20:33 dha m: say $*OUT.fmt: "%s", "oof"
20:33 camelia rakudo-moar 4bcbc7: OUTPUT«Method 'fmt' not found for invocant of class 'IO::Handle'␤  in block <unit> at /tmp/lkfU_5aFiZ:1␤␤»
20:34 TimToady m: $OUT.say: "oof".fmt("%s")
20:34 camelia rakudo-moar 4bcbc7: OUTPUT«5===SORRY!5=== Error while compiling /tmp/F9hZkbfGuK␤Variable '$OUT' is not declared␤at /tmp/F9hZkbfGuK:1␤------> 3<BOL>7⏏5$OUT.say: "oof".fmt("%s")␤»
20:34 TimToady m: $*OUT.say: "oof".fmt("%s")
20:34 camelia rakudo-moar 4bcbc7: OUTPUT«oof␤»
20:34 jnthn m: class C { has $!x is rw }
20:34 camelia rakudo-moar 4bcbc7: OUTPUT«useless use of 'is rw' on $!x  in any  at src/Perl6/World.nqp:2511␤»
20:35 dha So you have to use .say on a specific filehandle to make that work?
20:35 TimToady or .print
20:35 dha so...
20:36 dha m: say: "oof".fmt("%s");
20:36 camelia rakudo-moar 4bcbc7: ( no output )
20:36 dha o... k...
20:36 TimToady your "say:" was just a label
20:36 TimToady colon is only for methods
20:37 dha ah.
20:37 dha I'm still getting the hang of the colon. :-)
20:37 TimToady because listops already default to taking args
20:37 TimToady and methods default to not taking args
20:37 TimToady (since they already have one arg, the invocant)
20:37 dha m: say "oof".fmt("%s")
20:37 camelia rakudo-moar 4bcbc7: OUTPUT«oof␤»
20:43 dha I assume C<prototype> is no longer around.
20:43 smls joined #perl6
20:44 TimToady m: say &push.signature
20:44 camelia rakudo-moar 4bcbc7: OUTPUT«(|)␤»
20:44 TimToady m: say &atan2.signature
20:44 camelia rakudo-moar 4bcbc7: OUTPUT«($, $?)␤»
20:44 smls "future Perl 6 is likely to require tail call elimination in the absence of some declaration to the contrary" -- TimToady in Feb 2011 [http://rosettacode.org/wiki/Find_limit_of_recursion#Perl_6]
20:44 smls ^^ is this still gonna happen?
20:45 TimToady dunno
20:45 dalek roast: 42df59c | usev6++ | S06-signature/named-parameters.t:
20:45 dalek roast: Add tests for RT #77788
20:45 dalek roast: (one test fudged 'todo' for rakudo.moar)
20:45 dalek roast: review: https://github.com/perl6/roast/commit/42df59c101
20:45 synbot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=77788
20:46 smls Or will we get an explicit form like P5's "goto %sub" ?
20:46 smls goto &sub;
20:46 jnthn Nothing's gonna happen in 6.0.
20:46 jnthn (with regard to TCO)
20:46 dalek rakudo/nom: 7b5256b | jnthn++ | src/Perl6/World.nqp:
20:46 dalek rakudo/nom: Turn warnings from traits into worries.
20:46 dalek rakudo/nom:
20:46 dalek rakudo/nom: This means they show up as potential difficulties with a useful source
20:46 dalek rakudo/nom: location, rather than pointlessly talking about a compiler guts source
20:46 dalek rakudo/nom: location.
20:46 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/7b5256b512
20:46 jnthn But the "future" bit could be right :)
20:47 dalek roast: 10a658d | jnthn++ | integration/weird-errors.t:
20:47 dalek roast: Test for RT #125227.
20:47 dalek roast: review: https://github.com/perl6/roast/commit/10a658d07a
20:47 synbot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=125227
20:47 jnthn 7b5256b is a little cheeky, but probably more useful than annoying. :)
20:47 cognominal joined #perl6
20:48 raiph joined #perl6
20:49 jnthn OK, resolved 12 RTs today. That'll do. :)
20:49 [Coke] jnthn: lucky 13!
20:49 jnthn :P
20:50 jnthn bartolin: https://rt.perl.org/Ticket/Display.html?id=125257 could be closed with a test, if you're having a test writing session :)
20:53 jnthn 35 to go until we're back to a 3 digit number of tickets...
20:54 dha PerlJam -  I'm adding "If no position is
20:54 dha specified for C<:c> it will default to C<0> unless C<$/> is true, in which
20:54 dha case it defaults to C<$/.to>." to the entry in regexes.pod on C<:c>. does that read ok to you?
20:56 dha (S05 says "defaulting to ($/ ?? $/.to !! 0)")
20:57 dha Mind you, PerlJam is just the person who said "go ahead and patch it". The rest of you can chime in if you wish. :-)
20:57 bartolin jnthn: not sure, if I'll do it today -- otherwise I'll take a look tomorrow. thanks for the note :-)
20:58 bartolin btw, in 2015 we have already more resolved tickets than in 2014; jnthn++
20:58 colomon \o/
20:59 RabidGravy DHA
20:59 RabidGravy dhA
20:59 dha RABIDGRAVY
21:00 RabidGravy sorry lost control of my keyboard there
21:00 RabidGravy "$/ is defined" but yeah makes sense
21:01 dha oh. Does the conditional operator do "defined" rather than "true" in p6?
21:01 espadrine joined #perl6
21:02 dha according to the docs, it does not.
21:02 jnthn bartolin: Also, since r-p isn't something we're working on any more, I think https://rt.perl.org/Ticket/Display.html?id=115390 is in the same situation.
21:03 RabidGravy no, but it's and object that isn't a bool so it's truthiness is befing inferred
21:03 dha Admittedly, that was the one part of my patch that seemed a bit off.
21:03 dha So, I can feel safe changing that to "set"?
21:04 bartolin jnthn: yeah, I've wondered about that recently. I was not sure whether it's sane to add those loops to roast ...
21:05 bartolin . o O ( maybe in a file marked as 'stress'? )
21:05 RabidGravy Bool on a Match is "end of match >= start of match"
21:06 jnthn bartolin: Well, on Moar, if I remove the say (which you'd do for the tst) and run it up to 1000, it's only about a second
21:07 bartolin jnthn: I see, not very stressful then ...
21:08 bartolin jnthn: if we speak about tickets: RT #123969 seems to work fine as well. should tests for that one got to t/04-nativecall in rakudo or to roast?
21:08 synbot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=123969
21:08 dha Eh. I'll change it to "set". Certainly sounds better, and if someone disagrees, they can patch it.
21:08 RabidGravy so dha, "if there was a successfull match then $/.to otherwise 0"
21:08 bartolin j: class Foo is repr<CStruct> { has int32 $.idontcare; has Foo $.bar }; my $a = Foo.new; say "alive"
21:08 camelia rakudo-jvm 309b83: OUTPUT«alive␤»
21:09 dha *nod*
21:09 jnthn bartolin: Well, it's a bit useless if .new doesn't work...
21:10 jnthn bartolin: So I'd say there's still an issue
21:10 bartolin jnthn: I think it works now (see above)
21:10 jnthn bartolin: oh, sorry...yes, you're right :)
21:11 jnthn bartolin: Then yes, test in t/04-nativecall
21:11 jnthn bartolin: Best keep all the nativecall tests together
21:11 jnthn bartolin++
21:11 bartolin great, thanks for looking!
21:11 MueThoS76 joined #perl6
21:11 jnthn TimToady: Plesae could you see if you agree with https://rt.perl.org/Ticket/Display.html?id=62086#txn-1348528 ?
21:12 jnthn (If you're good with that plan, I can go ahead and do it, and we can close the second-oldest issue in RT :P)
21:13 jnthn bartolin: https://rt.perl.org/Ticket/Display.html?id=81682 is another one for the "just needs test" list :)
21:13 jnthn (I just tagged it testneeded)
21:15 bartolin jnthn++
21:16 [Sno] joined #perl6
21:16 jnthn OK, I'm going to relax. :)
21:17 FROGGS_ joined #perl6
21:24 [Coke] jnthn: have my beer, will you?
21:32 atroxaper joined #perl6
21:32 grondilu wait, wasn't "note" supposed to write on stderr?
21:33 grondilu $ perl6 -e 'note "ipsum lorem"' 2>/dev/null suggests it does not.
21:35 * grondilu checks S16 and gets confirmation it should write on $*ERR
21:38 RabidGravy grondilu, the implementation definitely does $*ERR.print so either $*ERR is wrong or something weird is going on
21:40 grondilu well I can't reproduce it
21:40 grondilu I mean I run the ipsum lorem again and I see nothing.  Weird.
21:40 grondilu meh nevermind, it might have been me hallucinating.
21:40 RabidGravy :)
21:42 grondilu oh wait
21:42 grondilu I4m so confused
21:43 grondilu so, $ perl6 -e 'note "ipsum lorem"' 2> /dev/null shows nothing.
21:43 grondilu which is fine since $*ERR goes to /dev/null
21:43 nowan joined #perl6
21:44 grondilu but when I do :r!perl6 -e 'note "hello";' in Vim, the lines are printed.  I supposed my mistake was to think :r in Vim only reads STDIN
21:44 grondilu *suppose
21:44 geekosaur heh
21:44 geekosaur yes, that's an old (and annoying) vi-ism
21:45 geekosaur (presuming you meant stdout)
21:48 dha C<quotemeta> - replaced or just gone?
21:49 timotimo if you put $foo into a regex it'll match literally, if you write <$foo> it'll be interpreted as regex code
21:49 timotimo is that what you mean?
21:53 dha What I meant was, is there something that does what C<quotemeta> did in p5, although what you just said might be useful in explaining how to acheive a basically similar result in p6.
21:53 geekosaur I believe dha is working on a p5 to p6 guide
21:53 geekosaur quotemeta is a perl5 function
21:53 dha well, a similar result in the use of regexes.
21:53 dha yes, that is what I am doing.
21:55 geekosaur and for regex use, what timotimo said as the replacement (inverted logic, note). for things like my bad habit of using qm() as a quick and dirty shell quote, no replacement I'm aware of >.>
21:55 geekosaur (the correct answer being to not involve the shell, of course. cf. yesterday's discussion)
21:55 timotimo i don't know anything about p5
21:56 masak 'night, #perl6
22:02 dha And where is that regex behavior documented? under regexes or quoting constructs? Or somewhere else?
22:04 dha And, side note, in the quoting constructs docs, under the C<qw> entry, there's this: "The q:w and qw forms". Should that first "q" be "Q"?
22:04 dha (i.e. should that be "Q:w"?)
22:12 dalek rakudo-star-daily: 307ccae | coke++ | log/ (10 files):
22:12 dalek rakudo-star-daily: today (automated commit)
22:12 dalek rakudo-star-daily: review: https://github.com/coke/rakudo-star-daily/commit/307ccae0f3
22:12 dalek perl6-roast-data: 2f1cff2 | coke++ | / (9 files):
22:12 dalek perl6-roast-data: today (automated commit)
22:12 dalek perl6-roast-data: review: https://github.com/coke/perl6-roast-data/commit/2f1cff20d1
22:13 frobisher joined #perl6
22:14 dha So. did anyone say anything to me while I was busy reconnecting?
22:15 tadzik nope
22:15 dha oh yay. :-)
22:15 tadzik :)
22:15 dha Now I just need to remember what my questions were...
22:15 tadzik (I dunno though)
22:16 lolisa joined #perl6
22:18 RabidGravy but yes, quotemeta is un-neccesary as variable interpolated into a regex is treated literally unless you ask for it not to be
22:18 geekosaur [29 22:02] <dha> And where is that regex behavior documented? under regexes or quoting constructs? Or somewhere else?
22:18 geekosaur [29 22:04] <dha> And, side note, in the quoting constructs docs, under the C<qw> entry, there's this: "The q:w and qw forms". Should that first "q" be "Q"?
22:18 geekosaur [29 22:04] <dha> (i.e. should that be "Q:w"?)
22:18 dha Thanks. :-)
22:26 nowan joined #perl6
22:33 nowan joined #perl6
22:51 TimToady .tell jnthn I'm fine with the default FAILGOAL backtracking
22:51 yoleaux TimToady: I'll pass your message to jnthn.
22:52 * dha tries to decide if no one actually has answers to his CLEARLY ESSENTIAL questions, or if everyone's just busy.
22:54 b2gills I think telling Perl5 folks to use q:w in Perl6 is better than trying to explain the difference
22:57 dha Well, I think it's confusing to tell them C<< <> >> means C<qw//> in one context and "treat this as a regex" in another.
22:58 dha And I'm still curious is "q:w" shouldn't really be "Q:w", as most of the examples in the quoting constructs docs indicate.
22:59 TimToady well, the basic problem is that we don't know what they're wanting to use quotemeta for
22:59 b2gills It only means treat as a regex inside of regexes, which has a whole mess of special syntax
22:59 TimToady qw// has very little to do with it, it my mind
23:01 dha Well, I'm basically punting and saying "no more quotemeta, as such"
23:01 b2gills I like to think that `<a b c>` is short for `qw<a b c>` which is short for `Q :q :w <a b c>` which is short for ...
23:01 dha And if C<< <> >> has special meaning inside a regex, I'd like to point to where that's documented.
23:02 TimToady and yes, the equivalent of P5's qw is more like Qw, I believe
23:02 b2gills A Perl 6 quotemeta wouldn't be a direct replacement for Perl 5's anyway
23:03 b2gills since any non-word char would need to be escaped
23:03 dha TimToady -  yeah, I'm just looking at the phrase "The q:w and qw forms" on the quoting constructs page, and looking at the examples above, and just wondering if that first instance should be a capital Q.
23:04 TimToady well, maybe not
23:05 RabidGravy dha, the < > in a regex is alluded to butnot clearly spelt out in the language/regex doc
23:05 TimToady m: say qw/\//
23:05 camelia rakudo-moar 7b5256: OUTPUT«/␤»
23:05 skids joined #perl6
23:05 TimToady that's more like q than Q
23:05 TimToady m: say Qw/\//
23:05 camelia rakudo-moar 7b5256: OUTPUT«5===SORRY!5=== Error while compiling /tmp/QAQjuFobo8␤Missing required term after infix␤at /tmp/QAQjuFobo8:1␤------> 3say Qw/\//7⏏5<EOL>␤    expecting any of:␤        prefix␤        term␤»
23:05 TimToady yes, qw is more accurate, so I retract what I just said
23:06 b2gills https://github.com/rakudo/rakudo/blob/15c6fbf0a891c6efdb286a77abba5af3c2227a7d/src/Perl6/Grammar.nqp#L3457-L3465
23:06 TimToady m: say <\>>
23:06 camelia rakudo-moar 7b5256: OUTPUT«>␤»
23:06 TimToady if you can quote the end delimiter, that's q semeantics rather than Q
23:07 dha b2gills -  yeah, I can see '<a b c>' as equivalent to 'qw<a b c>'. I just think that it having a different meaning inside a regex is confusing. especially for someone coming from perl 5 who's already confused. :-)
23:07 dha Ah. q:w and Q:w behave the same.
23:07 * dha finally had the thought "why don't I try this?" doh.
23:07 TimToady <> inside regex is a very different beast, since it's taking over for (?:...) and such in p5
23:08 TimToady it's our extensible metasyntax, and has very different rules from outside of regex
23:08 dha Yes, I'm definitely getting that impression.
23:08 RabidGravy but [ ] has a different meaning in a regex to not in one in p5 e.g
23:08 dha I guess my question is "but where can I read about that?"
23:09 TimToady all the regex stuff is in S05
23:09 dha I'm guessing your typical person trying to move from p5 to p6 isn't going to just come in here like an idiot and start asking lots of random questions.
23:09 * dha admits to the possibility that he is such an idiot.
23:10 TimToady well, if they have, then we'd like to move beyond that modality eventually :)
23:10 TimToady we're fine with people turning random questions into docs :)
23:11 dha Ah! Thank you. s05 appears to be what I was looking for.
23:11 TimToady but yeah, regexes are the most revolutionary part of the redesign
23:11 b2gills m: .say for  Q :qq :quotewords << "a b\tc" d e f >>
23:11 camelia rakudo-moar 7b5256: OUTPUT«a b  c␤d␤e␤f␤»
23:11 dha Which, in retrospect is kind of obvious, I guess. I think I needed the phrase "extensible metasyntax" to actually find it.
23:12 TimToady std: .say for  Q :qq :quotewords << "a b\tc" d e f >>
23:12 camelia std 28329a7: OUTPUT«ok 00:00 136m␤»
23:20 b2gills m: .say for  Q :qq :quotewords :!backslash << "a b\tc" d e f >> # the "" switches it back to qq
23:20 camelia rakudo-moar 7b5256: OUTPUT«a b  c␤d␤e␤f␤»
23:33 dha Do we still have C<require> in p6?
23:34 AlexDaniel m: constant ½ = 1/2; say ½;
23:34 camelia rakudo-moar 7b5256: OUTPUT«5===SORRY!5=== Error while compiling /tmp/lV19js3V6F␤Missing initializer on constant declaration␤at /tmp/lV19js3V6F:1␤------> 3constant7⏏5 ½ = 1/2; say ½;␤»
23:34 dha And... C<reset>? I don't think I've ever seen anyone actually use C<reset>...
23:35 AlexDaniel what's wrong with unicode constants?
23:35 AlexDaniel m: constant ä = 1/2; say ä;
23:35 camelia rakudo-moar 7b5256: OUTPUT«0.5␤»
23:36 AlexDaniel nothing is wrong, but how ½ is different?
23:38 vendethiel joined #perl6
23:43 AlexDaniel it seems like it is from another unicode set or something
23:45 TEttinger m: $½ = 1/2; say ½;
23:45 camelia rakudo-moar 7b5256: OUTPUT«5===SORRY!5=== Error while compiling /tmp/FyHhkRFMPS␤Name must begin with alphabetic character␤at /tmp/FyHhkRFMPS:1␤------> 3$7⏏5½ = 1/2; say ½;␤    expecting any of:␤        infix␤        infix stopper␤        statement end␤   …»
23:45 TEttinger that might be it?
23:45 TEttinger m: $½ = 1/2; say $'½;
23:45 camelia rakudo-moar 7b5256: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Q3BDbyJviL␤Name must begin with alphabetic character␤at /tmp/Q3BDbyJviL:1␤------> 3$7⏏5½ = 1/2; say $'½;␤    expecting any of:␤        infix␤        infix stopper␤        statement end␤ …»
23:45 TEttinger m: $½ = 1/2; say $½;
23:45 camelia rakudo-moar 7b5256: OUTPUT«5===SORRY!5=== Error while compiling /tmp/HrUQCEy9eb␤Name must begin with alphabetic character␤at /tmp/HrUQCEy9eb:1␤------> 3$7⏏5½ = 1/2; say $½;␤    expecting any of:␤        infix␤        infix stopper␤        statement end␤  …»
23:45 TEttinger sorry
23:55 ugexe m: my $x = " "; my $y =  $x.index("\n"); say $y.perl; $z = $x.rindex("\n"); say $z.perl
23:55 camelia rakudo-moar 7b5256: OUTPUT«5===SORRY!5=== Error while compiling /tmp/RuUl3efqth␤Variable '$z' is not declared␤at /tmp/RuUl3efqth:1␤------> 3; my $y =  $x.index("\n"); say $y.perl; 7⏏5$z = $x.rindex("\n"); say $z.perl␤»
23:56 ugexe m: my $x = " "; my $y =  $x.index("\n"); say $y.perl; my $z = $x.rindex("\n"); say $z.perl
23:56 camelia rakudo-moar 7b5256: OUTPUT«Int␤Failure.new(exception => X::AdHoc.new(payload => "substring not found"), backtrace => Backtrace.new)␤»
23:56 ugexe index and rindex are not doing the same thing when no matches are found
23:59 dha I'm not seeing any obvious equivalent to C<rewinddir> in IO::Path. Should I assume that's gone, or might it be somewhere else that I'm not thinking to look?

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

Perl 6 | Reference Documentation | Rakudo