»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, std:, or /msg camelia p6: ... | irclog: irc.perl6.org | UTF-8 is our friend!
Set by masak on 12 May 2015.
00:12 cognominal joined 00:26 atroxaper joined 00:30 atroxaper left 00:50 ggoebel9 joined 00:55 AlexDaniel joined 00:57 ggoebel9 left 01:05 ggoebel joined 01:32 vendethiel joined 01:33 tinyblak left 01:37 tinyblak joined, tinyblak left 01:39 cfa joined, tinyblak joined 01:43 AlexDaniel left 01:51 gagalicious left 01:53 cognominal left 02:06 noganex_ joined 02:09 aborazmeh joined, aborazmeh left, aborazmeh joined 02:12 geekosaur joined 02:20 tinyblak left, cognominal joined 02:23 tinyblak joined 02:26 tinyblak_ joined 02:28 tinyblak left 02:33 vendethiel left 02:38 rmgk_ joined, rmgk_ is now known as rmgk
cognominal .u 2384 03:04
yoleaux U+2384 COMPOSITION SYMBOL [So] (⎄)
03:04 geekosaur left, geekosaur joined 03:06 kaare_ joined 03:10 spintronic1 joined
cognominal .u 096F 03:13
yoleaux U+096F DEVANAGARI DIGIT NINE [Nd] (९)
03:15 spintronic1 left
dalek kudo-star-daily: e2022cd | coke++ | log/ (2 files):
today (automated commit)
03:15
kudo-star-daily: 3e95125 | coke++ | log/ (2 files):
today (automated commit)
rl6-roast-data: ae895fc | coke++ | / (9 files):
today (automated commit)
rl6-roast-data: 3fc4a5d | coke++ | / (9 files):
today (automated commit)
03:15 cognominal left 03:16 spintronic joined 03:31 atroxaper joined 03:35 atroxaper left 03:40 atroxaper joined 03:49 laouji left 03:50 laouji joined 03:54 laouji left 03:57 laouji joined 04:03 tinyblak_ left, tinyblak joined 04:08 tinyblak left 04:28 atroxaper left 04:51 aborazmeh left 05:07 geekosaur left 05:08 geekosaur joined 05:12 BenGoldberg left 05:18 zacts joined 05:19 atroxaper joined 05:26 atroxaper left 05:38 davido_ joined, atroxaper joined 05:47 FROGGS joined 05:54 Akagi201 joined
FROGGS o/ 05:59
yoleaux 28 Jun 2015 21:40Z <lizmat> FROGGS: looks like QX is severely broken on the JVM :-(
FROGGS :o(
psch o/
FROGGS should be easy to fix though...
raydiak \o
FROGGS will look
06:05 laouji left 06:06 laouji joined, profan joined 06:13 laouji left 06:15 laouji joined 06:21 laouji left 06:22 vendethiel joined
atroxaper Morning, #perl6 ! 06:22
06:23 laouji joined
FROGGS morning atroxaper 06:23
06:23 zacts left
atroxaper FROGGS: o/ 06:24
06:25 gfldex joined
atroxaper Can I write methods chain and start call method each on the new line? Compiler says 'Bogus postfix'. 06:25
06:25 salva joined
atroxaper I wrote something like ' @list \n .grep() \n .map();' 06:26
psch you'd need an unspace
06:26 domidumont joined, RabidGravy joined
RabidGravy morning 06:27
06:27 laouji left
psch m: my @l = ^4; @l\␤ .grep( * > 2 )\␤ .say # like this 06:27
camelia rakudo-moar 24236f: OUTPUT«3␤»
06:30 laouji joined
atroxaper psch: I do not have space at the ends of lines... 06:30
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:31 domidumont left
atroxaper Oh... I see! Just escape \n character. Thanks. 06:32
06:32 tinyblak joined
psch atroxaper: no, escaping the \n itself isn' 06:33
t enough
06:33 laouji left
psch atroxaper: you have to escape the first whitespace after the identifier 06:33
m: "foo" \␤ .say # doesn't work
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 …»
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 06:39 gfldex left 06:41 atroxaper left 06:45 vendethiel left 06:47 atroxaper joined 06:49 [Sno] joined 06:51 zakharyas joined 06:57 Ven joined 06:58 domidumont joined 07:00 domidumont left, domidumont joined 07:03 brrt joined 07:04 kan__ joined, kan__ left, vendethiel joined
psch BSD style license works with the artistic, doesn't it? 07:05
masak morning, #perl6
psch 'cause i just realized that might matter, because i'm using a framework under BSD to get this standalone jar stuff working
o/ masak
s/BSD/BSD style license/
+:1st
:l
(actually, not :1st but :2nd...) 07:06
anyway, yeah
masak psch: maybe one-way compatible? en.wikipedia.org/wiki/License_comp...S_licenses
(I am decidedly not a lawyer) :)
psch ah, right, we have the GPL as fallback anyway, which is more restrictive than BSD so it should be fine i guess 07:09
RabidGravy There was a point that the Perl 5 source had BSD licensed code in it IIRC 07:10
07:12 kanl joined
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"]<>␤»
psch the german wikipedia entry for the artistic license calls it BSD-style itself
so i guess that means i'm good :)
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␤»
grondilu m: say <a b c d e f>.rotor(2);
camelia rakudo-moar 24236f: OUTPUT«a b c d e f␤»
grondilu m: say <a b c d e f>.rotor(2).perl;
camelia rakudo-moar 24236f: OUTPUT«(("a", "b"), ("c", "d"), ("e", "f"))␤»
grondilu I guess I need to use tree to prevent flattening or something? 07:14
m: say (my @ = <a b c d e f>.rotor(2).tree).perl;
camelia rakudo-moar 24236f: OUTPUT«[("a", "b"; "c", "d"; "e", "f").item]<>␤»
atroxaper We need cheatsheet about flattening I guess :) 07:23
07:30 darutoko joined 07:31 rurban joined
masak moritz++ # "since it's not optional, you might consider not making it an option" :P 07:32
kanl hi #perl6 07:33
moritz bows
masak ahoy kanl
07:34 abraxxa joined, j1n3l0 left
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
gist.github.com/anonymous/4071a06909f4df8cabb2
07:36 atroxaper left
masak kanl: hey, nice first code :) 07:36
07:36 cdc joined
masak you're clearly not a newbie. 07:36
kanl thanks, i guess :p 07:37
new to perl6, that is :)
masak line 10 contains a bug.
moritz method run( *%mayhem ) 07:38
I love it.
masak oh wait
07:38 atroxaper joined
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
brrt \o
07:39 pdcawley joined
masak kanl: I guess what confuses me about line 10 is that you're implicitly declaring it as an array :) 07:39
m: my $PS; $PS[0] = 42; say $PS.perl
camelia rakudo-moar 24236f: OUTPUT«[42]␤»
masak which works, but I don't think it's very clear.
kanl masak: i am trying to make a hash out of a enum array , so yes.
masak kanl: you end up making an array :0 07:40
:)
psch from an enum hash even
masak kind of proving my point
kanl err, sorry, array.
masak it's .[] for array access, and .{} or .<> for hash access
m: enum Foo <a b c>; say Foo.values
camelia rakudo-moar 24236f: OUTPUT«␤»
masak m: enum Foo <a b c>; say Foo.enums.values
camelia rakudo-moar 24236f: OUTPUT«0 2 1␤»
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")␤»
masak m: enum Foo <a b c>; say Foo.enums.keys
camelia rakudo-moar 24236f: OUTPUT«a c b␤»
masak m: enum Foo <a b c>; my @keys = Foo.enums.keys
camelia ( no output )
masak kanl: maybe do it like that?
m: enum Foo <a b c>; my @keys = Foo.enums.keys; say @keys.perl
camelia rakudo-moar 24236f: OUTPUT«["a", "c", "b"]<>␤»
masak heh, ergl.
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
camelia rakudo-moar 24236f: OUTPUT«["a", "b", "c"]<>␤»
masak there ya go.
07:42 ShimmerFairy joined
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
yes, i admit my style is crappy, but i think it does what i meant it to do :)
masak just giving friendly unrequited style advice ;) 07:44
kanl *nod*, appreciate it :)
07:44 laouji_ joined, g4 joined, g4 left, g4 joined
psch oh pants 07:45
apparently i not only need a class loader that can load nested jars, but also a *boot* class loader that can do so
...because we're loading the nqpruntime with Xbootclasspath 07:46
RabidGravy that valgrind output suggests something going wrong with the threading
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:47
cdc m: gist.github.com/anonymous/c6d54c302f4c4a63c21b 07:49
camelia rakudo-moar 24236f: OUTPUT«"4"␤"[2]"␤NaN␤NaP␤"\"+\""␤Bool::False␤Bool::True␤»
07:49 vendethiel left, laouji_ left
cdc Hello #perl6! Please, could you explain me why the "export" trait is required on some multis ^ 07:49
07:50 bjz joined
kanl RabitGravy: or that too, it isn't very stable. 07:51
err, RabidGravy. sorry
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.
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
threading could be a culprit. so could shelling out to other processes.
Ven o/ #perl6! 07:53
masak ven ven ven! \o
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: gist.github.com/anonymous/c6d54c302f4c4a63c21b (I borrowed you some code :p)
Ven cdc: ah, nice :)
cdc Ven: but I don't understand why I have to add the "export" trait on some multis 07:55
Ven cdc: not sure. I'm getting segfaults on my own version 07:56
cdc Ven: with your version, I have «Cannot invoke this object (REPR: Uninstantiable, cs = 0)» 07:57
Ven yeah :(
RabidGravy kanl, the general approach is reduce the code to the absolute minimum required to reproduce the fault and report a bug
cdc Ven: I think it is due to the "add" function 07:58
Ven cdc: definitely is
cdc Ven: maybe it recurses because you don't change the type of the second argument.
Ven cdc: definitely. 07:59
I'd argue that's still a bug in rakudo/moar :)
cdc Ven: oh, OK :)
08:00 dakkar joined
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:01
08:02 bjz left
kanl i.e. i'm not getting consistent failure each time :) 08:02
i'd be glad to file a bug, just i'm not entirely sure what on .. 08:04
RabidGravy I think "this code leaks memory and eventually SEGVs" is enough :-) stick it on rt.perl.org (in the perl6 queue) 08:07
08:07 vendethiel joined
RabidGravy memory leaks are bad, segfaults are very bad 08:08
jnthn I suspect the EVAL may be the leak cause
08:08 g4 left
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
08:09 g4 joined, g4 left, g4 joined
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
kanl This is perl6 version 2015.06-1-gdf0c3a3 built on MoarVM version 2015.06
jnthn Ah, that's pretty recent.
The invalid read valgrind spots is certainly a bug 08:12
That should never happen.
masak hesitates above the submit button 08:13
...is it reproducible enough? can we golf it?
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 :)
anyone else 08:15
masak submits rakudobug
kanl ++masak 08:16
08:16 virtualsue joined 08:22 virtualsue_ joined 08:24 virtualsue left, virtualsue_ is now known as virtualsue
dalek kudo/nom: 09940e4 | jnthn++ | src/core/Capture.pm:
Make Capture element access rw.

