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