Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2014-02-05

Perl 6 | Reference Documentation | Rakudo

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

All times shown according to UTC.

Time Nick Message
00:07 Alina-malina joined #perl6
00:24 rurban joined #perl6
00:55 jercos joined #perl6
00:59 cognominal joined #perl6
01:02 araujo joined #perl6
01:08 berekuk joined #perl6
01:25 btyler joined #perl6
01:27 jnap joined #perl6
01:35 treehug88 joined #perl6
02:03 adu joined #perl6
02:11 Sqirrel joined #perl6
02:14 Alina-malina joined #perl6
02:22 jeffreykegler joined #perl6
02:46 ilbot3 joined #perl6
02:46 Topic for #perl6 is now »ö« Welcome to Perl 6! | http://perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:,  niecza:, std:, or /msg camelia perl6: ... | irclog: http://irc.perl6.org | UTF-8 is our friend!
02:46 kaleem joined #perl6
02:56 skids joined #perl6
03:05 skids joined #perl6
03:18 pdcawley joined #perl6
03:26 adu joined #perl6
03:31 skids joined #perl6
03:37 sorear joined #perl6
03:38 immortal joined #perl6
03:38 skids joined #perl6
03:53 jeffreykegler left #perl6
04:23 jnthn joined #perl6
04:24 araujo joined #perl6
04:30 Pleiades` joined #perl6
04:34 labster joined #perl6
04:38 rurban joined #perl6
04:41 noam joined #perl6
04:53 noam left #perl6
05:01 adu joined #perl6
05:06 xenoterracide joined #perl6
05:24 telex joined #perl6
05:27 Alina-malina joined #perl6
05:35 adu joined #perl6
05:40 Alula joined #perl6
05:40 Psyche^ joined #perl6
05:51 arlinius joined #perl6
06:31 moritz good morning, #perl6
06:34 raydiak \o moritz
06:36 kaleem joined #perl6
06:43 [Sno] joined #perl6
06:46 darutoko joined #perl6
06:52 adu joined #perl6
06:59 SamuraiJack_ joined #perl6
07:13 mattp__ joined #perl6
07:17 raydiak moritz: did anything change about JSON::Tiny in the past month which could possibly cause arrays of pairs to be returned where there should be arrays of hashes?
07:18 dmol joined #perl6
07:22 xenoterracide joined #perl6
07:26 FROGGS joined #perl6
07:30 raydiak moritz: ignore that, the problem has to be elsewhere
07:31 FROGGS o/
07:31 raydiak \o
07:36 adu joined #perl6
07:46 xenoterracide joined #perl6
07:53 xenoterracide joined #perl6
07:54 tadzik raydiak: yes
07:55 tadzik panda had the same issue, but it turned out to be lacking an update
07:58 raydiak tadzik: thanks, that's exactly what it was...had a stale JSON::Tiny floating around in a forgotten place, masking out the new one
07:58 zakharyas joined #perl6
07:58 masak morning, #p6
07:58 adu joined #perl6
07:58 raydiak morning masak
07:59 masak and a fine morning it is!
07:59 diakopter <-agrees
08:06 dylanwh joined #perl6
08:07 dylanwh 6
08:10 diakopter sometimes 6 anyway
08:12 dylanwh that was me moving this to position 6, which seems fitting
08:12 moritz knight X 6
08:12 * moritz killed dylanwh
08:13 moritz :-)
08:18 mathw morning
08:19 diakopter mr walton
08:19 mathw jnthn: Excellent fosdem talk! Really positive picture of Perl 6 :)
08:19 mathw o/ diakopter
08:20 FROGGS mathw: and the good thing about that picture is that it is the truth :o)
08:21 masak what a strike of fortune!
08:22 masak but yeah, even though I *know* all the inside-echo-chamber news that jnthn writes about in his talks, reading about the way he phrases them always puts me in a better mood :>
08:22 mathw it'd be a pretty awful talk if it wasn't true :)
08:22 * moritz agrees 100% with masak
08:22 mathw I'm not so much in the echo chamber these days so it was good for me to get such a good overview - although as it turns out, I knew about most of that as it was
08:23 mathw The surprise for me was the constructor parameters field assignment thingummy including destructuring
08:23 * diakopter agrees, but much of the debugger interface was news to me
08:23 mathw I just saw the slides so I didn't get that bit
08:24 mathw Debuggable grammars makes me very happy though
08:24 diakopter at least, I think it was the debugger
08:24 diakopter the audio wasn't there at that point
08:26 diakopter oh noes, not the netsplits
08:26 * masak .oO( come back, eiro! don't be so split! )
08:31 kaleem joined #perl6
08:50 adu joined #perl6
08:53 berekuk joined #perl6
09:09 dakkar joined #perl6
09:22 Ven joined #perl6
09:22 Ven m: my $a = given 1 { when 1 { 'a'; } }; $a.say
09:22 camelia rakudo-moar 44ab3c: OUTPUT«[31m===[0mSORRY![31m===[0m�Word 'given' interpreted as a listop; please use 'do given' to introduce the statement control word�at /tmp/RrTDpY8e_K:1�------> [32mmy $a = given[33m�[31m 1 { when 1 { 'a'; } }; $a.say[0m�Unexpected block in in…»
09:22 Ven m: my $a = do given 1 { when 1 { 'a'; } }; $a.say
09:22 camelia rakudo-moar 44ab3c: OUTPUT«a␤»
09:22 Ven m: my $a = do given 1 { when 1 { 'a'; } }; $a.perl.say
09:22 camelia rakudo-moar 44ab3c: OUTPUT«"a"␤»
09:22 Ven Yay !
09:22 Ven m: my $a = +do given 1 { when 1 { true; } }; $a.perl.say
09:22 camelia rakudo-moar 44ab3c: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/oV8OQoNgRrâ�¤Undeclared routine:â�¤    true used at line 1â�¤â�¤Â»
09:23 Ven m: my $a = do given 1 { when 1 { true; } }.Int; $a.perl.say
09:23 camelia rakudo-moar 44ab3c: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/hSxVsdrqC_â�¤Two terms in a rowâ�¤at /tmp/hSxVsdrqC_:1â�¤------> [32mmy $a = do given 1 { when 1 { true; } }[33mâ��[31m.Int; $a.perl.say[0mâ�¤    expecting any of:â�¤        argument listâ�¤    â€¦Â»
09:23 Ven m: my $a = do given 1 { when 1 { true; } } ==> Int; $a.perl.say
09:23 camelia rakudo-moar 44ab3c: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/O3b9kcWxU4â�¤Sorry, do not know how to handle this case of a feed operator yet.â�¤at /tmp/O3b9kcWxU4:1â�¤------> [32m do given 1 { when 1 { true; } } ==> Int[33mâ��[31m; $a.perl.say[0mâ�¤    exp…»
09:23 Ven m: my $a = Int do given 1 { when 1 { true; } }; $a.perl.say
09:23 camelia rakudo-moar 44ab3c: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/F4GNrlgS12â�¤Two terms in a rowâ�¤at /tmp/F4GNrlgS12:1â�¤------> [32mmy $a = Int [33mâ��[31mdo given 1 { when 1 { true; } }; $a.perl[0mâ�¤    expecting any of:â�¤        postfixâ�¤        infix …»
09:23 synopsebot Link: http://perlcabal.org/syn/S12.html#line_1
09:24 Ven m: my $a = Int <== do given 1 { when 1 { true; } }; $a.perl.say
09:24 camelia rakudo-moar 44ab3c: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/THEgHklABgâ�¤Sorry, do not know how to handle this case of a feed operator yet.â�¤at /tmp/THEgHklABg:1â�¤------> [32m Int <== do given 1 { when 1 { true; } }[33mâ��[31m; $a.perl.say[0mâ�¤    exp…»
09:24 Ven Ha, not sure how to do that, then.
09:25 diakopter how to do what? :)
09:25 Ven diakopter: convert the result of a `do given` from Bool to Int
09:26 diakopter m: my $a = +do given 1 { when 1 { True; } }; $a.perl.say
09:26 camelia rakudo-moar 44ab3c: OUTPUT«1␤»
09:26 Ven OH The error was about TRUE ... My good ! diakopter++, this'll teach me to read error messages properly ...
09:27 diakopter actually the error was about the Int
09:27 diakopter the + is what you wanted
09:27 diakopter (but yeah True is initial upper)
09:27 Ven diakopter: No, no. I tried it too : "[10:23] <Ven> m: my $a = +do given 1 { when 1 { true; } }; $a.perl.say"
09:27 moritz wtf is "Int <== do ...  " supposed to mean?
09:28 Ven moritz: backwards ==> :D
09:28 Ven there exists |> and <| in f#
09:28 moritz and what would ==> do? :-)
09:28 Ven m: say ((1, 2) ==> elems)
09:28 camelia rakudo-moar 44ab3c: OUTPUT«2␤»
09:28 Ven the same thing it does currently
09:28 diakopter Ven: ah, I missed the first one there
09:29 moritz Ven: and piping it into a type object? coercion?
09:29 Ven moritz: yes
09:30 Ven moritz: ah, I thought `Int('5')` worked, my bad
09:31 diakopter m: say '5'.Int
09:31 camelia rakudo-moar 44ab3c: OUTPUT«5␤»
09:31 diakopter m: say 'Inf'.Int
09:31 camelia rakudo-moar 44ab3c: OUTPUT«===SORRY!===␤Cannot coerce Inf or NaN to an Int␤»
09:31 diakopter m: say '1/0'.Int
09:31 camelia rakudo-moar 44ab3c: OUTPUT«===SORRY!===␤Divide by zero␤»
09:31 diakopter <- surproised by that last one
09:32 diakopter p: say '1/0'.Int
09:32 camelia rakudo-parrot 44ab3c: OUTPUT«Divide by zero␤  in method sink at gen/parrot/CORE.setting:12235␤  in method BUILDALL at gen/parrot/CORE.setting:918␤  in method bless at gen/parrot/CORE.setting:838␤  in method new at gen/parrot/CORE.setting:823␤  in method new at gen/parrot/C…»
09:32 Ven @!grid = [[0, 1].pick xx $dim] xx $dim; <= Oh wow I love this
09:32 moritz m: say Int(5)
09:32 camelia rakudo-moar 44ab3c: OUTPUT«5␤»
09:32 moritz Ven: oh, it does. But it might be magical :-)
09:33 Ven yeah
09:33 Ven so I expected '5' ==> Int to work :p
09:33 moritz Ven: you can write that as [[0, 1].roll($dim)] xx $dim
09:33 diakopter does PErl 6 have a "try stuff until it works" operator
09:33 Ven moritz++
09:34 diakopter m: say 'N.B.' HANDWAVE 77
09:34 camelia rakudo-moar 44ab3c: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/9OaiRa3bRbâ�¤Two terms in a rowâ�¤at /tmp/9OaiRa3bRb:1â�¤------> [32msay 'N.B.' [33mâ��[31mHANDWAVE 77[0mâ�¤    expecting any of:â�¤        postfixâ�¤        infix stopperâ�¤        infix or met…»
09:34 moritz diakopter: loop { try stuff() }
09:34 diakopter hhe.
09:35 diakopter I meant at parse/compile time :P
09:36 moritz m: my $str = 'N.B.' HANDWAVE 77; while ! try eval $str { $str.=chop }
09:36 camelia rakudo-moar 44ab3c: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/GK6cSDbSpAâ�¤Two terms in a rowâ�¤at /tmp/GK6cSDbSpA:1â�¤------> [32mmy $str = 'N.B.' [33mâ��[31mHANDWAVE 77; while ! try eval $str { $st[0mâ�¤    expecting any of:â�¤        postfixâ�¤        i…»
09:36 moritz m: my $str = 'N.B.' HANDWAVE 77; while ! try { eval $str } { $str.=chop }
09:36 camelia rakudo-moar 44ab3c: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/6q7KPlR8QTâ�¤Two terms in a rowâ�¤at /tmp/6q7KPlR8QT:1â�¤------> [32mmy $str = 'N.B.' [33mâ��[31mHANDWAVE 77; while ! try { eval $str } {[0mâ�¤    expecting any of:â�¤        postfixâ�¤        i…»
09:36 moritz m: my $str = q['N.B.' HANDWAVE 77]; while ! try { eval $str } { $str.=chop }
09:36 camelia rakudo-moar 44ab3c: ( no output )
09:36 moritz diakopter: there you go. Wasn't hard to do :-)
09:37 diakopter ha
09:37 SamuraiJack_ joined #perl6
09:38 moritz m: my $str = q['N.B.' HANDWAVE 77]; my $res; while ! try { $res = eval $str } { $str.=chop }; say $res
09:38 camelia rakudo-moar 44ab3c: OUTPUT«N.B.␤»
09:39 yakudza joined #perl6
09:47 masak moritz: 'eval' is deprecated. please shout 'EVAL' :P
09:48 diakopter error, there was a value.
09:48 moritz masak: old habits die hard
09:50 Ven `-->`, `of` and `returns` are all the same, right ?
09:50 Ven m: 1 ==> &prefix<?> ==> say
09:50 camelia rakudo-moar 44ab3c: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/lEJZncjNBIâ�¤Undeclared name:â�¤    &prefix used at line 1â�¤â�¤Â»
09:51 Ven m: 1 ==> &:prefix:<?> ==> say
09:51 camelia rakudo-moar 44ab3c: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/NtNgqHpP2E�Cannot use placeholder parameter &:prefix:<?> in the mainline�at /tmp/NtNgqHpP2E:1�------> [32m1 ==> &:prefix:<?>[33m�[31m ==> say[0m�»
09:51 diakopter r: say: .die: .hard
09:52 camelia rakudo-parrot 44ab3c, rakudo-jvm 44ab3c, rakudo-moar 44ab3c: ( no output )
09:52 Ven http://rosettacode.org/wiki/​Conway's_Game_of_Life#Perl_6
09:52 Ven method alive (Int $row, Int $col --> Bool) # it doesn't typecheck for me here because it actually returns an Int
09:53 Ven Oh, he's only storing True and False
09:54 Ven even then :(
09:55 diakopter I think there's a way spec'd to do result coercions in that signature
09:55 diakopter but I think it's not implemented
09:55 masak moritz++ # replying to inform80
09:56 masak m: say "" ~~ / '' /
09:56 camelia rakudo-moar 44ab3c: OUTPUT«「」␤␤»
09:57 masak m: say "」" ~~ / '」' /
09:57 camelia rakudo-moar 44ab3c: OUTPUT«「」」␤␤»
09:57 masak that, IMO, is not the right output.
09:57 * masak submits rakuodbug
09:58 diakopter what should it be
09:58 masak 「\」」 , perhaps?
09:59 diakopter :P
09:59 diakopter maybe the .perl of it..
09:59 masak I'd be fine with anything that distinguishes a '」' in the match from the closing quote delimited.
09:59 masak delimiter*
10:02 raydiak what should be overloaded to change when/how a class flattens? tried flattens, flat, and list, to no avail
10:03 moritz raydiak: for the case of interpolating into signatures, methods FLATTENABLE_LIST and FLATTENABLE_HASH (not specced)
10:03 moritz raydiak: for normal array iteration? no idea
10:04 Ven Uuuh :(
10:04 Ven m: my @a = [[True, False].roll 3] xx 3; @a.perl.say
10:04 camelia rakudo-moar 44ab3c: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/i3TdCI2mQQâ�¤Two terms in a rowâ�¤at /tmp/i3TdCI2mQQ:1â�¤------> [32mmy @a = [[True, False].roll [33mâ��[31m3] xx 3; @a.perl.say[0mâ�¤    expecting any of:â�¤        method argumentsâ�¤        p…»
10:04 Ven m: my @a = [[True, False].roll(3)] xx 3; @a.perl.say
10:04 camelia rakudo-moar 44ab3c: OUTPUT«Array.new([Bool::True, Bool::False, Bool::False], [Bool::True, Bool::True, Bool::False], [Bool::False, Bool::False, Bool::False])␤»
10:05 moritz masak: re 「」」, I disagree that it's a bug
10:05 Ven That first is getting converted to an Int at some point
10:05 Ven I'm already getting bitted by containers modifications it seems :(
10:05 moritz masak: it's meant to be human-readable output. If you want something that's unambiguous in 100% of all cases, use .perl
10:06 masak moritz: there is that.
10:07 Ven m: class A { has @!a; method BUILD(Int $x) { @!a = 'x' xx $x; }; method Str { @!a.perl } }; my A $a1 .= new(3); say ~$a1;
10:07 camelia rakudo-moar 44ab3c: OUTPUT«Default constructor for 'A' only takes named arguments␤  in method new at src/gen/m-CORE.setting:830␤  in method new at src/gen/m-CORE.setting:825␤  in method dispatch:<.=> at src/gen/m-CORE.setting:1202␤  in block  at /tmp/1Jew3QPhwN:1␤␤»
10:07 moritz masak: and if we add backlashes (or anything, really) to disambiguate, we have to escape the escape char
10:07 moritz masak: which makes the more common cases harder to read
10:07 Ven m: class A { has @!a; method BUILD(Int :$x) { @!a = 'x' xx $x; }; method Str { @!a.perl } }; my A $a1 .= new(x => 3); say ~$a1;
10:07 camelia rakudo-moar 44ab3c: OUTPUT«Array.new("x", "x", "x")␤»
10:08 masak moritz: agree. rejecting ticket.
10:08 moritz masak++
10:08 Ven m: class A { has @.a; method BUILD(Int :$x) { @.a = 'x' xx $x; }; method Str { @!a.perl } }; my A $a1 .= new(x => 3); say ~$a1; my $a2 = $a1.clone; $a2.a[0] = 1; say ~$a1;
10:08 camelia rakudo-moar 44ab3c: OUTPUT«Array.new("x", "x", "x")␤Array.new(1, "x", "x")␤»
10:08 Ven damn it :(. I need a deep clone
10:08 moritz Ven: beware that .clone is not a deep clone
10:09 Ven moritz: yep. Is there a deep clone ?
10:09 moritz Ven: no
10:10 Ven so I need to multi method new to accept either my dimension argument or the current map ?
10:10 moritz Ven: for example
10:10 Ven That doesn't seem very clean. Can I do, let's say, `self.clone(some props I wanna modify here)` ?
10:12 Ven m: class A { Int $.a; method doclone { self.clone(a => $.a.succ) } }; my A $a .= new; $a.doclone.perl.say;
10:12 camelia rakudo-moar 44ab3c: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/yoTWygezZgâ�¤Two terms in a rowâ�¤at /tmp/yoTWygezZg:1â�¤------> [32mclass A { Int [33mâ��[31m$.a; method doclone { self.clone(a => $.[0mâ�¤    expecting any of:â�¤        postfixâ�¤        infi…»
10:12 timotimo o/
10:12 Ven what
10:13 timotimo what's new, friends?
10:13 Ven o/ timotimo
10:15 Ven Not sure how to do that then
10:16 raydiak moritz: thanks anyway, but the normal array case is my problem...trying to get @vecs.push(vec3) to dwim when class vec3 is Array, instead of adding ".item" everywhere
10:16 raydiak \o timotimo
10:20 masak timotimo! \o/
10:21 fhelmberger joined #perl6
10:21 Adriaaan joined #perl6
10:21 fhelmberger joined #perl6
10:23 Ven "Passing an object candidate to Mu.bless is deprecated" mmh ?
10:24 Ven Getting code from http://rosettacode.org/wiki/​Conway's_Game_of_Life#Perl_6 but the .bless call seems deprecated
10:26 raydiak Ven: .bless is still around, just the first "*," arg needs to be removed
10:26 Ven raydiak: oh ! thanks !
10:27 raydiak you're welcome
10:32 masak please also update the RC entry ö=
10:32 masak ;)
10:35 Adriaaan joined #perl6
10:37 Ven I'm getting some values randomly reset, uuh
10:41 Ven m: [1, 2].map(* > 1 ?? "a" !! "b")
10:41 camelia rakudo-moar 44ab3c: OUTPUT«Unhandled exception: Method 'count' not found for invocant of class 'Str'␤   at <unknown>:1  (/home/p6eval/rakudo-inst-2/languages/nqp​/lib/Perl6/BOOTSTRAP.moarvm::4294967295)␤ from src/gen/m-CORE.setting:7322  (/home/p6eval/rakudo-inst-2/languages/perl…»
10:41 Ven wat
10:42 timotimo could it be that ?? !! isn't autocurried correctly?
10:42 Ven oh, my first bug :p
10:42 timotimo meh, i don't have a perl6 built right now
10:42 Ven timotimo: I'll be looking for a workaround. But first, lunch !
10:44 timotimo m: [1, 2].map({$^a > 1 ?? "a" !! "b"})
10:44 camelia rakudo-moar 44ab3c: ( no output )
10:44 timotimo it would appear to be the case :\
10:46 timotimo i've already sacrificed a bit of my sanity the last time i looked into autocurrying
10:48 moritz the question is: should ?? !! be auto-curried?
10:48 masak don't see why not.
10:48 diakopter BOOTSTRAP.moarvm::4294967295
10:48 masak it really only needs to be transparent to the currying that already happened with * > 1
10:49 diakopter that's a big file
10:49 timotimo diakopter: you suspect something's very wrong?
10:49 diakopter no :)
10:49 xenoterracide joined #perl6
10:50 masak diakopter: curious that it's *exactly* 2**32 - 1
10:50 diakopter only a few thousand wrong
10:50 timotimo moritz: i'm sure it should be autocurried at least in the very first slot of ?? !!
10:50 masak what timotimo said.
10:50 timotimo the other two, i'd be willing to be convinced it shouldn't
10:50 timotimo i think there's a lot of WAT to only autocurrying the first parameter
10:50 * moritz doesn't want to convince anybody, just want to raise the question
10:51 timotimo hm, actually
10:51 timotimo if you have something like $foo ?? * !! * - 1
10:51 timotimo you would probably be surprised to see that it generates a closure with *two* arguments
10:51 moritz aye
10:52 moritz and you might actually want to return a closure
10:52 timotimo and folding these two into one argument seems like a pretty huge WAT
10:52 moritz aye
10:53 timotimo ?? !! thunks, right?
10:53 timotimo maybe the rule should be "if it thunks, it won't autocurry", in which case we'll have to consider xx for a moment, too
10:55 moritz note that xx doesn't autocurry anyway, because xx * just means "infinitely many"
10:55 timotimo oh, that's right & good
10:56 timotimo er, but what about the left side?
10:56 masak m: say (* xx 5)("foo")
10:56 camelia rakudo-moar 44ab3c: OUTPUT«Cannot find method 'postcircumfix:<( )>'␤  in block  at /tmp/z1PdCsXcv1:1␤␤»
10:56 timotimo p: my &b = * xx 10; say b("a");
10:56 camelia rakudo-parrot 44ab3c: OUTPUT«Type check failed in assignment to '&b'; expected 'Callable' but got 'List'␤  in block  at /tmp/t7vdY6oOOi:1␤␤»
10:56 masak it doesn't.
10:56 timotimo p: say (* xx 10).perl;
10:56 camelia rakudo-parrot 44ab3c: OUTPUT«(*, *, *, *, *, *, *, *, *, *).list␤»
10:56 * masak is seeing stars
10:56 timotimo should it, though?
11:00 timotimo nobody seems to want to step forward :)
11:01 timotimo luckily, in most situations, an explicit closure with implicit arguments is just a few characters more to type and a tiny bit less pretty to look at
11:01 timotimo (though always a lot cleaner and simpler to understand)
11:03 sqirrel_ joined #perl6
11:03 masak timotimo: I... I think it should, unless there is an overwhelming reason it shouldn't.
11:03 masak timotimo: so the LHS of infix:<x> and infix:<xx> should probably autocurry, yes.
11:03 masak as well as the first argument to infix:<?? !!>
11:08 timotimo should this be a spec ticket? or should we just highlight larry?
11:09 diakopter r: say (* xx 50000).perl
11:09 camelia rakudo-parrot 44ab3c, rakudo-jvm 44ab3c, rakudo-moar 44ab3c: OUTPUT«(timeout)»
11:10 timotimo obviously the result of * xx 50000 should be a closure with 50000 arguments!
11:10 diakopter :)
11:18 Ven I definitely don't think (* xx 5) should be totally different from ($^a xx 5)
11:18 Ven that seems very confusing
11:22 jnthn Ven: Uh, those have to be different. A placeholder parameter is *always* scoped to the current block. Parens don't introduce a block.
11:22 jnthn (*+2) is not ($^a+2), it's {$^a+2} though.
11:23 FROGGS hi jnthn
11:23 jnthn o/
11:23 * jnthn is about to take his class to lunch :)
11:23 jnthn om nom nom students
11:23 jnthn uh, I mean...
11:23 timotimo ohai jnthn :)
11:23 Ven definitely
11:24 Ven some errors are pretty cryptic. "use of uninitialized value of type Int in numeric context" gives file:line "src/gen/CORE.setting:655"
11:25 timotimo yeah, that's unhelpful
11:26 timotimo i'm pretty sure there is or was something in place to keep that from happening?
11:26 Ven add ALL the `say "alive"`s
11:26 timotimo as in, it should give the file/line of the thing using whatever is causing the problem
11:26 Adriaaan joined #perl6
11:30 Ven actually I didn't need that complicated stuff ... damn
11:30 timotimo did you try out Rakudo::Debugger yet?
11:31 Ven timotimo: perl6-debug can't parse my file :(
11:31 timotimo huh?
11:31 timotimo what's the error you get?
11:31 Ven `do given ... { when` gives an error on the `when`
11:31 timotimo that's weird, it re-uses the existing grammar
11:32 Ven just running perl6 instead of perl6-debug works though
11:32 timotimo so in theory everything that rakudo parses, it should be able to parse :(
11:32 Ven well :(
11:34 Ven no debug for me this time it'd seem
11:34 timotimo can you do a sanity check with the debugger on any random piece of code to see if it works at all?
11:36 Ven timotimo: sanity check passes
11:36 Alina-malina joined #perl6
11:38 timotimo if you have any spare time, you could try to golf the parse problem and open a ticket on jnthn/rakudo-debugger
11:38 timotimo that would be quite nice
11:38 FROGGS since it is included in rakudo it would be a rakudobug
11:42 Ven mmh hard to isolate :(
11:45 Ven OK reproduced it
11:45 Ven m: given 5 { when 1 { 5 ~~ Int } }
11:45 camelia rakudo-moar 44ab3c: ( no output )
11:46 Ven Although, I have rakudo star latest win, that might've been fixed in the latest revisions.
11:46 Ven This snippet works with `perl6` but not `perl6-debug`
11:47 Ven timotimo: can you confirm that on your end maybe ?
11:47 timotimo i'll build my stuff, hold on
11:47 Ven oh thanks
11:48 timotimo actually, don't hold your breath :P
11:48 * timotimo gets distracted
11:51 Ven I'll try to fix my script then :p
11:53 Ven m: class A { has @!a; method BUILD { @!a = [1, 2, 3]; }; method foo { self.bar }; method bar { @!a.perl.say; } }; my A $a .= new; $a.foo;
11:53 camelia rakudo-moar 44ab3c: OUTPUT«Array.new([1, 2, 3])␤»
11:55 Ven wut
11:58 moritz why does thsi surprise you?
11:58 Ven because I don't get the same behavior D:
11:59 Ven m: class A { has Str $!s; method build(Str $a) { A.bless(s => $a x 2); } method build(Int $a) { A.new("a" x $a); } }; my A $a .= new(5); say $a.perl;
11:59 camelia rakudo-moar 44ab3c: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/_pK2t_vnt7â�¤Two terms in a rowâ�¤at /tmp/_pK2t_vnt7:1â�¤------> [32mbuild(Str $a) { A.bless(s => $a x 2); } [33mâ��[31mmethod build(Int $a) { A.new("a" x $a); [0mâ�¤    expecting any of:â�¤    â€¦Â»
11:59 Ven m: class A { has Str $!s; method build(Str $a) { A.bless(s => $a x 2); }; method build(Int $a) { A.new("a" x $a); } }; my A $a .= new(5); say $a.perl;
11:59 camelia rakudo-moar 44ab3c: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/MIN5JMNOHO�Package 'A' already has a Method 'build' (did you mean to declare a multi-method?)�at /tmp/MIN5JMNOHO:1�------> �»
11:59 Ven m: class A { has Str $!s; multi method new(Str $a) { A.bless(s => $a x 2); }; multi method new(Int $a) { A.new("a" x $a); } }; my A $a .= new(5); say $a.perl;
11:59 camelia rakudo-moar 44ab3c: OUTPUT«A.new()␤»
12:00 Ven moritz:That's my problem
12:00 timotimo build is not supposed to bless
12:00 Ven timotimo: it's new
12:00 sqirrel_ joined #perl6
12:00 * timotimo looks
12:00 Ven I made a typo the first time. Last test is failing test case
12:01 timotimo does the autogenerated build actually assign to $!s on its own?
12:01 moritz no, not to private attributes
12:02 timotimo that'd be what causes your trouble in that case
12:03 Ven moritz: timotimo: So I need to overload to BUILD(:$!grid) ?
12:03 moritz Ven: http://doc.perl6.org/language​/objects#Object+Construction
12:03 moritz yes
12:03 timotimo moritz: is that the thing you're annoyed about, btw?
12:03 moritz timotimo: no
12:04 moritz timotimo: one thing that annoys me is that if you write a custom BUILD method, you have to take care of initialization *all* attributes in the class
12:04 Ven m: class A { has Str $!s; submethod BUILD(:@!grid) {}; multi method new(Str $a) { A.bless(s => $a x 2); }; multi method new(Int $a) { A.new("a" x $a); } }; my A $a .= new(5); say $a.perl;
12:04 camelia rakudo-moar 44ab3c: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/lReyZGGKl_â�¤Attribute @!grid not declared in class Aâ�¤at /tmp/lReyZGGKl_:1â�¤------> [32method new(Int $a) { A.new("a" x $a); } }[33mâ��[31m; my A $a .= new(5); say $a.perl;[0mâ�¤    expecting…»
12:04 Ven m: class A { has Str $!s; submethod BUILD(:$!s) {}; multi method new(Str $a) { A.bless(s => $a x 2); }; multi method new(Int $a) { A.new("a" x $a); } }; my A $a .= new(5); say $a.perl;
12:04 camelia rakudo-moar 44ab3c: OUTPUT«A.new()␤»
12:04 Ven moritz: ^ so, not sure
12:05 Ven oh wait
12:06 Ven m: class A { has Str $!s; submethod BUILD(:$!s) {}; multi method new(Str $a) { A.bless(s => $a x 2); }; multi method new(Int $a) { A.new("a" x $a); }; submethod bug { $!s.perl.say } }; my A $a .= new(5); say $a.perl; $a.bug;
12:06 camelia rakudo-moar 44ab3c: OUTPUT«A.new()␤"aaaaaaaaaa"␤»
12:06 Ven yeah okay, it doesn't show up in the .new() arguments but it's there nevertheless
12:06 moritz of course it doesn't show up
12:06 moritz how would .perl know which arguments you passed to .new?
12:07 timotimo moritz: so if you could get a BUILDSLAVE that gets called with the "rest of the kwargs" or something, that'd be fine?
12:08 moritz timotimo: finer, yes
12:08 moritz timotimo: Moose also has a nice system where you can provide a method that turns a list of positional arguments into pairs for the actual constructor
12:09 Ven moritz: it could store it D:
12:09 Ven But anyway, got it working. moritz++ timotimo++
12:09 Ven Just a bit slow ...
12:09 timotimo yeah, slow is still the normal way for perl6 programs to run :(
12:09 moritz it wouldn't reproduce the original object if a mutator was called in the mean time
12:10 Ven https://gist.github.com/Nam​i-Doc/7fe3b9744d369c9450c5 -- That's what I have so far
12:11 timotimo what does that mean?
12:12 Ven timotimo: that's fine though :)
12:12 moritz Ven: if you allow setting of attributes through the constructor, why make them private?
12:12 Ven I'm happy I got it working
12:12 Ven moritz: just an old habit of not making something public unless there's a need to access it from outside
12:13 Ven changed anyway
12:15 Ven I need something a bit more consistent, but I'm already happy it works (kinda) ^o^
12:26 Ven is there an equivalent -MO=Deparse ?
12:30 timotimo not yet, no
12:30 timotimo but you can get the ast with --target=ast or --target=optimize
12:30 SamuraiJack_ joined #perl6
12:32 Ven timotimo++ # More than what I need !
12:33 timotimo :)
12:33 timotimo and --target=parse will give you the parse tree of your program
12:39 Ven timotimo: This gives me "could not locate compile-time value for symbol Block"
12:42 timotimo oh, whoops
12:42 timotimo that's not helpful
12:43 locsmif_work joined #perl6
12:44 atroxaper joined #perl6
12:45 Ven m: given 5 { .succ.say; .succ.succ.say; }
12:45 camelia rakudo-moar 44ab3c: OUTPUT«6␤7␤»
12:45 Ven Okay, so I don't need smalltalk's cascades
12:45 timotimo i don't know what this cascades thing is
12:45 timotimo but it's probably like visual basic's "with" blocks? :P
12:46 Ven yeah
12:47 Ven also like dart's ..
12:55 xinming joined #perl6
12:56 SamuraiJack_ joined #perl6
13:01 timotimo i actually can't build panda
13:02 tadzik why?
13:04 daniel-s_ joined #perl6
13:06 timotimo good q
13:06 timotimo i'm cleaning out everything right now
13:07 denis_boyun joined #perl6
13:12 BenGoldberg joined #perl6
13:19 timotimo tadzik: https://gist.github.com/timo/bb7b0b95d96b28e29bfe
13:22 tadzik ah, hm
13:22 tadzik old rakudo?
13:22 tadzik it was related to JSON::Tiny update
13:22 tadzik is panda fresh?
13:25 timotimo oh
13:25 timotimo is now
13:25 timotimo sorry for the trouble
13:28 tadzik :)
13:30 timotimo i wonder if QAST is a good data format to implement mutation testing upon
13:31 tadzik ooh :)
13:31 timotimo not saying i want to implement that ...
13:32 timotimo oooh, 10 more mentor organisations for GSoC this year
13:32 timotimo and 10% more moneys
13:32 timotimo (because it's their 10th anniversary)
13:32 timotimo wonderful news for open source <3
13:32 timotimo i must admit, google does a bunch of awesome things for open source communities everywhere
13:33 jnthn joined #perl6
13:40 eiro joined #perl6
13:41 FROGGS timotimo: that is how they buy our souls :o)
13:42 masak mmm, fresh panda...
13:45 colomon err… so once I've installed Rakudo::Debugger, what am I supposed to get?  I seem to have executables named perl6-debug.c and perl6-debug.nqp, but no perl6-debug
13:45 colomon ?
13:45 timotimo colomon: you should have perl6-debug
13:45 timotimo you may need to check with Build.pl in the rakudo-debugger repository
13:46 colomon I'm installing it via panda, for what that's worth
13:46 timotimo that's the correct way to install it
13:47 timotimo huh. now i get a perl6-debug-m
13:47 timotimo but my "perl6" is a perl6-p
13:48 tadzik hah
13:49 timotimo i wonder why perl6-debug-m doesn't get chmod +x
13:50 colomon how does that work?  I'm looking at Build.pm right now, and it doesn't seem to know anything but parrot
13:50 colomon ?
13:50 tadzik I think panda does +x for all the things that come from bin
13:50 timotimo yeah, but perl6-debug-m comes from rakudo
13:50 timotimo rather than panda
13:50 tadzik oh
13:52 brother the
13:52 timotimo maybe create-moar-runner should be taught to set +x
13:53 FROGGS colomon: forget about jnthn's repo, it is in rakudo itself
13:53 colomon FROGGS: errrmm… so what is the correct procedure to build the debugger?
13:54 FROGGS colomon: I would suspect that installing rakudo should suffice
13:54 timotimo it ... is?
13:54 jnthn timotimo: (doesn't get chmod +x) 'cus I did it, and forgot taht, 'cus it don't matter on Windows.
13:54 timotimo even the frontend?
13:55 colomon FROGGS:  I did git pull, and rebuilt, and I don't have a perl6-debug executable in my path, I don't think....
13:56 colomon … hmmm, perl6-debug-m is there
13:56 colomon but not an executable.
13:56 FROGGS froggs@TL02L-R8RXTCW-linux:~$ which perl6-m
13:56 FROGGS /home/froggs/dev/nqp/install/bin/perl6-m
13:56 FROGGS froggs@TL02L-R8RXTCW-linux:~$ ll /home/froggs/dev/nqp/install/bin/perl6-debug*
13:56 FROGGS -rw-r--r-- 1 froggs froggs 315 Feb  4 21:20 /home/froggs/dev/nqp/install/bin/perl6-debug-m
13:56 FROGGS correct
13:56 jnthn The debugger stuff is in a transitional state. I started getting the perl6-debug-* being built in the Rakudo build
13:56 jnthn But I only did it for Moar so far
13:56 * colomon was hoping for perl6-debug-p
13:56 timotimo ah, that explains it
13:56 jnthn I didn't have time to do -j and -p yet
13:56 colomon jnthn++
13:57 jnthn I needed -m for my FOSDEM talk which is why it got done first ;)
13:57 FROGGS well, should not be too hard to fix it
13:57 * colomon 's track record of getting the debugger to work continues to be terrible.  :)
13:57 jnthn And then the rakudo-debugger repo is just going to be a normal Perl 6 module that supplies the UI.
13:57 jnthn And so should be a completely easy Panda install
14:01 jnap joined #perl6
14:12 Ven m: my %a = b => 1; %a['b'].say;
14:12 camelia rakudo-moar 44ab3c: OUTPUT«Cannot call 'Real'; none of these signatures match:␤:(Mu:U \v: *%_)␤  in method Real at src/gen/m-CORE.setting:1013␤  in method Real at src/gen/m-CORE.setting:3537␤  in method Real at src/gen/m-CORE.setting:1013␤  in sub infix:<<> at src/gen/m-CO…»
14:12 Ven m: my %a = b => 1; say %a['b'];
14:12 camelia rakudo-moar 44ab3c: OUTPUT«Cannot call 'Real'; none of these signatures match:␤:(Mu:U \v: *%_)␤  in method Real at src/gen/m-CORE.setting:1013␤  in method Real at src/gen/m-CORE.setting:3537␤  in method Real at src/gen/m-CORE.setting:1013␤  in sub infix:<<> at src/gen/m-CO…»
14:12 Ven m: my %a = b => 1; say %a{'b'};
14:12 camelia rakudo-moar 44ab3c: OUTPUT«1␤»
14:12 Ven m: my $a = 'b'; my %a = $b => 1; say %a{'b'};
14:12 camelia rakudo-moar 44ab3c: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/eb_bVW_kJxâ�¤Variable '$b' is not declaredâ�¤at /tmp/eb_bVW_kJx:1â�¤------> [32mmy $a = 'b'; my %a = $b[33mâ��[31m => 1; say %a{'b'};[0mâ�¤    expecting any of:â�¤        postfixâ�¤Â»
14:13 Ven m: my $a = 'b'; my %a = {$b} => 1; say %a{'b'};
14:13 camelia rakudo-moar 44ab3c: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/S2GW8Pl534â�¤Variable '$b' is not declaredâ�¤at /tmp/S2GW8Pl534:1â�¤------> [32mmy $a = 'b'; my %a = {$b[33mâ��[31m} => 1; say %a{'b'};[0mâ�¤    expecting any of:â�¤        postfixâ�¤Â»
14:13 Ven m: my $a = 'b'; my %a = $a => 1; say %a{'b'};
14:13 camelia rakudo-moar 44ab3c: OUTPUT«1␤»
14:13 Ven oh oke
14:13 treehug88 joined #perl6
14:14 Ven m: sub a(:$a) { $a + 2 }; a(2).say; a().say;
14:14 camelia rakudo-moar 44ab3c: OUTPUT«Too many positional parameters passed; got 1 but expected 0␤  in sub a at /tmp/HcBrtGO288:1␤  in block  at /tmp/HcBrtGO288:1␤␤»
14:14 Ven m: sub a(:$a) { $a + 2 }; a(a => 2).say; a().say;
14:14 camelia rakudo-moar 44ab3c: OUTPUT«4␤use of uninitialized value of type Any in numeric context␤2␤»
14:15 Ven m: sub a(Int :$a) { $a + 2 }; a(a => 2).say; a().say;
14:15 camelia rakudo-moar 44ab3c: OUTPUT«4␤Invocant requires an instance, but a type object was passed␤  in method Bridge at src/gen/m-CORE.setting:4286␤  in sub infix:<+> at src/gen/m-CORE.setting:4189␤  in sub infix:<+> at src/gen/m-CORE.setting:3992␤  in sub a at /tmp/1drt4Dl2CD:1␤…»
14:15 Ven m: sub a(:$a) { $a + 2 }; a(a => 2).say; a().say;
14:15 camelia rakudo-moar 44ab3c: OUTPUT«4␤use of uninitialized value of type Any in numeric context␤2␤»
14:15 kbaker joined #perl6
14:15 Ven oh it's just a waning
14:15 Ven m: sub a(:$a!) { $a + 2 }; a(a => 2).say; a().say;
14:15 camelia rakudo-moar 44ab3c: OUTPUT«4␤Required named parameter 'a' not passed␤  in sub a at /tmp/yT5ARjOWu_:1␤  in block  at /tmp/yT5ARjOWu_:1␤␤»
14:15 Ven oke, requires it.
14:32 colomon joined #perl6
14:36 rurban joined #perl6
14:39 rindolf joined #perl6
14:47 benabik joined #perl6
14:49 ggoebel1113 joined #perl6
14:50 jlaire joined #perl6
14:50 sjn_ joined #perl6
14:59 btyler joined #perl6
15:12 thou joined #perl6
15:12 adu joined #perl6
15:13 masak m: sub a($x?, :$a = $x) { say $a }; a(); a(42); a(:x(5)); a('foo', :x(17))
15:13 camelia rakudo-moar 44ab3c: OUTPUT«(Any)␤42␤Unexpected named parameter 'x' passed␤  in sub a at /tmp/qZbqGdiSlN:1␤  in block  at /tmp/qZbqGdiSlN:1␤␤»
15:13 masak urghm.
15:13 masak m: sub a($x?, :$a = $x) { say $a }; a(); a(42); a(:a(5)); a('foo', :a(17))
15:13 camelia rakudo-moar 44ab3c: OUTPUT«(Any)␤42␤5␤17␤»
15:13 masak \o/
15:14 Adriaaan joined #perl6
15:15 masak m: sub foo($x where sub bar { say "invoked!"; $x }, :$bar = bar()) { say $bar }; foo(:bar('OH HAI')); foo('mwhahaha!')
15:15 camelia rakudo-moar 44ab3c: OUTPUT«Not enough positional parameters passed; got 0 but expected 1␤  in sub foo at /tmp/ukibp6hEjF:1␤  in block  at /tmp/ukibp6hEjF:1␤␤»
15:15 masak oh right.
15:16 masak m: sub foo($x where sub bar { say "invoked!"; $x }, :$bar = bar()) { say $bar }; foo('ignore me', :bar('OH HAI')); foo('mwhahaha!')
15:16 camelia rakudo-moar 44ab3c: OUTPUT«invoked!␤OH HAI␤invoked!␤invoked!␤mwhahaha!␤»
15:16 dalek specs: 1d58114 | (Elizabeth Mattijsen)++ | S (2 files):
15:16 dalek specs: Fix one-month of updated info
15:16 dalek specs: review: https://github.com/perl6/specs/commit/1d58114bec
15:16 masak wh... why does the sub get called when the default is not needed? :/
15:16 masak oh, hm, it gets called one time too much each time.
15:19 diakopter jnthn: stop om nomming the students; we need them to sign up for more classes
15:20 bluescreen10 joined #perl6
15:21 colomon 3333
15:21 masak colomon: yes, but in which basis? ;)
15:28 treehug88 joined #perl6
15:29 rindolf joined #perl6
15:30 btyler joined #perl6
15:33 ajr joined #perl6
15:42 regreg joined #perl6
15:48 kivutar joined #perl6
15:48 adu joined #perl6
16:11 raiph joined #perl6
16:16 lizmat jnthn: regarding "SELF[$block(|(SELF.elems xx $block.count))];" , it cannot be turned into a ternary as apparently @a[*-4 .. *-2] is turned into a code block that accepts 2 parameters
16:16 lizmat so abandoning rthat cleanup
16:17 dayangkun joined #perl6
16:20 timotimo http://www.ustream.tv/nasahdtv ← in case you didn't know yet, 3:40 seconds until launch to the ISS
16:21 kaleem joined #perl6
16:25 molaf_ joined #perl6
16:29 masak aww, missed the launch :/
16:30 tadzik aww, missed the lunch
16:30 tadzik :)
16:37 benabik I don't get as excited for Soyuz launches.
16:39 masak what I saw in the live feed didn't look so exciting.
16:40 timotimo that's true
16:40 benabik In some ways, unexciting launches are the best kind.  :-)
16:44 raiph lizmat: "@a[*-4 .. *-2] ... block that accepts 2 parameters" did you see clog just before about xx and ??!! ?
16:45 timotimo tadzik: will you have an opportunity to work on pod parsing in the near-ish future? especially formatting codes embedded in code/raw blocks?
16:45 timotimo (and some time after that, tables... hopefully!)
16:47 moritz I'm looking for a blank SVG world map like this: http://commons.wikimedia.org/wiki/File:B​lank_map_world_gmt_%28simplified%29.svg but also with country names
16:47 moritz and a mapping from country name to shape, in some form
16:47 moritz does anybody happen to know where I can find such a thing?
16:48 moritz oh, and it should have a permissive license (free remixing/modification)
16:48 timotimo http://matplotlib.org/basemap/users/examples.html - maybe get there from something like this?
16:49 btyler moritz: I'd suggest doing searches with 'shapefile' in them. here's a result that looks promising: http://thematicmapping.org/​downloads/world_borders.php -- there are tools to convert shapefiles into svgs, but I haven't used them personally
16:50 btyler indeed, a perl5 tool which does just that: http://carto.net/svg/utils/shp2svg/
16:51 moritz btyler: thanks!
16:54 btyler moritz: no problem! a lot of the best geographic/map data tends to be locked up in GIS tool specific formats. geoJSON has been helping the situation, but generally spatial data is easiest to find with shapefile oriented searches
16:57 SamuraiJack_ joined #perl6
17:02 SamuraiJack_ joined #perl6
17:04 [Coke] masak: if none of them have RT #121147 right, what's the right way to have it?
17:04 synopsebot Link: https://rt.perl.org/rt3//Publ​ic/Bug/Display.html?id=121147
17:05 grondilu_ moritz: just checking, you know about openstreetmap, right?
17:06 grondilu joined #perl6
17:08 SamuraiJack_ joined #perl6
17:14 SamuraiJack_ joined #perl6
17:18 SamuraiJack__ joined #perl6
17:22 treehug88 joined #perl6
17:22 rindolf joined #perl6
17:25 SamuraiJack__ joined #perl6
17:30 SamuraiJack__ joined #perl6
17:32 ajr joined #perl6
17:39 tadzik timotimo: I like the tables patch, but I found it somewhat horrifying to merge with the existing codebase :)
17:42 thou joined #perl6
17:43 FROGGS joined #perl6
17:47 timotimo yeah, it's not really a patch per se :(
17:56 [Sno] joined #perl6
18:00 kaleem joined #perl6
18:08 Rotwang joined #perl6
18:11 FOAD_ joined #perl6
18:13 kurahaupo_mobile joined #perl6
18:29 lue [Coke]: I think it's supposed to print "Here" and then exit the loop.
18:38 vendethiel hmm -- http://www.perlmonks.org/?node_id=663393 -- that's not true for perl 6, right ?
18:41 SamuraiJack__ joined #perl6
18:43 zakharyas joined #perl6
18:48 ajr joined #perl6
18:49 lucs vendethiel: Search for "Perl 6" in that thread; it appears that yes, it's true for perl6 too.
18:50 * PerlJam wonders what "it" is exactly.
18:50 vendethiel ouch =(
18:50 lucs it -> "Perl can be statically parsed"
18:50 vendethiel can't*
18:50 lucs Er, right :)
18:51 PerlJam Then, it is correct that Perl 6 can not be statically parsed, in general.   :)
18:52 Adriaaan joined #perl6
18:52 vendethiel but the OP's original problem does not exist in perl6, right ? Arguments just won't "disappear"
18:54 vendethiel outside that, yeah ofc adding new operators with different precedence, makes it harder to statically analyze, but that applies to a wide variety of languages
18:54 vendethiel even haskell has that
18:55 FROGGS you just have to declare a sigilless variable to confuse it with a subroutine...
18:55 FROGGS you dont have that problem, in say, PHP
18:56 vendethiel oh, sure, which doesn't make it a good language :P
18:57 tgt joined #perl6
18:57 lizmat raiph: yes I did, but It don't see the connection.   It was related to array slicing code I was discussing with jnthn in Brussels
18:58 Tene joined #perl6
18:58 Tene joined #perl6
18:59 grondilu doesn't the fact that P6 has proper function signatures removes the need to determin if a function is unary?
18:59 grondilu *nullary
18:59 benabik joined #perl6
18:59 djanatyn joined #perl6
19:01 kurahaupo_mobile grondilu: function signatures aren't really the point
19:02 kurahaupo_mobile the point is that multiple glosses of the code are possible, and choosing between them requires *running* some code
19:04 jnthn Sure, that's the trade-off you make by giving a language a BEGIN block.
19:05 jnthn Or BEGIN-time things at all
19:05 jnthn (Such as use, which can export new operators, etc.)
19:12 moritz grondilu: yes, I know about OSM; no, I don't want to import gigabytes of data before being ready to do anything useful
19:14 raiph joined #perl6
19:18 dalek rakudo-star-daily: 36f379d | coke++ | log/ (5 files):
19:18 dalek rakudo-star-daily: today (automated commit)
19:18 dalek rakudo-star-daily: review: https://github.com/coke/rakudo​-star-daily/commit/36f379d9bc
19:18 dalek rakudo-star-daily: 1c2f41a | coke++ | log/ (5 files):
19:18 dalek rakudo-star-daily: today (automated commit)
19:18 dalek rakudo-star-daily: review: https://github.com/coke/rakudo​-star-daily/commit/1c2f41adb7
19:18 dalek perl6-roast-data: 9e36838 | coke++ | / (6 files):
19:18 dalek perl6-roast-data: today (automated commit)
19:18 dalek perl6-roast-data: review: https://github.com/coke/perl6​-roast-data/commit/9e36838592
19:18 dalek perl6-roast-data: 6c77cc6 | coke++ | / (3 files):
19:18 dalek perl6-roast-data: today (automated commit)
19:18 dalek perl6-roast-data: review: https://github.com/coke/perl6​-roast-data/commit/6c77cc6f84
19:19 xenoterracide joined #perl6
19:23 FROGGS joined #perl6
19:24 lizmat jnthn: wrt to .made / .ast: I removed .ast from the spec completely, but suggested in the commit message that .ast would be like .made, but with an implicit check for ASTness
19:25 lizmat would that make sense to you?  Or would you consider the overhead such an extra check prohibitive ?
19:25 xenoterracide joined #perl6
19:26 jnthn lizmat: Well, but what does "an AST" mean?
19:26 jnthn As in, what would be actually be checking for?
19:26 lizmat ~~ Qast::Node ?
19:27 jnthn I don't think that's the only kind of AST in existence
19:27 jnthn Heck, MAST exists...
19:28 lizmat well, some kind of sanity check, so that problems in grammars are caught more easily?
19:29 jnthn What kinds of problems are you thinking of?
19:29 lizmat where make sets a string, and .ast expects an AST ?
19:30 jnthn That feels like a rather rare kind of bug
19:30 jnthn As in, I can't remember a concrete example like that.
19:30 jnthn More typically it's a missing or mis-named action method...
19:31 lizmat ok
19:31 lizmat but what would be the added value of having .ast ?
19:31 lizmat other than historically / what you're used to
19:31 PerlJam It would give you an idea of how to use it in your grammars.
19:32 PerlJam (just the name)
19:32 jnthn In some situations, .ast just conveys a bit better whta is going on.
19:32 lizmat and on the other side, you would see in the parameter to "make" that it was an AST as well
19:33 PerlJam I was trying to think ... is there another name (besides AST) for the bit of data you generate as you parse?
19:33 lizmat my suggestion was "pot / .pot"
19:33 jnthn Well, it goes well with toke...nizing...
19:33 lizmat 1. To put (something) into a pot.
19:34 lizmat 2. To preserve by bottling or canning.
19:34 lizmat 3. To cause a ball to fall into a pocket.
19:34 lizmat and as a noun:
19:35 lizmat 1. A vessel used for cooking or storing food, or for growing plants in, especially flowers
19:35 lizmat 2. (poker) The money wagered in poker or similar games.
19:35 lizmat 3. A trap for catching lobsters, crabs, eels, or fish.
19:37 lizmat anyways  :)
19:38 xenoterracide joined #perl6
19:39 tgt joined #perl6
19:40 PerlJam If "made" is a synonym for "ast", what's the corresponding synonym for "make"?  :)
19:40 moritz "ast", for "abstractify syntax tree"
19:41 PerlJam maybe "tsa"?  (it's the flip side of the operation :)
19:41 btyler joined #perl6
19:41 PerlJam (But that has some other, unfortunate connotations as well)
19:46 lizmat perhaps "cook" / ".eat"
19:46 [Coke] etooclever
19:46 moritz cook / .nom
19:46 berekuk joined #perl6
19:47 lizmat bake / .fried
19:47 beastd joined #perl6
19:48 PerlJam peg /  ...  somethign that goes with peg
19:48 jnthn pug?
19:48 PerlJam clearly I've only half a mind about this subject
19:48 lizmat "A harlot; a prostitute. [circa 1600]"
19:49 PerlJam peg was a nod to Parsing Expression Grammar
19:49 lizmat fill / .dig
19:49 * lizmat is off for some more post-FOSDEM recovering
19:50 PerlJam make/made has the nice aesthetic of both being the size
19:51 moritz dig/.dug
19:51 jnthn lizmat: haha, that's pug? :) I was thinking of cute past tense of peg...and of a dog :)
19:54 [Coke] pig / peg / pug
19:55 SamuraiJack__ joined #perl6
19:58 PerlJam dress / undress
19:58 spider-mario joined #perl6
20:00 PerlJam anyway ...   make/made are nice.  lizmat++  :)
20:02 spider-mario wow, rakudo is much faster on moarvm than on parrot, isn’t it?
20:02 spider-mario twice as fast on my machine
20:03 timotimo not in everything (yet)
20:04 jnthn spider-mario: Depends what you're doing, but sometimes it's rather faster.
20:04 jnthn But a lot of work to go yet. :D
20:08 timotimo so far, moar is also better at conserving RAM than parrot is
20:08 jnthn Not to mention JVM... :)
20:15 moritz just for the record, http://commons.wikimedia.org/wik​i/File_talk:BlankMap-World6.svg is (nearly) the map I've been loooking for
20:15 moritz it has class="fr" for France etc.
20:16 moritz it just misses the country names
20:27 vendethiel Oh, yeah, I had that bug with perl6-debug (not happening with perl6 itself). what's the best place to report it ?
20:27 moritz vendethiel: mailto:rakudobug@perl.org
20:28 vendethiel moritz: I found perl.perl6.compiler google group, but I guess that isn't it :p. not really used to mailing lists outside of google threads
20:29 moritz vendethiel: bug reports go CC to that list, iirc
20:29 moritz vendethiel: but no need to subscribe to any list; just write a bug report per e-mail
20:30 vendethiel Oke. Can I reproduce a perl6-debug here ? The bug might've been fixed within the last release of the last msi
20:31 moritz no, camelia doesn't do perl6-debug
20:31 panchiniak joined #perl6
20:31 panchiniak #linguistics
20:32 timotimo panchiniak: that's only slightly off-topic here :)
20:32 panchiniak sorry, wrong chat.
20:32 panchiniak good to be slightly wrong any way.
20:33 vendethiel moritz: ha, I don't have my test case here. Will do that tomorrow
20:37 vky joined #perl6
20:40 berekuk joined #perl6
20:41 xfix joined #perl6
20:44 jnap joined #perl6
20:45 kaare_ joined #perl6
20:46 diakopter left #perl6
20:53 denisboyun joined #perl6
20:53 kivutar joined #perl6
21:00 treehug8_ joined #perl6
21:04 treehug88 joined #perl6
21:09 masak <[Coke]> masak: if none of them have RT #121147 right, what's the right way to have it?
21:09 synopsebot Link: https://rt.perl.org/rt3//Publ​ic/Bug/Display.html?id=121147
21:09 masak [Coke]: sorry, left that out.
21:09 masak [Coke]: "Here\n"
21:10 masak [Coke]: with the rationale that FIRST runs before any iteration, the say gets printed, and then 'last' quits the loop.
21:10 masak [Coke]: rakudo-moar seems to entirely ignore the FIRST. rakudo-parrot and rakudo-jvm run the FIRST, but ignore the 'last'.
21:11 * masak adds this to the ticket
21:14 xenoterracide joined #perl6
21:15 Alina-malina joined #perl6
21:17 dayangkun joined #perl6
21:21 [Coke] masak++ Closable tickets are the best tickets.
21:21 [Coke] anyone else stuck in their house due to snow?
21:21 jnthn Not here...
21:21 * [Coke] is not -literally- stuck, but is sitting in a cold corner with a space heater.
21:21 jnthn ...though, not actually back at my house yet :)
21:22 jnthn But I'm fairly sure there's nowhere near enough snow for that.
21:26 crab2313 joined #perl6
21:26 vendethiel [Coke]: I wish I had seen snow this year *sigh*
21:26 [Coke] our area got about a foot, it seems.
21:27 [Coke] vendethiel: we've had what feels like quite a bit :)
21:27 vendethiel [Coke]: do share :P
21:27 Alina-malina joined #perl6
21:28 jnthn detrain &
21:29 bjz joined #perl6
21:31 btyler still noodling on grammars, would anyone mind helping me understand why this regex matches as a m// but fails as a grammar token? https://gist.github.com/kanat​ohodets/d5161b57b43b3f2837a0
21:34 skids joined #perl6
21:37 amkrankruleuen joined #perl6
21:49 araujo joined #perl6
21:49 araujo joined #perl6
21:55 dalek perl6-roast-data: f1b1cf8 | coke++ | / (3 files):
21:55 dalek perl6-roast-data: today (automated commit)
21:55 dalek perl6-roast-data: review: https://github.com/coke/perl6​-roast-data/commit/f1b1cf8cba
21:56 * jnthn home
21:56 jnthn [Coke]: No, certainly not piles of snow here...
21:56 * benabik isn't stuck at home due to snow, but isn't looking forward to de-commuting.
21:57 xfix joined #perl6
21:58 [Coke] btyler: I believe it's because the grammar doesn't match the whole string.
21:58 [Coke] yup - if you remove everything up to the leading [, it matches. Your grammar needs to account for the non-date stuff at the beginning of the line.
21:59 btyler [Coke]: ah ha! I get it now, thanks!
22:00 [Coke] woot.
22:01 [Coke] moar edged up to 99.39% a few days ago.
22:02 [Coke] m: say "need {28878-28784} to catch r-p"
22:02 camelia rakudo-moar 44ab3c: OUTPUT«need 94 to catch r-p␤»
22:02 jnthn [Coke]: yay
22:03 [Coke] fixing S05 would get us 70 more, S32, 74.
22:03 [Coke] woot was for btyler++, btw.
22:03 ssutch joined #perl6
22:16 masak 'night, #perl6
22:24 [Coke] ~~
22:33 rylinaux joined #perl6
22:38 kbaker joined #perl6
22:40 cxreg is jvm nativecall stuck in hell?
22:41 cxreg seems like that's had the same narrative for like 5 months going
22:42 jnthn cxreg: There's been progress on it within the last month
22:42 lue joined #perl6
22:43 rurban joined #perl6
22:43 jnthn cxreg: Was mentioned in last month's ChangeLog also
22:43 cxreg does it need/want any help?
22:45 jnthn cxreg: I suspect help is welcome; arnsholt would know best where it's needed. As far as I know, the biggest remaining piece is callbacks; I think the last month's work mostly (or perhaps entirely) nailed structs.
22:45 cxreg just saw the changelog note, thanks
22:45 [Coke] help is almost always welcome!
22:54 cxreg callbacks for things like database drivers?
22:55 cxreg trying to think of a good example
22:55 aindilis joined #perl6
22:56 jnthn Not sure if any of those depend on callbacks. They're for any C API that takes a function pointer parameter.
22:57 skids cxreg: for library API callbacks, they are very common.
22:57 cxreg got it now, thanks
23:03 lue Bug #121180 got me thinking: perhaps Q needs two literal quote forms, 「」, and 『』 for when you want to type 」. Of course, that one corner case probably isn't worth another reserved bracket pair, but still. :)
23:03 synopsebot Link: https://rt.perl.org/rt3//Publ​ic/Bug/Display.html?id=121180
23:05 [Coke] lue: ok, I have a string with both of those characters in it.
23:06 dalek rakudo/nom: 90b3d61 | jnthn++ | tools/build/create-jvm-runner.pl:
23:06 dalek rakudo/nom: Fix JVM runner install on Win32.
23:06 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/90b3d61a41
23:06 lue [Coke]: ?
23:07 timotimo lue: haha, a "corner case" :)
23:07 [Coke] if the goal is to be able to roundtrip that match, adding another type doesn't help if you can include both types in your matched string.
23:07 [Coke] you need to escape the string rather than add more quotes.
23:08 lue [Coke]: I was think beyond the rejected ticket, things such as   say 「You can't use 」 in here!」
23:09 lue But I see your point. It was just an idea that popped into my head; the sensible solution is to give up and use  Q[ ... ]
23:09 [Coke] r: say "You can't use 」 in here!"
23:10 camelia rakudo-parrot 44ab3c, rakudo-jvm 44ab3c, rakudo-moar 44ab3c: OUTPUT«You can't use 」 in here!␤»
23:10 timotimo gentlemen, you can't 」 in here, this is the 「 room!
23:10 [Coke] but yah, we can support more quotes.
23:10 lue r: say 「You can't use 」 in here!」
23:10 camelia rakudo-parrot 44ab3c, rakudo-jvm 44ab3c, rakudo-moar 44ab3c: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfileâ�¤Two terms in a rowâ�¤at /tmp/tmpfile:1â�¤------> [32msay [33mâ��[31m「You can't use ã€� in here!ã€�[0mâ�¤    expecting any of:â�¤        argum…»
23:11 lue The fail marker should be after the first end bracket :/
23:13 lue r: say 「Hello Q! \o」
23:13 camelia rakudo-parrot 44ab3c, rakudo-jvm 44ab3c, rakudo-moar 44ab3c: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfileâ�¤Two terms in a rowâ�¤at /tmp/tmpfile:1â�¤------> [32msay [33mâ��[31m「Hello Q! \oã€�[0mâ�¤    expecting any of:â�¤        argument listâ�¤    â€¦Â»
23:48 clsn__ There's a similar issue with some special function names.
23:48 clsn__ r: my &x=sub infix:«<» { }; say &x.name;
23:49 camelia rakudo-parrot 90b3d6, rakudo-jvm 90b3d6, rakudo-moar 90b3d6: OUTPUT«infix:<<>␤»
23:49 clsn__ And of course, using "infix:<<>" will never work.
23:51 BenGoldberg joined #perl6

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

Perl 6 | Reference Documentation | Rakudo