So you can get at the actual passed Scalar if needed.
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 )
dalek ast: 7d42dff | jnthn++ | S02-types/capture.t:
Test for RT #125505.
synbot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=125505
kanl i tried to use just { }, but seemed to get code objects instead 08:28
and +{ } expression doesn't seem valid in p6 08:29
if there isn't already a way to do it in p6, would it be too late to make it a feature request? :) 08:30
masak kanl: rt.perl.org/Ticket/Display.html?id=125507 08:31
kanl: there are still some minor rough edges around hash/code detection in things like .map
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.
psch kanl: you mean .kv with your request? 08:33
m: my %h = a => 1, b => 2; say %h.kv
camelia rakudo-moar 24236f: OUTPUT«a 1 b 2␤»
psch m: my %h = a => 1, b => 2; say %h.kv.perl
camelia rakudo-moar 24236f: OUTPUT«("a", 1, "b", 2)␤»
jnthn masak: I don't remember any outstanding RTs on that, fwiw...though can take a look :)
kanl: I think maybe something like this could be more succinct:
m: my @s = [0,1,2],[1,2,3]; say $%( @s>>[0] Z=> @s ).perl
camelia rakudo-moar 24236f: OUTPUT«{"0" => [0, 1, 2], "1" => [1, 2, 3]}␤»
jnthn At lesat, if I understood wha tyou're trying to do properly :)
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 :)
psch: thank you too, of course, but that wasn't what i meant :) 08:36
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:38
jnthn yes :P 08:39
08:39 salva left 08:40 itz joined, salva joined
RabidGravy I think the predicted weather may militate somewhat against my current github streak getting any longer 08:40
08:41 laouji left
nwc10 RabidGravy: until Thursday? 08:41
itz morning
masak \o 08:42
fun fact: if you open a REPL, then start recompiling Rakudo, then ^D out of the REPL, you get a segmentation fault. :) 08:43
jnthn funner fact: you deserved it! :P 08:44
masak "that's how good programs behave!" ?
I can't recall seeing that elsewhere...
08:45 laouji joined
dalek kudo/nom: 2bd2737 | (Carl Masak)++ | src/core/ (2 files):
s:g/\$what/\$contents/ in spurt parameter

More to spec, more descriptive, and one of the routines already had it that way.
08:45
masak '$what' is not a terribly good parameter name :P 08:46
jnthn what? :P 08:47
masak :P
08:49 espadrine joined
itz Use of Nil in numeric context in block at lib/Panda/Tester.pm:36 08:50
masak walk & 08:51
itz hmm maybe my panda is too old 08:52
08:56 laouji left 09:04 CIAvash joined 09:05 cognominal joined
RabidGravy I have code with a :$what in it too, it's fine ;-) 09:07
psch remembers being stumped by '$fles'...
or maybe it was \fles
jnthn m: say 'fles'.flip
camelia rakudo-moar 09940e: OUTPUT«self␤»
RabidGravy there's no fles on that code
09:07 laouji joined
psch jnthn: yes, that was the response back then as well :) 09:08
RabidGravy nwc10, I feel the cidah calling me
09:09 CIAvash left
jnthn Hmm...didn't somebody paste a gdb backtrace recently showing some SEGV related to bigint stuff? 09:09
I can't find it in RT, but managed to run into the same issue...
09:11 laouji left 09:15 g4 left, laouji joined
RabidGravy I had an amusing one yesterday, this github.com/jonathanstowe/CheckSock...002-func.t works fine in all other circumstances except when run by "panda install ..." in which case it hung and occassionally segfaulted 09:15
09:16 vendethiel left
RabidGravy couldn't replicate without panda being involved so stuck an exit in there 09:17
09:17 g4 joined, g4 left, g4 joined 09:21 laouji left 09:25 Ven left 09:26 laouji joined 09:31 domidumont left, domidumont joined 09:32 RabidGravy left
atroxaper Is there method of Str to lower case first character? Can't find in documentation. 09:38
09:39 CIAvash joined
moritz nope 09:39
atroxaper moritz: why?! 09:40
moritz m: my $str = "ABC"; $str.substr-rw(0, 1).=lc; say $str
camelia rakudo-moar 2bd273: OUTPUT«aBC␤»
moritz atroxaper: because composability
09:40 zacts joined
atroxaper Hm... Ok. Thanks :) 09:40
lizmat good *, #perl6! 09:41
moritz no need for built-ins for seldomly-used cases that can be composed from the primitives
lizmat m: sub a($a;$b) {} # what does it mean?
camelia ( no output )
atroxaper moritz: agreed.
lizmat m: (sub a($a;$b) {}).signature.perl.say # seems equivalent to comma. Should it ? 09:44
camelia rakudo-moar 2bd273: OUTPUT«:($a, $b)␤»
lizmat can't find anything about it in the spec
or maybe I'm not looking well enough 09:45
09:45 Ven joined
lizmat m: (sub a(: $a) {}).signature.perl.say # another anomaly ? 09:46
camelia rakudo-moar 2bd273: OUTPUT«:($a: ;; )␤»
kanl moritz,atroxaper: $str[0] would be really nice if possible
09:48 dayangkun left
kanl i thought i had read it in a spec before, though can't seem to find it now. 09:48
though maybe such a thing never existed :p 09:49
09:49 rindolf joined
moritz never existed 09:50
09:50 Ven left
moritz lizmat: wtf 09:50
kanl bummer
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␤»
psch m: use MONKEY-TYPING; augment class Str { method AT-POS($self: $pos) { $self.comb[$pos] } }; "foo"[0].say # even worse
camelia rakudo-moar 2bd273: OUTPUT«f␤»
lizmat moritz: I guess signature parsing has been an exercise in cheating, and we're getting caught now :-) 09:52
09:53 bin_005 joined
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
turn it into a named role, and you can use it anywhere:
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]␤»
lizmat m: role indexed { method AT-POS($i) { substr(self,$i,1) } }; my $a = "foobar" but indexed; say $a[2,3,4]
camelia rakudo-moar 2bd273: OUTPUT«o b a␤»
kanl <= the average yahoo who doesn't know enough about p6's awesomeness
lizmat we've all been yahoo's at some time :-) 09:57
afk for a bit&
moritz doesn't know if he's ever been a hierarchical object oracle :-)
DrForr The P6 Oracle demands 2 new hyperoperators and half a ton of flax. 09:58
10:00 Ven joined 10:06 dayangkun joined 10:08 dayangkun left 10:09 bin_005_h joined, tinyblak left 10:10 rindolf left 10:13 bin_005 left 10:15 telex left 10:16 telex joined
lizmat afk until much later& 10:16
10:20 Akagi201 left 10:21 Akagi201 joined, Akagi201 left 10:25 tinyblak joined, vendethiel joined 10:31 AlexDaniel joined 10:33 RabidGravy joined
atroxaper Which editor do you use for Perl6? 10:46
Ven atroxaper: vim
RabidGravy yep, vim 10:47
AlexDaniel atroxaper: I use emacs
RabidGravy "other editors are available"
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
AlexDaniel RabidGravy: at this point, this question is fine, I think
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
AlexDaniel RabidGravy: sure, but it means that there is support for perl6 10:52
and that's what he was trying to know, I guess
itz if you checkout the perl6-mode from git the syntax highlighting is better than currently shipped with 7.4
kanl can anyone post a gist for the section of .vimrc for perl6?
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
kanl whenever i open up a .pm6 file in vim, it lags really badly. 10:54
itz its in 7.4
kanl upgrading vim, thanks itz! 10:55
itz and the latest and greatest vim perl6 mode is in
github.com/vim-perl/vim-perl
and yes it is slow to render (due to the complex syntax of perl6 I assume)
atroxaper AlexDaniel: actually i just wanted to know who what uses... :) 10:56
AlexDaniel :) 10:58
11:02 araujo joined, araujo left, araujo joined
kanl upgrading vim didn't improve sluggishness for me :( 11:04
psch kanl: vim-perl is the not-as-sluggish one, afaik 11:08
kanl: i don't think that's default in most distributions in vim
11:10 andreoss left
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
camelia rakudo-moar 2bd273: OUTPUT«(Str)␤»
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
You should explicitly select one to install.
these are all graphical varieties of vim, right? 11:12
is there a plain terminal version of it? pardon my ignorance.
bobkare kanl: I don't know vim, but -nox would typically be the terminal variant 11:14
grondilu my %h; %h<foo> = my %anon{Complex}; %h<foo>{1}++' # can't I create anonymous typed variables? 11:15
11:15 itz left
kanl bobkare: thanks 11:15
grondilu my %{Complex} or something?
std: my %{Complex} 11:17
camelia std 28329a7: OUTPUT«ok 00:00 137m␤»
grondilu m: my %{Complex}
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>␤»
psch kanl: in my defense, i almost always use syntax=off... :)
kanl i'm actually quite indifferent to syntax highlighting, only too lazy to :syntax off every time :p 11:18
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:19
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:21
m: my %h{Complex}; %h{1i}++; say .WHAT for %h.keys 11:22
camelia rakudo-moar 2bd273: OUTPUT«(Complex)␤»
grondilu ^this is nice but can't be done in a nested structure apparently
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:24
11:25 gcole joined
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:26
camelia rakudo-moar 2bd273: OUTPUT«(Hash[Any,Complex])␤»
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;
camelia rakudo-moar 2bd273: OUTPUT«(Complex)␤»
grondilu I guess I could do that?
jnthn grondilu: Hash[Mu, Complex].new is also an option 11:27
lunch &
grondilu oh yeah 11:28
hum, seems to refuse to aggregate: 11:31
m: my $h = Hash[Mu, Complex].new; $h{1i}++; $h{1i}++; say $h.perl
camelia rakudo-moar 2bd273: OUTPUT«Hash[Mu,Complex].new(<0+1i> => 1, <0+1i> => 1)␤»
grondilu m: my $h = Hash[Mu, Complex].new; $h{1i}++; $h{1i}++; say $h.keys.elems
camelia rakudo-moar 2bd273: OUTPUT«2␤»
11:31 vendethiel left
grondilu m: my $h{Complex}; $h{1i}++; $h{1i}++; say $h.keys.elems 11:32
camelia rakudo-moar 2bd273: OUTPUT«1␤»
grondilu m: my $h{Complex}; $h{1i}++; $h{1i}++; say $h.WHAT
camelia rakudo-moar 2bd273: OUTPUT«(Hash)␤»
grondilu m: my %h{Complex}; %h{1i}++; %h{1i}++; say $h.WHAT
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␤»
grondilu m: my %h{Complex}; %h{1i}++; %h{1i}++; say %h.WHAT
camelia rakudo-moar 2bd273: OUTPUT«(Hash[Any,Complex])␤»
grondilu m: my $h = Hash[Any, Complex].new; $h{1i}++; $h{1i}++; say $h.keys.elems
camelia rakudo-moar 2bd273: OUTPUT«2␤»
grondilu m: my %h = Hash[Any, Complex].new; %h{1i}++; %h{1i}++; say %h.keys.elems
camelia rakudo-moar 2bd273: OUTPUT«1␤»
grondilu weird 11:33
the sigil should not matter, should it?
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␤»
moritz m: my $h = Hash[Any, Complex].new; $h{1i}++; $h{1i}++; say $h.keys.perl
camelia rakudo-moar 2bd273: OUTPUT«(<0+1i>, <0+1i>)␤»
moritz m: my $h := Hash[Any, Complex].new; $h{1i}++; $h{1i}++; say $h.keys.perl
camelia rakudo-moar 2bd273: OUTPUT«(<0+1i>, <0+1i>)␤»
grondilu also, it keeps converting to Str:
m: my %h = Hash[Any, Complex].new; %h{1i}++; %h{1i}++; say .WHAT for %h.keys 11:35
camelia rakudo-moar 2bd273: OUTPUT«(Str)␤»
moritz grondilu: my %h = Hash[Any, Complex].new can't work; you'd need binding here
psch m: say 1i === 1i
camelia rakudo-moar 2bd273: OUTPUT«False␤»
psch j: say 1i === 1i 11:36
camelia rakudo-jvm 2bd273: OUTPUT«False␤»
grondilu ok
JimmyZ n: say 1i === 1i
camelia niecza v24-109-g48a8de3: OUTPUT«sh: mono: command not found␤»
grondilu my %h; %h<foo> = (my % := Hash[Any, Complex].new); %h<foo>{1i}++ xx 2; say %h<foo>.keys.elems 11:39
m: my %h; %h<foo> = (my % := Hash[Any, Complex].new); %h<foo>{1i}++ xx 2; say %h<foo>.keys.elems
camelia rakudo-moar 2bd273: OUTPUT«1␤»
grondilu looks fine except that: 11:40
m: my %h; %h<foo> = (my % := Hash[Any, Complex].new); %h<foo>{1i}++; %h<foo>{1i}++; say %h<foo>.keys.elems
camelia rakudo-moar 2bd273: OUTPUT«2␤»
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
grondilu: yes, it's not good that it is like that :)
masak psch, grondilu: clearly 1i should equal 1i using ===
it's a bug that it doesn't.
psch isn't disagreeing, just explaining 11:42
masak well, feel free to file a rakudobug :)
grondilu just the 1i === 1i should be enough 11:43
masak aye
but it's also "interesting" that the sigil of the Hash variable matters. that might be a separate bug.
moritz m: say 1i === 1i 11:44
camelia rakudo-moar 2bd273: OUTPUT«False␤»
grondilu submits the 1i === 1i bug 11:45
m: say 1 === 1 # just in case
camelia rakudo-moar 2bd273: OUTPUT«True␤»
masak m: say i === i
camelia rakudo-moar 2bd273: OUTPUT«True␤»
masak m: say 0i === 0i
camelia rakudo-moar 2bd273: OUTPUT«False␤»
masak m_ say -i === -i 11:46
m: say -i === -i
camelia rakudo-moar 2bd273: OUTPUT«False␤»
grondilu made ticket #125509 11:50
synbot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=125509
psch grondilu++
11:53 brrt left
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…»
grondilu m: use MONKEY-TYPING; augment class Complex { method WHICH { self.reals.join("|") } }; say 1i === 1i
camelia rakudo-moar 2bd273: OUTPUT«True␤»
11:55 tinyblak left
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␤»
grondilu m: use MONKEY-TYPING; augment class Complex { method WHICH { self.reals.join("|") } }; say 1i === 1i, 1i === 0i
camelia rakudo-moar 2bd273: OUTPUT«TrueFalse␤»
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␤»
grondilu well I guess I could use that as a work-around
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:58
11:59 bin_005_h left
grondilu agrees with ShimmerFairy 11:59
11:59 atroxaper left
grondilu but I'm sure people discussed quite a bit before making this decision 11:59
it's not a big deal anyway
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
ShimmerFairy quickly adds that camelCase is specifically not random :)
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 :)
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 ggoebel left
psch i'm guessing somewhen in february this year maybe? 12:02
grondilu wow the monkey patch actually solved my problem. Nice.
flussence (IIRC, there was a lot of historical bikeshedding over the double-hyphen in command-line --long-options for the same reason)
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 gist.github.com/peschwa/890553b356e9a3f4d2f6 \o/
hiding lots of the not-yet-fully-worked-out details there, though :/
RabidGravy Just think in the future there will be people dressing up in the clothes of the 2010s doing historical bike-shedding re-enactments
psch but i'll just have to turn the script i'm executing into a flag on perl6-j
and then we can have standalone deployable jars written in perl6 :) 12:05
eiro cd
oops sorry
RabidGravy do it all the time
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.
psch ShimmerFairy: whoops... :)
ShimmerFairy: fwiw, i think i'd rather agree with you regarding the state-change of shift
ShimmerFairy: but it also feels rather minor of a thing to give attention to
ShimmerFairy psch: so why bother changing it in the first place? :)
psch ShimmerFairy: i didn't change it, afair... 12:07
although i might have prompted the change, not sure about that
12:07 vendethiel joined
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:08
12:10 itz joined
RabidGravy monkey-typing.com is strangely available 12:10
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:11
12:13 nys joined
RabidGravy I reckon it's about a six character change in three files 12:16
12:17 ggoebel joined
masak .oO( I reckon it's about ethics in videogame journalism ) 12:18
RabidGravy :)
grondilu m: say (1i, 1i).unique
camelia rakudo-moar 2bd273: OUTPUT«0+1i 0+1i␤»
masak so unique
grondilu is not suprised but thought it was worth pointing at
jnthn At least it's consistently wrong :P
RabidGravy what is 'li'
jnthn I'll look into it once I get done hunting a GC bug I've uncovered...
grondilu RabidGravy: it's "1", not "l" 12:19
RabidGravy what is 'Ii' then ;-)
12:19 tinyblak joined
RabidGravy oh 12:19
grondilu m: say 1i**2
camelia rakudo-moar 2bd273: OUTPUT«-1+1.22464679914735e-16i␤»
RabidGravy 1
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
grondilu thinks it's LTA that 1i**2 is not exactly -1
grondilu remembers have whinned already about Complex imposing num for its components. 12:21
*having
DrForr perks up his ears at the mention of complex numbers :)
grondilu why can't Complex be neutral about the type of its components and use whatever the instance is built with? 12:22
(as long as its Numeric, that is) 12:23
(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 :)
grondilu class Complex does Numeric { has Real ($.re, $.im); ... }
hoelzro good *, #perl6 12:27
12:29 diana_olhovik_ joined, vendethiel left
masak hoelzro: \o 12:36
hoelzro ahoy masak 12:39
RabidGravy Harr! Me Hearty! 12:40
masak just tried `@/`, hoping it'd mean `@$/`... but it doesn't
psch masak: that's @(), isn't it?
ShimmerFairy masak: huh, @<rule> works at least (unless that's changed)
masak psch: ooh, mebbe 12:41
jnthn Or just say @$/ :)
masak psch: yeah, that works!
psch: something in me expected @/ to mean, @$/ -- dunno if that is reasonable
s/,//
12:43 vendethiel joined
ShimmerFairy masak: I think it is, again considering @<rule> (and possibly @0 ?) 12:44
masak right, and @2 et al, no?
oh, you said @0 12:45
std: @0
camelia std 28329a7: OUTPUT«ok 00:00 135m␤»
ShimmerFairy no @/ feels like an omission, consider all the other @ versions of latest match access
std: @/
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␤»
masak TimToady: ^^ why is @/ less reasonable than @() ?
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␤»
masak it's a little bit as if "highlander variables" came true, but only for $/ :P
ShimmerFairy What is @() anyway? 12:47
(to me it looks like turning nothing into list context)
masak m: "foo bar baz" ~~ /(\w+) +% ' '/; say @()>>.Str.perl
camelia rakudo-moar 2bd273: OUTPUT«(["foo", "bar", "baz"],)␤»
ShimmerFairy Huh. I almost feel like that should be @[], but I'm sure that makes just as much sense :) 12:50
12:51 rurban left
masak @[] already means something else 12:53
std: @[]
camelia std 28329a7: OUTPUT«ok 00:00 137m␤»
masak m: say @[]
camelia rakudo-moar 2bd273: OUTPUT«␤»
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:55
dalek kudo/nom: 5930fc4 | jnthn++ | src/core/Str.pm:
Fix Str.perl isolated comb-char handling.

If we have combining chars at the start and we're in an implementation with NFG, we must handle them specially, otherwise we'll accidentally them on the opening quote.
12:56
ShimmerFairy masak: suddenly I'm glad we got rid of a lot of special variables present in Perl 5 :)
masak :) 12:57
dalek ast: 5277d28 | jnthn++ | S02-names-vars/perl.t:
Unfudge tests for RT #125110.
synbot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=125110
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 13:01 Dee22 joined
masak is substr-rw here to stay? or is it just a stopgap thing until we can properly optimize away expensive unused proxies? 13:03
moritz yes! 13:04
masak dang, and phew, respectively.
13:04 atroxaper left, vendethiel left
jnthn We don't have a concrete path towards optimizing those away, afaik. 13:06
masak ok.
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
they're all ugly.
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
grondilu m: for (my @ = { foo => Mu } xx 2) -> $x { say $x.WHAT }
camelia rakudo-moar 2bd273: OUTPUT«(Hash)␤(Hash)␤»
grondilu m: for (my @ = { foo => Mu } xx 2) Z ^2 -> $x, $ { say $x.WHAT }
camelia rakudo-moar 2bd273: OUTPUT«(Parcel)␤»
grondilu ^something's wrong here 13:09
masak m: my %h = :foo; for False, True -> $exists { say %h<foo> :$exists, ", ", %h<bar> :$exists }
camelia rakudo-moar 2bd273: OUTPUT«False, True␤True, False␤»
masak wow, adverbs++
grondilu: ($x, $) parentheses
grondilu m: for (my @ = { foo => Mu } xx 2) Z ^2 -> ($x, $) { say $x.WHAT } 13:10
camelia rakudo-moar 2bd273: OUTPUT«(Hash)␤(Hash)␤»
grondilu oh
jnthn "for flat" maybe...
grondilu I'm not sure how it is parsed without the parenthesis 13:11
jnthn m: say 1/2 === 1/2
camelia rakudo-moar 2bd273: OUTPUT«True␤»
jnthn m: say 2/4 === 1/2
camelia rakudo-moar 2bd273: OUTPUT«True␤»
jnthn m: my $a = 2; say $a/4 === 1/2
camelia rakudo-moar 2bd273: OUTPUT«True␤»
jnthn m: say (1/2).WHAT 13:12
camelia rakudo-moar 2bd273: OUTPUT«(Rat)␤»
jnthn m: my %h{Rat}; my $a = 2; %h{$a/4}++; %h{1/2}++; say %h.perl
camelia rakudo-moar 2bd273: OUTPUT«Hash[Any,Rat].new(0.5 => 2)␤»
jnthn ohhh
:)
masak equality for rats! 13:13
RabidGravy eek! eek! 13:15
or eep! eep!
13:19 gcole left, Akagi201 joined 13:20 rarara joined
jnthn Yeah, I was thinking Rat too was missing a .WHICH 13:20
13:21 raiph joined
jnthn Turns out it's not, it just ain't in Rat.pm 13:21
13:21 jaffa4 joined 13:22 Akagi201_ joined
moritz but Complex is missing one 13:22
13:24 Akagi201 left
jnthn aye, I've added it locally 13:24
dalek p/standalone-jar: b52adfa | peschwa++ | src/ (7 files):
Add HLL::Compiler switch --with-cu and use parent ClassLoaders.

This allows us to package nested jars with e.g. one-jar, which I will also implement a flag for in HLL::Compiler.
Using parent ClassLoaders for IgnoreNameClassloader and ByteCodeClassLoader is neccessary to chain into e.g. JarClassLoader (which one-jar uses) to find nested jars.
13:26
p/standalone-jar: 118ac37 | peschwa++ | tools/jvm/one-jar- (25 files):
Add the one-jar skeleton and a script that mostly builds a standalone jar.

Reading the script reveals the missing pieces. The Rakudo entry CU is currently hardcoded, and it shouldn't really be an external script either. Soon™.
kudo/standalone-jar: c43eb19 | peschwa++ | src/vm/jvm/ (2 files):
Add JVM ModuleLoader bits to support loading modules from nested jars.

cf. NQP commit b52adfa6a4563c0723af1fd39c0791797d5a6595.
13:27
13:27 vendethiel joined
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␤»
jnthn m: use Test; nok 1e0 === 1e0 but role { };
camelia rakudo-moar 5930fc: OUTPUT«not ok 1 - ␤␤# Failed test at /tmp/clMWqbfrtL line 1␤»
jnthn m: use Test; nok 1/2 === 1/2 but role { };
camelia rakudo-moar 5930fc: OUTPUT«ok 1 - ␤»
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:31 rarara left 13:32 cognominal left
masak today's mini-challenge: gist.github.com/masak/18bfb81f0f334e5e5516 13:35
the second half of that challenge occupied me much of last week for $work.
the first half was pretty straightforward. I just wrote a cute little 50-line Perl 6 script for it.
(mostly to verify that the input 2 is correct) 13:36
DrForr Keeping the layout horizontally compact is probably an awkward bit of that.
masak sir, you are right. 13:37
the problem is tractable but more interesting than first appears.
DrForr And happened to fall *just* half an hour before the end of the day here :) 13:38
masak haha
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:40
masak ShimmerFairy: you and me both. 13:41
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.
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).
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.
DrForr 1 1 1 3 5 9 17 ... ?
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:44
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.
masak ShimmerFairy: maybe we should write a joint blog post? :) 13:46
DrForr: "DDG"?
DrForr The perlitically correct version of Google :)
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.
dalek kudo/nom: 71cfb39 | jnthn++ | src/core/Str.pm:
Further fixes to Str.perl + NFG.

We were also vulnerable to producing incorrect .perl output when a combiner was placed on a non-printable.
kudo/nom: 827ab5c | jnthn++ | src/core/Complex.pm:
Add missing .WHICH method for Complex.
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;
camelia rakudo-moar 5930fc: OUTPUT«2␤»
grondilu was expecting 3
m: say .elems given my @ = flat [<a b>], 0; 13:50
camelia rakudo-moar 5930fc: OUTPUT«2␤»
ShimmerFairy m: say .perl given flat my @ = [<a b>], 0
camelia rakudo-moar 5930fc: OUTPUT«(["a", "b"], 0)␤»
dalek kudo/nom: ebd2833 | jnthn++ | src/core/Enumeration.pm:
Don't use strict === when we want ==.
kudo/nom: 19bc2c3 | jnthn++ | src/core/ (2 files):
Correct === Int/Num fast-paths.

They need to ensure that the type is identical.
kudo/nom: 60c273d | jnthn++ | src/core/ (2 files):
Add === fast-paths for Complex and Rational.
ast: 227b81e | jnthn++ | S02-names-vars/perl.t:
More tests for Str.perl and comb chars.
ast: 85dd356 | jnthn++ | S03-operators/value_equivalence.t:
Test for RT #125509, plus other === bugs.
synbot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=125509
ShimmerFairy m: say .perl given my @ = ([<a b>], 0).flat
camelia rakudo-moar 5930fc: OUTPUT«[["a", "b"], 0]<>␤»
ShimmerFairy m: say .perl given my @ = ([<a b>], 0).flat.flat
camelia rakudo-moar 5930fc: OUTPUT«[["a", "b"], 0]<>␤»
grondilu flattening in Perl 6 is still a mystery to me 13:51
13:51 vendethiel left
moritz same here 13:51
though .flat only ever flattens (), never [] 13:52
grondilu m: say .elems given my @ = [<a b>].list, 0;
camelia rakudo-moar 5930fc: OUTPUT«3␤»
grondilu I guess I should do that 13:53
dalek ast: 42e642e | jnthn++ | S03-operators/value_equivalence.t:
Tweak test we didn't really fix.

A recent change made it a passing todo by hiding an issue rather than fixing it at its root.
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
DrForr Okay, I'll bite. Someone got a pointer? Since all I can find is an iTunes game... 13:55
13:55 laouji left
DrForr suspects he's about to waste an otherwise productive week. 13:56
13:56 vendethiel joined
ShimmerFairy DrForr: it's described on masak's blog; give me a second to find the post 13:57
13:59 JimmyZ_ joined
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. 13:59
ShimmerFairy DrForr: strangelyconsistent.org/blog/counti...igurations 14:00
have fun being tormented for years :P
14:00 g4 left 14:03 Ven left
ShimmerFairy DrForr: I'm sure it would be interesting. I can definitely see Perl 6 being an academic language. 14:03
DrForr Okay, you people need to read these books: 14:06
www.amazon.com/s/ref=nb_sb_ss_c_0_1...Caps%2C253 14:07
14:12 skids joined 14:13 aborazmeh joined, aborazmeh left, aborazmeh joined
dalek ast: 73e6a7c | jnthn++ | S32-exceptions/misc.t:
Test for RT #125120.
14:14
synbot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=125120
dalek kudo/nom: 150df80 | jnthn++ | src/Perl6/World.nqp:
Make compiler look for exceptions in setting only.

If people declared a package X, it could hide the X namespace for exceptions, so the compiler could not find its exception types to throw for things like syntax errors. This has led to all manner of confusion. So, now we only look for those in the current setting.
14:16 CIAvash left, CIAvash joined 14:17 vendethiel left
ugexe moar is failing on windows right now right? 14:19
jnthn Uh, no
ugexe ah so i did hose this system 14:20
jnthn All the commits I just made are from Moar/NQP/Rakudo HEAD...
Though you're not the only person to report that something is up...
What compiler did you build with?
ugexe cl
jnthn Hm, same as me then
14:21 Ven joined 14:22 vendethiel joined
timotimo what's cl? it's not clang, right? 14:22
ugexe from visual studio
timotimo is that the codename for the visual studio compiler?
code-names are cool.
jnthn It's the executable name of the compiler; cl.exe 14:23
14:24 tinyblak left
jnthn ugexe: 32-bit of 64-bit? 14:24
timotimo "compiler and linker".exe possibly
jnthn timotimo: Maybe, but there's also a link.exe ;)
timotimo huh
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...
RabidGravy it's been "cl.exe" since before visual studio was even thought of
ugexe 64bit 14:26
ShimmerFairy I like how it's one letter away from the Windows command cls :P
jnthn ugexe: Hm, same here also. Oddness
14:27 laouji joined
FROGGS ugexe: how does it fail? 14:28
ugexe stage optimize: gmake: *** [CORE.setting.moarvm] ERROR -1073741784
FROGGS ugexe: well, gmake + cl = no luck
ugexe: is it possible that moar was built with cl and nmake, and something tries to build rakudo with gcc and gmake? 14:29
ugexe yes 14:30
FROGGS hmmm
ugexe im guessing the Path is giving the Configure.pl probe the wrong one for my case?
FROGGS ugexe: can you debug what happens in Configure.pl at around line 133? 14:31
14:31 laouji left
FROGGS ugexe: also, what do you get here? nqp-m -e "print(nqp::backendconfig()<make>)" 14:32
C:\rakudo>nqp-m -e "print(nqp::backendconfig()<make>)" 14:33
nmake
it seems to tell the truth on my box
ugexe that command tells me gmake
which Configure.pl? /nqp or /moar?
FROGGS ugexe: rakudo's
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:34
14:35 FROGGS[mobile] joined
ugexe i see it checks that command first before the nmake /? >NUL 2>&1 14:35
the rakudo configure that is
grondilu I hate it when I can't use perl6 while it's compiling. It should not be the case.
FROGGS shop & 14:37
14:37 FROGGS left
hoelzro tadzik: any chance you could merge my emmentaler PR so that we can have warnings reports in the smoker? =) 14:38
itz if I'm inside a method can I access the method name? 14:40
ugexe $?ROUTINE i think
14:40 Ven left
jnthn m: class A { method yes() { say &?ROUTINE.name } }; A.yes 14:40
camelia rakudo-moar 60c273: OUTPUT«yes␤»
itz ty
ugexe maybe adding a !$has_cl to github.com/rakudo/rakudo/blob/nom/...#L138-L139 would be sufficient 14:45
im dumb, that doesnt help that nqp was built with gmake in the first place 14:46
14:49 atroxaper joined
FROGGS[mobile] true :o) 14:50
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
FROGGS[mobile] sure, I wrote it :P 14:53
14:54 atroxaper left
ugexe this could all be solved if you just made more obvious miscalculations 14:55
FROGGS[mobile] I'm sorry :S 14:56
14:59 raiph left, raiph joined
grondilu yeah, the script I wrote to convert .dat mesh files to webgl works. Check out my spaceship: grondilu.github.io/oolite/cobra3.html 15:00
Perl6++
the scritp really is ugly though: gist.github.com/grondilu/aa164666244e3fdeee8e 15:01
but it does the job
15:01 raiph left 15:02 raiph joined 15:05 raiph left, AlexDaniel left 15:06 raiph joined
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
15:07 Dee22 left, VinceDee joined 15:09 raiph left, raiph joined, Akagi201_ left 15:10 raiph left 15:12 raiph joined 15:13 raiph left
jnthn ugexe: try running "vcvars64" 15:13
15:13 raiph joined 15:16 raiph left 15:17 aborazmeh left, raiph joined
ugexe no such command, nor am i able to find a matching file 15:18
15:19 raiph left
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
15:20 raiph joined 15:23 raiph left
itz grondilu++ # that is way cool 15:24
15:24 tinyblak joined
moritz m: say so [] 15:24
camelia rakudo-moar 150df8: OUTPUT«False␤»
moritz hoelzro: sounds like a bug
colomon huh. just tried the parallel mandelbrot code for the first time in ages. 15:25
in the past, it almost always flaked out badly.
hoelzro moritz: indeed, I'm just wondering if others are seeing it
colomon today, it seems to run well under Linux, but still flakes out under OS X.
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.
ShimmerFairy: recently I've been looking into topology, especially algebraic topology. seeing irclog.perlgeek.de/perl6/2015-06-29#i_10820956 I suspect you would enjoy doing the same. 15:28
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:29 tinyblak left
colomon algebraic topology was my most incomprehensible class at school. 15:30
masak well, I'll be honest and say that there are many things about it that I still incomprehend :P 15:31
but I kind of enjoy that, spending a fraction of my time outside my "knowledge comfort zone"
15:32 zakharyas left, raiph joined 15:35 raiph left, raiph joined 15:36 gfldex joined, coffee` joined
ugexe print qq|hello\rXXXXX| # on Windows this displays differently than perl5 on windows (or rakudo on linux as well) 15:44
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”. :)
timotimo oh, speaking of the weekly
colomon jnthn: on linux it seemed much better, but I still got a seg fault after enough tries (maybe 5) 15:48
jnthn: on OS X I’m yet to get a successful run
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?
hoelzro m: sub nothing { return } ; .say for (["value"].list Z nothing())
camelia rakudo-moar 150df8: OUTPUT«value Nil␤»
hoelzro m: sub nothing { return Empty } ; .say for (["value"].list Z nothing()) 15:49
camelia ( no output )
jnthn colomon: OS X seems to be great at bringing out all kinds of bugs :)
colomon jnthn: :)
hoelzro what are the rules regarding a return without a value? why does the Z operator yield anything there?
jnthn hoelzro: I suspect that needs considering as part of GLR 15:51
15:53 pullphinger joined 16:00 espadrine left 16:03 espadrine joined, domidumont left, gtodd joined 16:05 itz left
hoelzro jnthn: what would be the expected post-GLR behavior there? 16:07
jnthn hoelzro: I said "needs considering" 'cus I don't know :P 16:08
hoelzro ah =) 16:09
jnthn TimToady or pmichaud may know, however :)
16:10 rindolf joined
rindolf Hi all . Sup? 16:10
16:12 raiph left 16:15 Ven joined 16:17 tinyblak joined 16:18 uncleyear joined
tadzik hoelzro: oh, yes! Please remind me an hour from now :) 16:19
16:19 spider-mario joined
hoelzro will do! 16:19
16:20 dha joined
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␤␤»
( no output )
[Coke] .seen curisovidpoe 16:23
yoleaux I haven't seen curisovidpoe around.
[Coke] .seen curtisovidpoe
yoleaux I saw CurtisOvidPoe 8 Jun 2015 23:27Z in #perl6: <CurtisOvidPoe> japhb: thank you.
dalek p: 64945f1 | jnthn++ | tools/build/MOAR_REVISION:
Get MoarVM with bug fix, extra APIs.
rindolf hoelzro: long time! Sup? 16:25
dha Do we have a p6 equivalent of C<localtime> yet? Or C<gmtime> for that matter?
JimmyZ_ Datetime?
hoelzro rindolf: nothing really; summertime, so I'm busier with non-programming stuff than usual. yourself?
TimToady the .seen command needs a 'Did you mean ...?' 16:28
jaffa4 dha: now 16:29
m: say now
camelia rakudo-moar 150df8: OUTPUT«Instant:1435595431.112935␤»
dha yeah, that's not really equivalent to localtime... :-) 16:30
jaffa4 m: say DateTime.new(now)
camelia rakudo-moar 150df8: OUTPUT«2015-06-29T16:30:48Z␤»
jaffa4 m: say DateTime.new(now).hour 16:31
camelia rakudo-moar 150df8: OUTPUT«16␤»
jaffa4 m: say DateTime.new(now).minute
camelia rakudo-moar 150df8: OUTPUT«31␤»
dalek kudo/nom: 7378ad7 | jnthn++ | src/Perl6/ModuleLoader.nqp:
Fix "dependency not precomp'd" error.

Seems it didn't trigger for some reason the previous way we had it checked. This gets it more reliable.
kudo/nom: 9ac7c8e | jnthn++ | / (2 files):
Use MoarVM API for HOW access.

Digging directly into the pointer isn't good enough, since we lazily deserialize ->HOW. This fixes pre-comp bugs involving subset types, and possibly others. Most immediately, it fixes RT #125245.
synbot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=125245
dalek ast: ca60fc4 | jnthn++ | S10-packages/precompilation.t:
Test for RT #125245.
synbot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=125245
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.
I.e. something a human doesn't have to stop and think about. :-)
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!
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␤␤»
jaffa4 m: say Date.new(now)
camelia rakudo-moar 150df8: OUTPUT«2015-06-29␤»
jaffa4 m: say Date.new(now).day-of-week
camelia rakudo-moar 150df8: OUTPUT«1␤»
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().
raydiak dha: doc.perl6.org/type/DateTime 16:37
dha Yes, that is where I am not finding those things. :-)
jaffa4 m: say Date.new(now).day-of-month
camelia rakudo-moar 150df8: OUTPUT«29␤»
16:37 nowan joined
dha oh, ok, Dateish. 16:37
jaffa4 m: say Date.new(now).day-of-week 16:38
camelia rakudo-moar 150df8: OUTPUT«1␤»
jaffa4 m: say Date.new(now).day-of-year
camelia rakudo-moar 150df8: OUTPUT«180␤»
dha Ok, so that leaves $isdst and C<scalar(localtime)>
raydiak m: say ~DateTime.now 16:39
camelia rakudo-moar 150df8: OUTPUT«2015-06-29T18:39:53+02:00␤»
jaffa4 I cannot find $sdst 16:40
raydiak is not sure about dst either
well that's not quite scalar localtime either 16:41
dha Right.
jaffa4 you can build it
dha And, for those who may have missed it, this is the context for what I'm asking all these questions for: github.com/dha/perl5-to-perl6-docs 16:42
raydiak yeah, don't see a direct equivalent for scalar localtime
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:43
raydiak wikipedia says "For most purposes, UTC is considered interchangeable with GMT, but GMT is no longer precisely defined by the scientific community." 16:44
m: say ~Date.new # :) 16:45
camelia rakudo-moar 150df8: OUTPUT«2015-12-24␤»
jnthn Just verified: the pre-comp bug I just fixed was the one afflicting Text::CSV also
.tell |Tux| 124298 is fixed :) 16:46
yoleaux jnthn: I'll pass your message to |Tux|.
raydiak jnthn++
dha ok, so the equivalent of gmtime would be methods on a UTC DateTime object.
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))␤»
jaffa4 m: say callframe().my{"\$>PACKAGE"};
camelia rakudo-moar 150df8: OUTPUT«(Any)␤»
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…»
|Tux| jnthn++
yoleaux 16:46Z <jnthn> |Tux|: 124298 is fixed :)
|Tux| tests locally …
jaffa4 m: unit module eeee; say callframe().my{"\$>PACKAGE"};
camelia rakudo-moar 150df8: OUTPUT«(Any)␤»
raydiak dha: sounds right, probably via DateTime.utc()
jaffa4 m: unit module eeee; say callframe().my; 16:49
camelia rakudo-moar 150df8: OUTPUT«EnumMap.new("\$?PACKAGE" => Mu, "\$_" => Mu, "::?PACKAGE" => Mu)␤»
raydiak m: say DateTime.now.utc
camelia rakudo-moar 150df8: OUTPUT«2015-06-29T16:49:09Z␤»
jaffa4 m: say DateTime.now.utc
camelia rakudo-moar 150df8: OUTPUT«2015-06-29T16:49:28Z␤»
jaffa4 not correct
ok, it is
raydiak m: say DateTime.now 16:50
camelia rakudo-moar 150df8: OUTPUT«2015-06-29T18:50:07+02:00␤»
16:51 nys left, AlexDaniel joined, rindolf left 16:52 Zoffix joined 16:53 diana_olhovik_ left
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
16:54 dakkar left
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
&
dha Granted, but I wanted to put something in for C<gmtime> other than "Just forget about it."
16:57 abraxxa left
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 :)
dha Yeah. Not sure offhand how to really explain it. But, hey, patches welcome. :-) 17:00
|Tux| jnthn, I now get new failures 17:03
likely not related to your fix
raydiak dha: not sure either myself atm, but I'll keep that in mind :)
|Tux| # expected: 'QB8m:"Ħēłĺº"' 17:04
# got: 'QB8m:"\x[126]ēłĺº"'
why is only *one* of those UTF8 characters converted to \x notation (where I expected none to be in \x)
17:05 JimmyZ_ left
|Tux| the other fail is related: 17:06
# expected: 'QB8m:"⑮"'
# got: 'QB8m:"\x[246e]"'
m: "Ħēłĺº".say 17:09
camelia rakudo-moar 9ac7c8: OUTPUT«Ħēłĺº␤»
|Tux| m: "Ħēłĺº".gist.say
camelia rakudo-moar 9ac7c8: OUTPUT«Ħēłĺº␤»
|Tux| m: "Ħēłĺº".perl.say
camelia rakudo-moar 9ac7c8: OUTPUT«"\x[126]ēłĺº"␤»
|Tux| That does *not* look right to me. very inconsistent
m: "Hēłĺº".perl.say 17:12
camelia rakudo-moar 9ac7c8: OUTPUT«"Hēłĺº"␤»
|Tux| m: "HĦēłĺº".perl.say
camelia rakudo-moar 9ac7c8: OUTPUT«"HĦēłĺº"␤»
|Tux| so, only if the first character is "special", .perl transforms that to \x[] 17:13
colomon m: "ēłĺº".perl.say
camelia rakudo-moar 9ac7c8: OUTPUT«"\x[113]łĺº"␤»
colomon seems like 17:16
17:17 FROGGS[mobile] left 17:19 FROGGS joined, raiph joined
dha C<lstat> and the C<_> filehandle - gone? 17:19
17:19 espadrine left
dha Oh, it's probably something in IO now, isn't it. /me digs 17:21
ugexe its in nqp at least
m: use nqp; nqp::lstat
camelia rakudo-moar 9ac7c8: OUTPUT«===SORRY!===␤Arg count 0 doesn't equal required operand count 3 for op 'lstat'␤»
dha hm. $fh.stat and $fh.lstat do not seem to work. 17:23
ugexe so on windows my $line = "1\r2"; will print "1\n2" to the terminal screen, and "12" printing to a file handle 17:25
raydiak dha: I think IO::Handle and IO::Path both do IO::FileTestable 17:29
17:30 virtualsue left
ugexe \b *does* work on windows moarvm though 17:34
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
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
That's a (mis)feature of DOS/Windows 17:39
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!
jaffa4 Is it possible to set a variable in the caller's namespace? 17:47
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
camelia rakudo-moar 9ac7c8: OUTPUT«5␤»
psch dha: not as in "unload this module" i think, though 17:50
dha And, not, I imagine for versions either.
So, still usable for pragmas, but not otherwise?
jnthn .u Ħ 17:51
yoleaux U+0126 LATIN CAPITAL LETTER H WITH STROKE [Lu] (Ħ)
dha Would that be a reasonable thing to say?
jnthn m: say uniprop 'Ħ'.ord, 'Canonical_Combining_Class'
camelia rakudo-moar 9ac7c8: OUTPUT«0␤»
jnthn |Tux|: Hm, it's only supposed to trigger the \x-ing if it's a combining char at the start
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␤»
jnthn m: say uniprop('Ħ'.ord, 'Canonical_Combining_Class').WHAT
camelia rakudo-moar 9ac7c8: OUTPUT«(Str)␤»
jnthn Oh... 17:54
And that's what we get for making '0' be True :P
TimToady heh
FROGGS ups
TimToady I'm surprised it took this long to bite us
but please, in the sense that it tends to support the decision as the correct one 17:55
*pleased
jnthn *nod*
Yes, I was very much +1 to the change :)
Ven backlogs a bit 17:56
FROGGS m: say "Ħ" ~~ /<:Canonical_Combining_Class({say $_; say $_.WHAT; 1})>/ # why is that a string anyway?
camelia rakudo-moar 9ac7c8: OUTPUT«0␤(Str)␤「Ħ」␤»
jnthn Anyways, 1-char addition should fix it :)
FROGGS: I *think* it may be able to take a non-numeric value also
ugexe b2gills: the filehandle was in text mode... 17:57
FROGGS jnthn: not according to MoarVM/UNIDATA/PropertyValueAliases.txt:361:# Canonical_Combining_Class (ccc)
jnthn static char *Canonical_Combining_Class_enums[56] = { "Not_Reordered", "0", ... 17:58
FROGGS # In the case of ccc, there are 4 fields. The second field is numeric, third 17:59
# is abbreviated, and fourth is long.
so yeah, hmmm
18:00 Ven left, telex left
jnthn Got a fix 18:00
m: use Test; is "Ħ".perl.chars, 3;
camelia rakudo-moar 9ac7c8: OUTPUT«not ok 1 - ␤␤# Failed test at /tmp/PchVfxBbSC line 1␤# expected: '3'␤# got: '9'␤»
18:02 telex joined
dalek kudo/nom: 76d4cf3 | jnthn++ | src/core/Str.pm:
Fix type-o in Str.perl comb-chars change.
18:02
ast: efef903 | jnthn++ | S02-names-vars/perl.t:
Another regression test for Str.perl.
18:03
jnthn |Tux|: Fixed, thanks.
18:04 captain-adequate joined 18:09 ggoebel2 joined
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:12
18:13 ggoebel left
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:14
ugexe yeah, it doesnt create anything 18:17
"directory".IO.mkdir on the other hand...
18:17 Zoffix left
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
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…»
dalek ast: 1c4cfe4 | jnthn++ | S06-advanced/return.t:
Tests for RT #115868.
18:22
synbot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=115868
18:22 raiph left
dalek kudo/nom: e52a889 | jnthn++ | src/Perl6/Actions.nqp:
Avoid a warning while producing an error.
18:23
kudo/nom: db0e838 | jnthn++ | src/core/Backtrace.pm:
Avoid useless error reporting subs in backtrace.
18:26 nowan left 18:27 atroxaper joined 18:30 nowan joined, sjn_phone_ joined
AlexDaniel FROGGS: oh! I'm so happy that somebody was able to reproduce that bug 18:31
18:31 atroxaper left
FROGGS AlexDaniel: yeah... I just don't know how to solve it :/ 18:31
AlexDaniel FROGGS: by the way, what did you use to get that backtrace? 18:32
FROGGS: maybe it would make sense to also get the backtrace for free(): invalid pointer 18:33
FROGGS: because once upon a time I got that error message as well
although I did not change anything, as far as I remember 18:34
but you probably know better
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␤»
skids Also
FROGGS AlexDaniel: first you need to build MoarVM with --debug, potentially --debug=3
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"?
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␤»
skids oops
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"?
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:␤ …»
FROGGS AlexDaniel: and then when you encounter a segfault, run your script under perl6-gdb-m 18:36
AlexDaniel: and the you'll see instructions
jnthn FROGGS, AlexDaniel: Which SEGV do you speak of? :)
FROGGS AlexDaniel: there is also perl6-valgrind-m, which is useful
jnthn: RT #125500 18:37
synbot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=125500
FROGGS #5 0x00007ffff79070a3 in MVM_frame_dec_ref (tc=0x603730, frame=0xf5addd0) at src/core/frame.c:85
AlexDaniel FROGGS: well, I did perl6-valgring-m, the output is provided in one of the links 18:38
although I did not use any additional options
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.)
FROGGS AlexDaniel: valgrind is only useful, if it reveals an illegal read or illegal write btw 18:40
AlexDaniel FROGGS: ok, got it 18:41
DrForr masak: Indeed it would not surprise me re:"winning ways". 18:42
18:43 sjn_phone_ left 18:46 rindolf joined
rindolf Hi all. 18:46
jnthn FROGGS: Are you running latest builds of stuff? 18:47
FROGGS jnthn: ~$ perl6-m --version
This is perl6 version 2015.06-90-gb197408 built on MoarVM version 2015.06-44-g2c96984
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.
FROGGS jnthn: not quite I guess
dha The only thing I can find in the docs is doc.perl6.org/routine/package which confuses me. 18:48
jnthn FROGGS: I fixed a missing big-int related error check today
dha Are the claims in S10 actually functional at this point? And how would one use what's shown at doc.perl6.org/routine/package ?
FROGGS jnthn: I'm rebuilding now...
18:51 tinyblak left
hoelzro tadzik: ping 18:51
ugexe m: class Foo { has $.a; }; my $bar = Foo.new.^attributes; say $bar.[0].package 18:52
camelia rakudo-moar db0e83: OUTPUT«(Foo)␤»
dha what's the C<[0]> for? 18:55
oh.
ugexe attributes is plural. its a list
dha right.
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
dalek kudo/nom: 14131df | jnthn++ | src/Perl6/Actions.nqp:
Add a bunch of missing re-declaration checks.
19:01
ast: 20f6891 | jnthn++ | S32-exceptions/misc.t:
Various redeclaration tests, including RT #108462.
synbot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=108462
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:02
19:05 laouji joined
tadzik hoelzro: pong 19:09
hoelzro tadzik: wanna merge that PR? =)
19:10 laouji left
tadzik yeah :) 19:10
done, thaks 19:11
I should merge more PRs
this week is the last fulltime week though, tuits will come
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␤»
[Coke] anyone have any feedback on the attr-required branch? or on the required tests? Or on sugar for the syntax? 19:17
19:17 bin_005 joined 19:18 rindolf left, sjn_phone_ joined
[Coke] irclog.perlgeek.de/perl6/2015-06-24#i_10797106 - wondering what that would look like - class F { has $.bar! } ? 19:19
FROGGS [Coke]: I like it 19:20
hoelzro tadzik: thanks!
PerlJam class C { has $!x! }; is the one that people may react to.
hoelzro now I just need a merge on github.com/perl6-community-modules...lts/pull/2 19:21
19:21 aindilis joined
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?
PerlJam [Coke]: I'd like to see your branch merged even if the sugar does not yet exist. 19:23
skids
.oO(Diet [Coke]?)
19:24
[Coke] skids: CokeZero is preferred.
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! )
[Coke] jnthn: sadly, no, I even mean that for beverage choice. no more beer. 19:26
(too many carbs)
jnthn agrees with PerlJam, fwiw
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
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?
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
jnthn Maybe I'm confusing two different things though :)
dalek rakudo/nom: 212c0c0 | coke++ | src/ (3 files):
rakudo/nom: Add a required attr to Attributes
rakudo/nom:
rakudo/nom: If "is required" is present, set the attr.
rakudo/nom:
FROGGS [Coke]++
jnthn: I don't mind :o) 19:30
19:30 dalek joined, ChanServ sets mode: +v dalek
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
19:32 TEttinger joined
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?
masak dha: global state bad, but there are some equivalents. 19:34
DrForr nine: Around?
dalek ar: 1cc0f0a | gerd++ | tools/build/ (2 files):
languages -> share
19:35
ar: 27a11d5 | FROGGS++ | tools/star/Makefile:
set version of moar/nqp/rakudo to 2015.06
ar: 023a885 | FROGGS++ | modules/ (22 files):
update submodules
dha masak - any worth mentioning?
ar: f30a4d9 | FROGGS++ | docs/announce/2015.06.md:
stub release announcement
ar: c7b57d0 | FROGGS++ | / (2 files):
update versions / copyright year
DrForr Or rather, the owner of IO::Handle - Deprecation alert on IO::Handle::pipe
ar: 9deab8a | FROGGS++ | / (4 files):
added Template-Mustache and File-Temp, these are deps
ar: 940c2f3 | FROGGS++ | / (6 files):
move modules into correct place
ar: 36ecc6c | FROGGS++ | / (3 files):
add File::Directory::Tree as a dependency
FROGGS rest of star comes tomorrow
PerlJam FROGGS++ nice
jnthn FROGGS++ \o/ 19:36
PerlJam FROGGS: ooc, is Inline::Perl5 part of R*?
FROGGS PerlJam: no, nothing NativeCallish in there 19:38
19:39 pdcawley left
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
nine DrForr: yes 19:41
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...
synbot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=125500
FROGGS PerlJam: yes, and I think we should revise the included dists... though we also need to take platforms like windows into account 19:43
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
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 CIAvash left
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.
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: froggs.de/perl6/rakudo-star-2015.06-RC0.tar.gz
DrForr (assuming it's going to DTRT.) 19:47
19:47 sjn_phone_ left
nine Is there a way besides panda to install a module? 19:47
DrForr You're asking the wrong person here :) 19:48
19:48 [Sno] left
ugexe something like my $repo = CompUnitRepo::Local::Installation.new(%*CUSTOM_LIB<site>); $repo.install(|from-json("META.info".slurp), @includes); 19:48
ufo and zef can also install modules. although anything that uses panda specific Build.pm wont get that code run 19:49
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 :)
No, not my invocation of perl6. 19:51
dalek kudo/nom: 4bcbc74 | jnthn++ | src/ (3 files):
Make ENTER phaser work as an r-value.

In doing so, refactor the way we produce code to run phasers, so we do more work at compile time and less at runtime. This also should give the optimizer a shot at inlining simple ENTER phasers.
19:52
DrForr reads the docs more closely.
dalek ast: fbe6471 | jnthn++ | S04-phasers/enter-leave.t:
Tests for RT #116102 (ENTER phasser as r-value).
synbot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=116102
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?
ugexe no 19:53
dha or am I just not finding the right incantation for it.?
19:53 [Sno] joined
ugexe method print { die } :) 19:53
PerlJam dha: print $fh: "whatever"; #not the colon
er note
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...
PerlJam providing some syntax for indirect object notation so that Perl doesn't have to guess what you mean :)
DrForr nine: Think I found the issue, ne'er mind. 19:55
dha And is that use of ":" god forbid documented anywhere? :-) 19:57
PerlJam S03:4019 19:58
synbot6 Link: design.perl6.org/S03.html#line_4019
19:58 domidumont left
dha thanks. 19:58
TimToady S12:317
synbot6 Link: design.perl6.org/S12.html#line_317
19:58 [Sno] left
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. :-)
dalek ast: 35619ce | jnthn++ | S06-multi/type-based.t:
Add test coverage for RT #125483.
synbot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=125483
20:04 darutoko left
dha Any differences between p5 and p6 C<printf>? 20:05
(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. :)
dha (although C<sprintf> is)
I can safely assume that the directives for C<printf> are the same as for C<sprintf> though, right? 20:08
(in p6)
TimToady it's likely a good first approximation
masak dha: yes -- sorry, distracted. there's a flag on regexes that allows you to continue where the last match ended. 20:09
20:10 yqt joined 20:11 kanl left, kanl joined
PerlJam gah! I keep typing $obj.method in my P5 code today 20:12
20:12 frobisher joined
frobisher bah. 20:12
20:13 dha left, frobisher is now known as dha
RabidGravy boom 20:13
dha masak - thanks. is that flag documented?
tony-o worse is the array sigil switching PerlJam
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")
27 Jun 2015 06:18Z <raiph> tony-o: (Also, that the say-in-say approach will end in tears)
27 Jun 2015 06:19Z <raiph> tony-o: I've updated github.com/tony-o/perl6-template-p...e/issues/1
tony-o dha: yes it's documented 20:14
masak dha: yes. S06
er, S05, of course
dha So, fsvo "documented". :-)
TimToady masak: [] will also flatten after GLR, since [] won't assume $ anymore 20:15
masak interesting.
TimToady wrt MONKEY-TYPING, the hyphen was introduced precisely because it's harder to type, iirc
RabidGravy works for me 20:16
dha masak - which flag am I actually looking for in S05? 20:17
PerlJam dha: S05:304
synbot6 Link: design.perl6.org/S05.html#line_304
PerlJam (if I was paying enough attention) 20:18
dha Ah, so it's the default of :c
It talks about :c in doc.perl6.org/language/regexes but not its default. 20:19
dalek kudo/nom: 1478dc0 | jnthn++ | src/core/Exception.pm:
Escape chars in X::Str::Numeric indicator.

Fixes RT #125335.
20:20
synbot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=125335
dha Actually, it mentions that the default is the start of the string, which is inaccurate.
dalek ast: 9c05ca0 | jnthn++ | S32-exceptions/misc.t:
Test for RT #125335.
synbot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=125335
PerlJam dha: depends on how you read the text. "By default, [the regex] searches from the start of the string" 20:21
but, yeah, it's unclear at best.
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:22
dalek kudo/nom: 309b83a | TimToady++ | src/Perl6/Grammar.nqp:
allow my %{Foo}
20:24
dha Should I try to patch that or leave it alone for now? 20:25
jnthn heh, cute...
dha uh... 20:28
vendethiel my %{Foo}?
dha m: 16.printf("%d\n")
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…»
PerlJam dha: patch away (or remember to remind one of us to patch it later :)
dha m: 16.printf
camelia rakudo-moar 4bcbc7: OUTPUT«16»
20:28 virtualsue joined
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;␤»
dha odd. On my machine, that last bit of code output "16%"
TimToady vendethiel: ^^
anonymous array with non-string key
dha So, C<printf> can't be used as a method? or am I just invoking incorrectly again?
vendethiel m: my %<hash>
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>␤»
TimToady dha: for individual values we use .fmt("%s") and such 20:30
and the variadic form is considered something of an antipattern, since it separates related items 20:31
as far as I can recall, nobody's actually requested the method form of that 20:32
(if you mean the list as the object)
20:32 diana_olhovik_ joined
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␤␤»
TimToady I guess we don't have that either
dha m: say $*OUT.fmt: "%s", "oof"
camelia rakudo-moar 4bcbc7: OUTPUT«Method 'fmt' not found for invocant of class 'IO::Handle'␤ in block <unit> at /tmp/lkfU_5aFiZ:1␤␤»
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")␤»
TimToady m: $*OUT.say: "oof".fmt("%s")
camelia rakudo-moar 4bcbc7: OUTPUT«oof␤»
jnthn m: class C { has $!x is rw }
camelia rakudo-moar 4bcbc7: OUTPUT«useless use of 'is rw' on $!x in any at src/Perl6/World.nqp:2511␤»
dha So you have to use .say on a specific filehandle to make that work? 20:35
TimToady or .print
dha so...
m: say: "oof".fmt("%s"); 20:36
camelia ( no output )
dha o... k...
TimToady your "say:" was just a label
colon is only for methods
dha ah. 20:37
I'm still getting the hang of the colon. :-)
TimToady because listops already default to taking args
and methods default to not taking args
(since they already have one arg, the invocant)
dha m: say "oof".fmt("%s")
camelia rakudo-moar 4bcbc7: OUTPUT«oof␤»
dha I assume C<prototype> is no longer around. 20:43
20:43 smls joined
TimToady m: say &push.signature 20:44
camelia rakudo-moar 4bcbc7: OUTPUT«(|)␤»
TimToady m: say &atan2.signature
camelia rakudo-moar 4bcbc7: OUTPUT«($, $?)␤»
smls "future Perl 6 is likely to require tail call elimination in the absence of some declaration to the contrary" -- TimToady in Feb 2011 [rosettacode.org/wiki/Find_limit_of_...on#Perl_6]
^^ is this still gonna happen?
TimToady dunno 20:45
dalek ast: 42df59c | usev6++ | S06-signature/named-parameters.t:
Add tests for RT #77788
synbot6 Link: rt.perl.org/rt3/Public/Bug/Display...l?id=77788
smls Or will we get an explicit form like P5's "goto %sub" ? 20:46
goto &sub;
jnthn Nothing's gonna happen in 6.0.
(with regard to TCO)
dalek kudo/nom: 7b5256b | jnthn++ | src/Perl6/World.nqp:
Turn warnings from traits into worries.

This means they show up as potential difficulties with a useful source location, rather than pointlessly talking about a compiler guts source location.
jnthn But the "future" bit could be right :)
dalek ast: 10a658d | jnthn++ | integration/weird-errors.t:
Test for RT #125227.
20:47
synbot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=125227
jnthn 7b5256b is a little cheeky, but probably more useful than annoying. :)
20:47 cognominal joined 20:48 raiph joined
jnthn OK, resolved 12 RTs today. That'll do. :) 20:49
[Coke] jnthn: lucky 13!
jnthn :P
bartolin: rt.perl.org/Ticket/Display.html?id=125257 could be closed with a test, if you're having a test writing session :) 20:50
35 to go until we're back to a 3 digit number of tickets... 20:53
20:53 diana_olhovik_ left
dha PerlJam - I'm adding "If no position is 20:54
specified for C<:c> it will default to C<0> unless C<$/> is true, in which
case it defaults to C<$/.to>." to the entry in regexes.pod on C<:c>. does that read ok to you?
20:55 nowan left
dha (S05 says "defaulting to ($/ ?? $/.to !! 0)") 20:56
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 :-)
btw, in 2015 we have already more resolved tickets than in 2014; jnthn++ 20:58
colomon \o/
RabidGravy DHA 20:59
dhA
dha RABIDGRAVY
RabidGravy sorry lost control of my keyboard there 21:00
"$/ is defined" but yeah makes sense
dha oh. Does the conditional operator do "defined" rather than "true" in p6? 21:01
21:01 espadrine joined
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 rt.perl.org/Ticket/Display.html?id=115390 is in the same situation.
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.
So, I can feel safe changing that to "set"?
bartolin jnthn: yeah, I've wondered about that recently. I was not sure whether it's sane to add those loops to roast ... 21:04
. 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
bartolin jnthn: I see, not very stressful then ... 21:07
21:08 espadrine left
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: rt.perl.org/rt3/Public/Bug/Display...?id=123969
dha Eh. I'll change it to "set". Certainly sounds better, and if someone disagrees, they can patch it.
RabidGravy so dha, "if there was a successfull match then $/.to otherwise 0"
bartolin j: class Foo is repr<CStruct> { has int32 $.idontcare; has Foo $.bar }; my $a = Foo.new; say "alive"
camelia rakudo-jvm 309b83: OUTPUT«alive␤» 21:09
dha *nod*
21:09 pullphinger left
jnthn bartolin: Well, it's a bit useless if .new doesn't work... 21:09
bartolin: So I'd say there's still an issue 21:10
bartolin jnthn: I think it works now (see above)
jnthn bartolin: oh, sorry...yes, you're right :)
bartolin: Then yes, test in t/04-nativecall 21:11
bartolin: Best keep all the nativecall tests together
bartolin++
bartolin great, thanks for looking!
21:11 MueThoS76 joined
jnthn TimToady: Plesae could you see if you agree with rt.perl.org/Ticket/Display.html?id...xn-1348528 ? 21:11
(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:12
bartolin: rt.perl.org/Ticket/Display.html?id=81682 is another one for the "just needs test" list :) 21:13
(I just tagged it testneeded)
bartolin jnthn++ 21:15
21:15 skids left 21:16 [Sno] joined
jnthn OK, I'm going to relax. :) 21:16
21:17 FROGGS_ joined 21:18 jaffa4 left 21:20 FROGGS left 21:22 virtualsue left
[Coke] jnthn: have my beer, will you? 21:24
21:30 MueThoS76 left 21:32 atroxaper joined
grondilu wait, wasn't "note" supposed to write on stderr? 21:32
$ perl6 -e 'note "ipsum lorem"' 2>/dev/null suggests it does not. 21:33
grondilu checks S16 and gets confirmation it should write on $*ERR 21:35
21:37 atroxaper left
RabidGravy grondilu, the implementation definitely does $*ERR.print so either $*ERR is wrong or something weird is going on 21:38
21:39 smls left
grondilu well I can't reproduce it 21:40
I mean I run the ipsum lorem again and I see nothing. Weird.
meh nevermind, it might have been me hallucinating.
RabidGravy :)
grondilu oh wait 21:42
I4m so confused
so, $ perl6 -e 'note "ipsum lorem"' 2> /dev/null shows nothing. 21:43
which is fine since $*ERR goes to /dev/null
21:43 nowan joined
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
*suppose
geekosaur heh
yes, that's an old (and annoying) vi-ism
(presuming you meant stdout) 21:45
dha C<quotemeta> - replaced or just gone? 21:48
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
is that what you mean?
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
quotemeta is a perl5 function
dha well, a similar result in the use of regexes.
yes, that is what I am doing.
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
(the correct answer being to not involve the shell, of course. cf. yesterday's discussion)
timotimo i don't know anything about p5
masak 'night, #perl6 21:56
21:58 rurban left
dha And where is that regex behavior documented? under regexes or quoting constructs? Or somewhere else? 22:02
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
(i.e. should that be "Q:w"?)
dalek kudo-star-daily: 307ccae | coke++ | log/ (10 files):
today (automated commit)
22:12
rl6-roast-data: 2f1cff2 | coke++ | / (9 files):
today (automated commit)
22:13 dha left, frobisher joined 22:14 frobisher is now known as dha
dha So. did anyone say anything to me while I was busy reconnecting? 22:15
tadzik nope
dha oh yay. :-)
tadzik :)
dha Now I just need to remember what my questions were...
tadzik (I dunno though)
22:16 lolisa joined
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?
[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"?
[29 22:04] <dha> (i.e. should that be "Q:w"?)
dha Thanks. :-)
22:18 bin_005 left 22:22 nowan left 22:26 nowan joined 22:30 nowan left, kaare_ left 22:33 nowan joined
TimToady .tell jnthn I'm fine with the default FAILGOAL backtracking 22:51
yoleaux TimToady: I'll pass your message to jnthn.
22:52 VinceDee left
dha tries to decide if no one actually has answers to his CLEARLY ESSENTIAL questions, or if everyone's just busy. 22:52
b2gills I think telling Perl5 folks to use q:w in Perl6 is better than trying to explain the difference 22:54
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:57
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:58
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
TimToady qw// has very little to do with it, it my mind
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 ...
dha And if C<< <> >> has special meaning inside a regex, I'd like to point to where that's documented.
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
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
RabidGravy dha, the < > in a regex is alluded to butnot clearly spelt out in the language/regex doc 23:05
TimToady m: say qw/\//
camelia rakudo-moar 7b5256: OUTPUT«/␤»
23:05 skids joined
TimToady that's more like q than Q 23:05
m: say Qw/\//
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␤»
TimToady yes, qw is more accurate, so I retract what I just said
b2gills github.com/rakudo/rakudo/blob/15c6...3457-L3465 23:06
TimToady m: say <\>>
camelia rakudo-moar 7b5256: OUTPUT«>␤»
23:06 spider-mario left
TimToady if you can quote the end delimiter, that's q semeantics rather than Q 23:06
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
Ah. q:w and Q:w behave the same.
dha finally had the thought "why don't I try this?" doh.
TimToady <> inside regex is a very different beast, since it's taking over for (?:...) and such in p5
it's our extensible metasyntax, and has very different rules from outside of regex 23:08
dha Yes, I'm definitely getting that impression.
RabidGravy but [ ] has a different meaning in a regex to not in one in p5 e.g
dha I guess my question is "but where can I read about that?"
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.
dha admits to the possibility that he is such an idiot.
TimToady well, if they have, then we'd like to move beyond that modality eventually :) 23:10
we're fine with people turning random questions into docs :)
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
b2gills m: .say for Q :qq :quotewords << "a b\tc" d e f >>
camelia rakudo-moar 7b5256: OUTPUT«a b c␤d␤e␤f␤»
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 >>
camelia std 28329a7: OUTPUT«ok 00:00 136m␤»
23:14 RabidGravy left, cognominal left 23:16 gfldex left
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␤»
dha Do we still have C<require> in p6? 23:33
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 ½;␤»
dha And... C<reset>? I don't think I've ever seen anyone actually use C<reset>...
AlexDaniel what's wrong with unicode constants? 23:35
23:35 vendethiel left
AlexDaniel m: constant ä = 1/2; say ä; 23:36
camelia rakudo-moar 7b5256: OUTPUT«0.5␤»
AlexDaniel nothing is wrong, but how ½ is different?
23:38 vendethiel joined
AlexDaniel it seems like it is from another unicode set or something 23:43
23:45 yqt left
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␤ …»
TEttinger that might be it?
m: $½ = 1/2; say $'½;
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␤ …»
TEttinger m: $½ = 1/2; say $½;
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␤ …»
TEttinger sorry
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␤»
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)␤»
ugexe index and rindex are not doing the same thing when no matches are found
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? 23:59