Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2015-02-08

Perl 6 | Reference Documentation | Rakudo

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

All times shown according to UTC.

Time Nick Message
00:00 ingy I like pie!
00:00 timotimo ingy: would pie delivered to your home lead to more YAML implementedness in the very near future? :)
00:00 ingy sure!
00:01 timotimo what part of the world do you live near again?
00:01 ingy I'm actually working on YAML2 again this week
00:01 ingy Seattle
00:01 timotimo https://duckduckgo.com/?q=​pie+delivery+near+seattle - is this workable?
00:01 ingy actually the pie has to wait
00:02 timotimo oh
00:02 timotimo bad local time?
00:02 ingy no, I'm on a diet
00:02 timotimo oh
00:02 timotimo well, bad for YAML :)
00:02 ingy unless it's a YAML Pie!
00:02 timotimo what is YAML 2?
00:02 colomon joined #perl6
00:03 ingy timotimo: I'm working on the yaml Pegex grammar, which should port easily to p6
00:04 ingy here's a link to where I left off last time: https://github.com/ingydotnet/​yaml-pgx/tree/master/yaml.pgx
00:04 ingy timotimo: https://github.com/yaml/YAML2/wiki
00:05 ingy I think I started yaml2 in 2011 at TimToady's house!
00:05 ingy but p6 people wouldn't think that's a long time ago ;)
00:05 vendethiel :P
00:05 timotimo :3
00:06 * ingy was at oscon when Orwant threw the mug
00:06 ingy I think I even have an RFC
00:07 ingy orwant threw the mug and TimToady announced perl 6 to the whole audience a couple hours later
00:07 ingy I doubt many people here go back that far
00:08 vendethiel ingy: when was that?
00:08 ingy RFC 270: Replace XS with the Inline module as the standard way to extend Perl. [HTML]
00:08 ingy 2000
00:08 vendethiel oh. I was 6 back then :P
00:09 adu joined #perl6
00:09 ingy from http://www.perl6.org/archive/rfc/by-number.html
00:09 huf i was 14 but completely useless :)
00:09 ingy Jon Orwant started the whole thing and disappeared shortly after
00:10 huf that has stayed constant over the years :)
00:10 vendethiel hugme hug huf
00:10 * hugme hugs huf and blushes
00:10 ingy :)
00:10 huf i think i finally learned to program at age 16... i have chosen to blame my dad because it's such a historically well-explored path :)
00:11 huf and blaming the soviets is so cliche
00:11 ingy vendethiel: Ironically I just finished RFC 270 last December (TPF Grant for Inline)
00:12 vendethiel ingy: that took some time :P
00:12 ingy 2 months
00:12 ingy :)
00:13 ingy I put it down for 12+ years though
00:13 huf sparse two months...
00:13 ingy no, Nov/Dec 2014
00:13 ingy p6 probably should have done the same
00:13 ingy it was way before its time
00:14 ingy and churned for years
00:14 ingy haskell/pugs is totally fast enough now, (one example)
00:16 sjn o/ #perl6
00:22 coffee` joined #perl6
00:23 avuserow_ \o sjn, #perl6
00:28 Hor|zon joined #perl6
00:34 BenGoldberg joined #perl6
00:38 BenGoldberg joined #perl6
00:39 BenGoldberg joined #perl6
00:39 Mouq m: my $a = 4; $a ~~= 5
00:39 camelia rakudo-moar d72866: ( no output )
00:40 Mouq (I have a fix locally that makes that illegal, just wanted to check that Rakudo was wrong originally)
00:40 Mouq std: my $a = 4; $a ~~= 5
00:40 camelia std f9b7f55: OUTPUT«[31m===[0mSORRY![31m===[0m�Cannot make assignment out of ~~ because chaining operators are diffy at /tmp/uumYonhCEY line 1:�------> [32mmy $a = 4; $a ~~=[33m�[31m 5[0m�Check failed�FAILED 00:00 137m�»
00:42 psch m: my $a = 4; $a >== 5 #
00:42 camelia rakudo-moar d72866: ( no output )
00:42 psch Mouq: do you catch that in your patch?
00:43 psch looks to me like it could be caught in the same grammar bit
00:43 BenGoldberg joined #perl6
00:43 psch std: my $a = 4; $a >== 5 #
00:43 camelia std f9b7f55: OUTPUT«[31m===[0mSORRY![31m===[0m�Cannot make assignment out of >= because chaining operators are diffy at /tmp/JcXwSznRh5 line 1:�------> [32mmy $a = 4; $a >==[33m�[31m 5 #[0m�Check failed�FAILED 00:01 137m�»
00:44 psch (<== falls somewhere else because that's also feed)
00:47 Mouq psch: Yep
00:47 Mouq Just gotta spectest
00:47 psch Mouq++
00:50 * Mouq several times tried to do this a very particular way, and spent much time before going, wait, why am I doing this in the first place?
00:51 psch m: my $a = 4; $a ~~= 5; say $a # ooc
00:51 camelia rakudo-moar d72866: OUTPUT«4␤»
00:51 psch m: my $a = 4; $a ~~= Int; say $a # ooc
00:51 camelia rakudo-moar d72866: OUTPUT«4␤»
00:51 psch m: my $a = 4; $a ~~= Str; say $a # ooc
00:51 camelia rakudo-moar d72866: OUTPUT«4␤»
00:55 Mouq m: my @foo; say @foo ,= 1, 2, 3; @foo.perl.say # Also fixed, fwiw
00:55 camelia rakudo-moar d72866: OUTPUT«123␤Array.new(1)␤»
00:57 BenGoldberg joined #perl6
01:02 Mouq «is(@p[0],3, "or= operator parses as item assignment 1");» Well that's wrong
01:05 Mouq Not sure if it's been noted, but the last test of S17-supply/start.t is flapping for me
01:07 BenGoldberg joined #perl6
01:10 BenGoldberg joined #perl6
01:16 rurban left #perl6
01:20 BenGoldberg std: my $a = 4; $a <=>= 5; say $a;
01:20 camelia std f9b7f55: OUTPUT«[31m===[0mSORRY![31m===[0m�Cannot make assignment out of <=> because structural infix operators are diffy at /tmp/_1IrdPMgNz line 1:�------> [32mmy $a = 4; $a <=>=[33m�[31m 5; say $a;[0m�Check failed�FAILED 00:00 138m�»
01:23 BenGoldberg std: my $a = 4; $a [R<=>]= 5; say $a;
01:23 camelia std f9b7f55: OUTPUT«[31m===[0mSORRY![31m===[0m�Cannot make assignment out of R<=> because structural infix operators are diffy at /tmp/LGvzMB48Sc line 1:�------> [32mmy $a = 4; $a [R<=>]=[33m�[31m 5; say $a;[0m�Check failed�FAILED 00:00 138m�»
01:24 BenGoldberg m: say [R,] 1..4
01:24 camelia rakudo-moar d72866: OUTPUT«Too many positionals passed; expected 2 arguments but got 4␤  in block  at src/gen/m-CORE.setting:20514␤  in sub  at src/gen/m-CORE.setting:20664␤  in block <unit> at /tmp/Rmt_jFn1fH:1␤␤»
01:30 dalek roast: feba4cc | Mouq++ | S03-operators/assign.t:
01:30 dalek roast: Fix faulty tests; remove TODO for RT #76414
01:30 dalek roast: review: https://github.com/perl6/roast/commit/feba4cc639
01:30 synopsebot Link: https://rt.perl.org/rt3//Publ​ic/Bug/Display.html?id=76414
01:32 dalek rakudo/nom: 34669da | Mouq++ | src/Perl6/Grammar.nqp:
01:32 dalek rakudo/nom: Improve metaop:<=>
01:32 dalek rakudo/nom:
01:32 dalek rakudo/nom: Dies in the case of fiddly/diffy operators, and now adjusts to the
01:32 dalek rakudo/nom: proper precedence depending on the operator
01:32 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/34669da476
01:36 Mouq m: my $a; $a =>= 1
01:36 camelia rakudo-moar d72866: OUTPUT«Too few positionals passed; expected 2 arguments but got 0␤  in sub infix:<=>> at src/gen/m-CORE.setting:10582␤  in block <unit> at /tmp/dwSV04r2o9:1␤␤»
01:37 Mouq Weird
01:37 Mouq At least that's not my fault
01:38 Mouq std: my @a; @a ,= 1
01:38 camelia std f9b7f55: OUTPUT«ok 00:00 137m␤»
01:44 Mouq std: my $a; $a but= role {}
01:44 camelia std f9b7f55: OUTPUT«[31m===[0mSORRY![31m===[0m�Cannot make assignment out of but because structural infix operators are diffy at /tmp/UuQRBYxnGh line 1:�------> [32mmy $a; $a but=[33m�[31m role {}[0m�Check failed�FAILED 00:00 139m�»
02:03 colomon : m: my $a; $a =[>=] 1
02:03 colomon m: my $a; $a =[>=] a1
02:03 camelia rakudo-moar d72866: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/piLjju0yaGâ�¤Undeclared routine:â�¤    a1 used at line 1â�¤â�¤Â»
02:03 colomon m: my $a; $a =[>=] 1
02:03 camelia rakudo-moar d72866: ( no output )
02:04 colomon Mouq: that’s the expression you wanted, right?
02:04 Mouq colomon: Uh, wait, what is that even doing?
02:05 Mouq m: my $a = 0; $a =>= 1
02:05 camelia rakudo-moar d72866: ( no output )
02:05 Mouq m: my $a = 0; $a =>= 1; say $a.perl
02:05 camelia rakudo-moar d72866: OUTPUT«0 => 1␤»
02:05 colomon should be metaop- = on >=
02:05 Mouq colomon: metaop = is a postfix
02:05 Mouq m: my $a; $a = [>=] 1
02:05 camelia rakudo-moar d72866: ( no output )
02:06 colomon dang, you’re right
02:06 colomon m: my $a; $a [=>]= 1
02:06 camelia rakudo-moar d72866: OUTPUT«Too few positionals passed; expected 2 arguments but got 0␤  in sub infix:<=>> at src/gen/m-CORE.setting:10582␤  in block <unit> at /tmp/1WKgp51djf:1␤␤»
02:07 Mouq m: [=>] # golf?
02:07 camelia rakudo-moar d72866: OUTPUT«Too few positionals passed; expected 2 arguments but got 0␤  in sub infix:<=>> at src/gen/m-CORE.setting:10582␤  in sub  at src/gen/m-CORE.setting:20637␤  in block <unit> at /tmp/Tr578lxieH:1␤␤»
02:07 Mouq :D
02:09 * colomon is clearly very confused
02:09 psch m: [+]
02:09 camelia rakudo-moar d72866: ( no output )
02:10 psch does infix:«=>» have an identify?
02:10 psch or rather, a one element
02:10 Mouq psch: Probably not, but that's a LTA error
02:11 psch or zero element?
02:11 psch my algebra is bad :P
02:11 psch oh, yeah.  the error is definitely LTA.  i'm just wondering what it should be
02:11 Mouq m: [/]
02:11 camelia rakudo-moar d72866: OUTPUT«Unhandled exception: No zero-arg meaning for infix:</>␤   at <unknown>:1  (/home/camelia/rakudo-inst-2/languages/perl6/r​untime/CORE.setting.moarvm:throw:4294967295)␤ from src/gen/m-CORE.setting:14599  (/home/camelia/rakudo-inst-​2/languages/perl6/runtim…»
02:12 Mouq m: [/] 1,2,3,4
02:12 camelia rakudo-moar d72866: ( no output )
02:12 colomon m: say [=>] 1, 2, 3
02:12 camelia rakudo-moar d72866: OUTPUT«1 => 2 => 3␤»
02:14 psch neutral element was what i looking for
02:14 psch m: say [*]
02:14 camelia rakudo-moar d72866: OUTPUT«1␤»
02:14 psch m: say [+]
02:14 camelia rakudo-moar d72866: OUTPUT«0␤»
02:14 psch but => isn't well defined like that i suppose
02:15 adu joined #perl6
02:15 psch and thus should probably error like [/] does
02:15 psch m: say () => ()
02:15 camelia rakudo-moar d72866: OUTPUT« => ␤»
02:15 psch m: say Nil => Nil
02:15 camelia rakudo-moar d72866: OUTPUT«Unexpected named parameter 'Nil' passed␤  in sub say at src/gen/m-CORE.setting:17348␤  in block <unit> at /tmp/CIma5oJNgF:1␤␤»
02:15 psch m: say (Nil => Nil)
02:15 camelia rakudo-moar d72866: OUTPUT«Nil => (Any)␤»
02:17 Hor|zon joined #perl6
02:18 raydiak => seems to be missing from the table at S03:4607
02:18 synopsebot Link: http://design.perl6.org/S03.html#line_4607
02:18 psch i guess an argument could be made for «$a [=>]= 1» to mean "assign the pair constructed with the value of $a as the key and 1 as the value to $a"
02:23 Mouq psch: And that's what it does; it's just that it doesn't work if $a is undefined, since it uses the value of [=>] as the initial arg in that case
02:23 Mouq m: my $a = 0; $a [=>]= 1
02:23 camelia rakudo-moar d72866: ( no output )
02:23 Mouq m: my $a; $a [=>]= 1
02:23 camelia rakudo-moar d72866: OUTPUT«Too few positionals passed; expected 2 arguments but got 0␤  in sub infix:<=>> at src/gen/m-CORE.setting:10582␤  in block <unit> at /tmp/t9w1HxHtCz:1␤␤»
02:24 psch oh, alright
02:24 psch that's pretty cool heh
02:24 psch "but got 0" confuses me though
02:25 psch oh that's the result of => on an empty list
02:25 psch right, Mouq++
02:26 psch that's because the "make the lhs stringy" magic we have on => doesn't do anything there i guess
02:28 psch anyway, i'll go to bed.  i don't think i really followed this that well up to now :)
02:31 Mouq 'night psch :)
02:35 dalek roast: f92b27d | Mouq++ | S03- (3 files):
02:35 dalek roast: Use new X::Syntax::Can'tMeta error
02:35 dalek roast: review: https://github.com/perl6/roast/commit/f92b27d879
02:35 dalek rakudo/nom: d262118 | Mouq++ | src/ (2 files):
02:35 dalek rakudo/nom: Add a very general X::Syntax::Can'tMeta and use it
02:35 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/d262118ecc
02:40 MadcapRusso joined #perl6
02:40 colomon joined #perl6
02:46 ilbot3 joined #perl6
02:46 Topic for #perl6 is now »ö« Welcome to Perl 6! | http://perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, std:, or /msg camelia p6: ... | irclog: http://irc.perl6.org | UTF-8 is our friend!
02:48 dalek roast: 54b136e | Mouq++ | S03-operators/assign.t:
02:48 dalek roast: Add test for #72874
02:48 dalek roast: review: https://github.com/perl6/roast/commit/54b136e898
02:48 synopsebot Link: https://rt.perl.org/rt3//Publ​ic/Bug/Display.html?id=72874
02:55 * TimToady has finished writing up his email interview for infoworld, so maybe can pay some attention here again
03:10 xinming_ joined #perl6
03:14 noganex_ joined #perl6
03:18 Psyche^ joined #perl6
03:21 xinming__ joined #perl6
03:23 Mouq ...oops? :(
03:24 Mouq So, writing "b: ..." will apparently kill camelia?
03:24 camelia joined #perl6
03:24 Mouq b: 1
03:25 Mouq Or... not
03:25 camelia b : OUTPUT«Can't chdir to '/home/camelia/rakudo/': No such file or directory at lib/EvalbotExecuter.pm line 166.␤       EvalbotExecuter::_auto_execute(HASH(0x1e6c2c8), 1, GLOB(0xa80c5d0), "/tmp/LbRG5QwrBj", "b") called at lib/EvalbotExecuter.pm line 114␤  EvalbotExecuter::_fork_and_eva…»
03:39 avuserow_ b is pre-nom IIRC, no surprise it's not running
03:40 TimToady we should use a fail-soft language so it doesn't blow up :)
03:53 Mouq is ... supposed to flatten? RE: #80574
03:53 synopsebot Link: https://rt.perl.org/rt3//Publ​ic/Bug/Display.html?id=80574
03:54 TimToady yes
03:54 TimToady use $() or [] to prevent it
03:55 TimToady otherwise there's no way to return multiple values for the sequence from one call
03:56 Mouq TimToady: Ok, that's what I thought, I just wanted to check :)
04:06 Hor|zon joined #perl6
04:10 skids joined #perl6
04:57 virtualsue joined #perl6
05:06 xinming_ joined #perl6
05:09 dj_goku joined #perl6
05:09 dj_goku joined #perl6
05:16 yeahnoob joined #perl6
05:45 vendethiel joined #perl6
05:47 fil__ joined #perl6
05:48 fil__ can my class have an array field?
05:48 fil__ if so, how do I initialize it without confusing the instantiator?
05:50 fil__ and can my array have a type?
05:55 Hor|zon joined #perl6
05:55 dj_goku fil__: just a guess from googling 'has @!items'
05:56 fil__ yes I figured that was the syntax
05:56 fil__ but I'm worried about instantiating it
05:56 fil__ with multiple items
05:56 fil__ won't it confuse it with the other fields...?
05:57 dj_goku that I don't know.
05:57 dj_goku what do you mean by other fields?
05:58 fil__ MyClass.new(foo => 1, items =>  3, 4, bar => 5);
05:58 fil__ the comma is kind of overloaded
05:58 fil__ worried that compiler will get confused
05:59 dj_goku items => <3, 4> maybe?
05:59 fil__ I would have thought () or []
05:59 raydiak m: class Foo { has @.bar }; Foo.new: :bar(1,2,3); Foo.new(bar => (1,2,3)); Foo.new: bar => [1,2,3]; # <-- fil__
05:59 camelia rakudo-moar d26211: ( no output )
06:00 fil__ ok
06:00 fil__ guess they all work!
06:00 fil__ what's preferred?  () or []?
06:01 raydiak () makes a parcel which gets flattened into @.bar ... [] makes an array which does the same...preference really
06:01 raydiak I guess you could benchamrk and see if one is currently faster, or if it all just gets optimized away yet
06:03 raydiak hm
06:04 raydiak m: class Foo { has @.bar }; say Foo.new(:bar(1,2,3)).bar.WHAT; say Foo.new(bar => [1,2,3]).bar.WHAT;
06:04 camelia rakudo-moar d26211: OUTPUT«(Array)␤(Array)␤»
06:05 raydiak m: class Foo { has @.bar }; say Foo.new( bar => (1,2,3) ).bar.WHAT;
06:05 camelia rakudo-moar d26211: OUTPUT«(Array)␤»
06:05 raydiak m: class Foo { has @.bar }; say Foo.new( bar => Parcel.new(1,2,3) ).bar.WHAT;
06:05 camelia rakudo-moar d26211: OUTPUT«(Array)␤»
06:05 raydiak yep, no difference in the end
06:05 fil__ stylistically, it feels to me like [] is clearer
06:07 raydiak I'm rather fond of the :bar(...) syntax myself, but maybe just because it's new and shiny...[] certainly is clearer to people with backgrounds in many other languages, too (including p5)
06:08 TimToady you can just as easily write :bar[1,2,3]
06:08 TimToady it's not a subscript
06:08 raydiak oh I forgot about that
06:08 Mouq joined #perl6
06:09 raydiak m: class Foo { has @.bar }; say Foo.new( bar => Blob[uint8].new(1,2,3) ).bar.WHAT;
06:09 camelia rakudo-moar d26211: OUTPUT«(Array)␤»
06:10 raydiak so the type of the positional thing you pass into an @ attribute at initialization doesn't matter? iow always list assignment, not binding?
06:11 TimToady hmm
06:11 TimToady m: class Foo { has @.bar }; say Foo.new( bar => [1,2,3] ).bar.elems
06:11 camelia rakudo-moar d26211: OUTPUT«3␤»
06:12 TimToady but apparently loses the itemization somewhere
06:12 TimToady you'd only get 1 elem if you assigned [1,2,3] directly to @foo
06:12 raydiak I thought I should be wrong about that after I explained it, but...it seems to always gives a flattened Array, regardless of what you pass in or whether it's itemized or not
06:13 TimToady yeah, something a little odd going on there
06:13 TimToady probably calling .list on the initializer
06:14 * raydiak will rakudobug after impending dinner
06:14 Mouq m: say (1 => Array.new(1,2,3)).perl
06:14 camelia rakudo-moar d26211: OUTPUT«1 => [1, 2, 3]␤»
06:15 TimToady well, pairs always itemize anyway in p6
06:16 fil__ how do I test type?
06:16 fil__ $foo isa Bar
06:16 fil__ is there some kind of "isa" operator?
06:17 raydiak fil__: smartmatch (~~) is the most common way, I think
06:17 raydiak m: say 42 ~~ Int
06:17 camelia rakudo-moar d26211: OUTPUT«True␤»
06:17 fil__ so $foo ~~ Bar
06:18 raydiak yep :)
06:18 raydiak afk
06:23 Mouq $foo.isa(Bar) should work too
06:30 Mouq m: multi $a
06:30 camelia rakudo-moar d26211: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/0yUyo4fJXpâ�¤ scoped variables not yet implemented. Sorry. â�¤at /tmp/0yUyo4fJXp:1â�¤------> [32mmulti $a[33mâ��[31m<EOL>[0mâ�¤    expecting any of:â�¤        constraintâ�¤Â»
06:30 Mouq Oh, excuse me
06:30 Mouq m: my multi $a # much better
06:30 camelia rakudo-moar d26211: ( no output )
06:31 Mouq :P
06:47 japhb joined #perl6
06:56 adu joined #perl6
07:11 xfix joined #perl6
07:16 Mouq m: sub foo(::T $x, T $y) { $x + $y }; foo(42, 12e0) # I didn't know we had generics in subs :O
07:16 camelia rakudo-moar d26211: OUTPUT«Type check failed in binding $y; expected 'Int' but got 'Num'␤  in sub foo at /tmp/mpRUunygb_:1␤  in block <unit> at /tmp/mpRUunygb_:1␤␤»
07:17 japhb joined #perl6
07:23 wicope joined #perl6
07:41 dalek doc: 24185e4 | paultcochrane++ | lib/Language/quoting.pod:
07:41 dalek doc: Typographical etc. corrections to quoting.pod
07:41 dalek doc: review: https://github.com/perl6/doc/commit/24185e41ba
07:41 dalek doc: 9277006 | paultcochrane++ | lib/Language/quoting.pod:
07:41 dalek doc: Wrap paragraphs consistently in quoting.pod
07:41 dalek doc: review: https://github.com/perl6/doc/commit/9277006abf
07:41 dalek doc: 3dbfc41 | paultcochrane++ | lib/Language/variables.pod:
07:41 dalek doc: Typo: s/directoy/directory/
07:41 dalek doc: review: https://github.com/perl6/doc/commit/3dbfc41b45
07:44 Hor|zon joined #perl6
08:06 araujo joined #perl6
08:07 avuserow_ std: my multi $a;
08:07 camelia std f9b7f55: OUTPUT«ok 00:00 135m␤»
08:07 avuserow_ std: my proto $a;
08:07 camelia std f9b7f55: OUTPUT«ok 00:00 135m␤»
08:11 darutoko joined #perl6
08:11 prime joined #perl6
08:16 lumimies joined #perl6
08:17 moritz good morning
08:18 avuserow_ o/ moritz
08:32 moritz m: say 42.conj.^name
08:32 camelia rakudo-moar d26211: OUTPUT«Int␤»
08:34 moritz m: say (1+2i).conj
08:34 camelia rakudo-moar d26211: OUTPUT«1-2i␤»
08:35 moritz m: say (1+2i).sign
08:35 camelia rakudo-moar d26211: OUTPUT«Memory allocation failed; could not allocate 57472 bytes␤»
08:36 moritz rakudobug
08:36 moritz m: say 1e2.sign.^name
08:36 camelia rakudo-moar d26211: OUTPUT«Int␤»
08:39 moritz m: say (-1).rand
08:39 camelia rakudo-moar d26211: OUTPUT«-0.196345961885758␤»
08:40 diana_olhovik joined #perl6
08:45 Hor|zon joined #perl6
08:57 dalek rakudo/nom: 964aaea | moritz++ | src/core/Cool.pm:
08:57 dalek rakudo/nom: Cool.sign coerces to Real, not Numeric
08:57 dalek rakudo/nom:
08:57 dalek rakudo/nom: avoids infinite recursion on (1+2i).sign
08:57 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/964aaea722
09:00 diana_olhovik_ joined #perl6
09:07 V_S_C joined #perl6
09:12 Rounin joined #perl6
09:17 gfldex joined #perl6
09:20 dalek doc: ae1b508 | moritz++ | lib/Type/Cool.pod:
09:20 dalek doc: Cool: start to document methods individually
09:20 dalek doc: review: https://github.com/perl6/doc/commit/ae1b508458
09:25 dalek roast: 752484f | moritz++ | S32-num/sign.t:
09:25 dalek roast: Test that sign(Complex) dies correctly
09:25 dalek roast: review: https://github.com/perl6/roast/commit/752484fbe4
09:27 rurban joined #perl6
09:28 joethephish joined #perl6
09:32 V_S_C https://gist.github.com/VSCh​awathe/612fb57c2b1e0d4b0240
09:37 moritz V_S_C: please open an issue on https://github.com/tadzik/Bailador
09:38 molaf__ joined #perl6
09:45 virtualsue joined #perl6
09:46 V_S_C moritz: thank you, done.
09:46 V_S_C left #perl6
09:53 Mouq joined #perl6
09:57 coffee` joined #perl6
09:58 rurban__ joined #perl6
10:00 Kristien joined #perl6
10:00 dalek doc: e440b26 | moritz++ | lib/Type/Cool.pod:
10:00 dalek doc: Cool: document more methods
10:00 dalek doc: review: https://github.com/perl6/doc/commit/e440b266fd
10:02 yeahnoob joined #perl6
10:03 diana_olhovik_ joined #perl6
10:03 jnthn morning, #perl6
10:03 FROGGS hi jnthn
10:06 FROGGS hmmm
10:06 JimmyZ morning
10:06 nwc10 morning
10:06 FROGGS CONTROL does not catch Perl6::Grammar's worries, does it?
10:07 FROGGS err, Perl6::Optimizer's, even
10:09 FROGGS hmmm, warnings in the optimizer are just nqp::printfh'd to stderr... I guess we want to throw an exception instead
10:09 bartolin FROGGS: I just found that, too ;-)
10:09 yoleaux 7 Feb 2015 22:53Z <FROGGS> bartolin: do you have an opinion to RT #123584?
10:09 synopsebot Link: https://rt.perl.org/rt3//Publ​ic/Bug/Display.html?id=123584
10:09 abraxxa joined #perl6
10:10 bartolin FROGGS: though one could test with something like: perl6-m -e 'use lib "t/spec/packages"; use Test::Util; is_run q[$; my $b;], { status => 0, err => / ^ "WARNINGS:\nUseless use of variable \$ANON_VAR__1 in sink context" / }, "OK"'
10:11 FROGGS true
10:13 bartolin I would even think that's good enough to close the ticket for now (since the test could be improved later)
10:14 FROGGS aye
10:14 FROGGS it is just that shelling out is not funny on the jvm
10:15 bartolin true enough
10:15 spider-mario joined #perl6
10:16 FROGGS adding that test now, thanks :o)
10:18 bartolin np! and timotimo++ for pointing me at CONTROL blocks for catching warnings.
10:20 dalek roast: 9364013 | FROGGS++ | S32-exceptions/misc.t:
10:20 dalek roast: add test for RT #123584
10:20 dalek roast: review: https://github.com/perl6/roast/commit/936401318b
10:20 synopsebot Link: https://rt.perl.org/rt3//Publ​ic/Bug/Display.html?id=123584
10:30 espadrine joined #perl6
10:31 V_S_C joined #perl6
10:32 V_S_C moritz: https://github.com/tadzik/Task-Star/issues/4
10:33 tgt joined #perl6
10:34 Hor|zon joined #perl6
10:40 fhelmberger joined #perl6
10:45 jnthn Pro tip: don't do meta-meta-programming until at least the first cup of coffee is finished...
10:48 pmurias joined #perl6
10:50 moritz vike: that's not a bug in Task::Star, it's simply how panda works
10:50 moritz sorry, meant V_S_C
10:51 vendethiel .oO( drink a meta-cup of metacoffee before )
11:04 telex joined #perl6
11:06 moritz vendethiel: the key is to meta-drink it :-)
11:12 nwc10 jnthn: *first*? it would feel more like one cup for meta-programming, and one more for meta-meta-
11:13 arnsholt I'd argue at least two more for meta-meta; if not four
11:13 arnsholt I suspect the complexity here grows super-linearly =)
11:18 Kristien vendethiel: my code generation works :P
11:18 gr33n7007h joined #perl6
11:19 moritz arnsholt: come on, it's just OO :-)
11:21 jnthn moritz: Did we find any reason not to merge 6pe-mop?
11:23 Sir_Ragnarok joined #perl6
11:23 moritz jnthn: I didn't
11:26 dalek rakudo/native-ref: 0a650d6 | jnthn++ | / (4 files):
11:26 dalek rakudo/native-ref: MOP plumbing to support method ^foo($) { ... }.
11:26 dalek rakudo/native-ref: review: https://github.com/rakudo/rakudo/commit/0a650d6d26
11:33 dalek rakudo/native-ref: b665ea8 | jnthn++ | src/Perl6/Actions.nqp:
11:33 dalek rakudo/native-ref: Implement method ^foo($) { ... } syntax.
11:33 dalek rakudo/native-ref: review: https://github.com/rakudo/rakudo/commit/b665ea8554
11:33 jnthn > class C { method ^omg($) { 'omg' } }; say C.^omg
11:33 jnthn omg
11:33 jnthn \o/
11:34 vendethiel jnthn++
11:34 FROGGS jnthn++
11:34 * vendethiel thought this syntax already worked for some rason :o)
11:34 FROGGS m: class C { method ^omg($) { 'omg' } }; say C.^omg
11:34 camelia rakudo-moar 964aae: OUTPUT«No such method 'omg' for invocant of type 'Perl6::Metamodel::ClassHOW'␤  in block <unit> at /tmp/QXrf9hkW1a:1␤␤»
11:34 vendethiel I know, I know
11:34 FROGGS well, it was parsed correctly :o)
11:35 jnthn Yeah, the ^ was ignored
11:35 nwc10 m: class C { method ^omg($) { 'omg' } }; say C.^omg
11:35 camelia rakudo-moar 964aae: OUTPUT«No such method 'omg' for invocant of type 'Perl6::Metamodel::ClassHOW'␤  in block <unit> at /tmp/AKw12Zqw_L:1␤␤»
11:35 nwc10 nope, future not yet evenly distributed
11:36 nwc10 oh, I missed FROGGS doing that
11:36 nwc10 I claim I'm distracted
11:36 FROGGS :o)
11:37 moritz jnthn: will you do the 6pm-mop merge? or shall I?
11:38 jnthn moritz: I don't mind :)
11:39 jnthn moritz: If you've time to do it, please go ahead.
11:40 * jnthn is looking into the intersection of sig binding and native refs next.
11:43 moritz git++
11:43 dalek Heuristic branch merge: pushed 16 commits to rakudo/nom by moritz
11:44 jnthn \o/
11:46 jnthn moritz: Thanks! :)
11:47 moritz jnthn: was an automatic merge, so not much to do :-)
11:47 moritz jnthn++ # doing all the hard work
11:51 pmqs joined #perl6
11:54 rindolf joined #perl6
11:57 dalek nqp/js: 8405324 | (Pawel Murias)++ | t/nqp/58-attrs.t:
11:57 dalek nqp/js: Compare string in test with eq not ==.
11:57 dalek nqp/js: review: https://github.com/perl6/nqp/commit/840532425b
11:57 dalek nqp/js: 9106771 | (Pawel Murias)++ | / (3 files):
11:57 dalek nqp/js: Implement nqp::getattr_*. Add tests for that.
11:57 dalek nqp/js: review: https://github.com/perl6/nqp/commit/9106771681
11:57 dalek nqp/js: bc8e865 | (Pawel Murias)++ | TODO:
11:57 dalek nqp/js: Remove done item from TODO.
11:57 dalek nqp/js: review: https://github.com/perl6/nqp/commit/bc8e865030
11:57 dalek nqp/js: 06e2e84 | (Pawel Murias)++ | / (3 files):
11:57 dalek nqp/js: Implemenent and test a bunch of integer comparision ops.
11:57 dalek nqp/js: review: https://github.com/perl6/nqp/commit/06e2e840b3
12:03 mj41 joined #perl6
12:04 pmurias m: my $list := nqp::list('1','2','3');nqp::setelems($list, 1); say(nqp::join(',', $list)); nqp::setelems($list, 3);say(nqp::join(',', $list));
12:04 camelia rakudo-moar 964aae: OUTPUT«1␤1,2,3␤»
12:04 pmurias jnthn: ^^ an interesting thing I found in nqp-moar
12:07 pmqs Just installed star 2015.01  -- Panda doesn't want to play
12:07 yoleaux joined #perl6
12:08 pmqs $ panda
12:08 pmqs No such method 'ast' for invocant of type 'Any'
12:08 pmqs in sub from-json at /home/paul/perl/perl6/rakudo/lan​guages/perl6/lib/JSON/Tiny.pm:51
12:08 pmqs in submethod BUILD at /home/paul/perl/perl6/rakudo/langua​ges/perl6/lib/Panda/Ecosystem.pm:36
12:08 pmqs in method BUILDALL at src/gen/m-CORE.setting:979
12:08 pmqs in method bless at src/gen/m-CORE.setting:961
12:08 pmqs in method new at src/gen/m-CORE.setting:947
12:08 pmqs in sub make-default-ecosystem at /home/paul/perl/perl6/rakudo/lan​guages/perl6/lib/Panda/App.pm:39
12:08 pmqs in block <unit> at /home/paul/perl/perl6/rakudo/bin/panda:11
12:08 FROGGS seems like you either can't parse the json file or were not able to download it
12:09 FROGGS pmqs: are you able to wget $s.send("GET http://ecosystem-api.p6c.org/projects.json ?
12:09 pmqs let me try..
12:10 FROGGS err, without the '$s.send("GET '
12:10 pmqs yep
12:10 pmqs $ wget http://ecosystem-api.p6c.org/projects.json
12:10 pmqs --2015-02-08 12:11:40--  http://ecosystem-api.p6c.org/projects.json
12:10 pmqs Resolving ecosystem-api.p6c.org... 62.252.172.241
12:11 pmqs Connecting to ecosystem-api.p6c.org|62.252.172.241|:80... connected.
12:11 pmqs HTTP request sent, awaiting response... 302 Found
12:11 pmqs Location: http://assets.virginmedia.com/malware.html [following]
12:11 pmqs --2015-02-08 12:11:40--  http://assets.virginmedia.com/malware.html
12:11 pmqs Resolving assets.virginmedia.com... 62.254.123.65
12:11 pmqs Connecting to assets.virginmedia.com|62.254.123.65|:80... connected.
12:11 pmqs HTTP request sent, awaiting response... 200 OK
12:11 pmqs Length: unspecified [text/html]
12:11 pmqs Saving to: `projects.json'
12:11 pmqs [ <=>                                   ] 1,833       --.-K/s   in 0s
12:11 pmqs 2015-02-08 12:11:40 (23.6 MB/s) - `projects.json' saved [1833]
12:11 FROGGS pmqs: please dont paste that much to the channel
12:11 pmqs sore - no problem
12:11 pmqs sure
12:13 FROGGS pmqs: can you look at the projects.json? I bet it contains an html file from that malware service
12:14 pmqs contains HTML ... "This site has been blocked by Web Safe"
12:14 pmqs that what you mean?
12:15 FROGGS that means that your ISP is so nice to redirect away from our site, because it is listed as malware somewhere
12:17 pmqs How nice of them. I see the HTML does have instructions to change the settings. Will give that a go.
12:19 jnthn pmurias: heh, nice one :)
12:23 Hor|zon joined #perl6
12:24 pmqs froggs: Crap! The ISP feedback says "A resolution for cases like this can take up to 2-3 weeks"
12:24 FROGGS :o(
12:25 pmqs do you know if there is there a workaround?
12:25 Kristien joined #perl6
12:26 grondilu joined #perl6
12:27 FROGGS pmqs: not sure :/
12:27 pmurias if it's per page blocked maybe https would help?
12:27 Kristien hi
12:28 pmqs will have a dig into the code - that URL must be present somewhere
12:28 FROGGS pmurias: that'd involve changing its source... so he'd have to clone from github
12:28 FROGGS pmqs: https://github.com/tadzik/panda/blo​b/master/lib/Panda/Ecosystem.pm#L81
12:29 pmqs ta ta
12:32 moritz star-m: say 42
12:32 camelia star-m : OUTPUT«42␤»
12:33 moritz star-m: say 42
12:33 camelia star-m 2015.01: OUTPUT«42␤»
12:33 moritz camelia now runs the latest star
12:33 FROGGS moritz++
12:34 FROGGS m: enum foo (bar => 42); enum baz (hurz => 21); sub marine($flag where {$_ ~~ foo|baz}) { say $flag }; marine bar
12:34 camelia rakudo-moar 964aae: OUTPUT«bar␤»
12:34 FROGGS is there a without a where clause to allow two types?
12:35 moritz FROGGS: well, using the common base type
12:35 El_Che joined #perl6
12:41 pmqs joined #perl6
12:44 pmqs froggs: copying the json file manually into languages/perl6/site/panda/projects.json got it to work. Phew!
12:45 FROGGS cool!
12:45 FROGGS :o)
12:45 pmqs Ugh! Now I'm tripping over RT #122839 - will update the ticket again
12:45 synopsebot Link: https://rt.perl.org/rt3//Publ​ic/Bug/Display.html?id=122839
12:46 FROGGS :o(
12:47 FROGGS so yes, seems it only works on windows using the msi installer
12:47 pmqs yep
12:48 pmqs I can't be the only one to be tripping over #122839, can I? panda is the "official" way to install modules?
12:48 synopsebot Link: https://rt.perl.org/rt3//Publ​ic/Bug/Display.html?id=122839
12:48 FROGGS I don't get it..., this works locally:
12:48 FROGGS m: use v6; enum SDL_SurfaceFlags (SDL_SWSURFACE => 0x00000000,); enum SDL_VideoModes (SDL_ANYFORMAT  => 0x10000000,); sub SDL_SetVideoMode(int32, int32, int32, int32 where { $_ ~~ SDL_SurfaceFlags|SDL_VideoModes })  is export  { * }
12:48 camelia rakudo-moar 7ec55f: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/FS1dASIgPZâ�¤Cannot do non-typename cases of type_constraint yetâ�¤at /tmp/FS1dASIgPZ:1â�¤------> [32m $_ ~~ SDL_SurfaceFlags|SDL_VideoModes }[33mâ��[31m)  is export  { * }[0mâ�¤Â»
12:49 FROGGS pmqs: I guess other just do not care and reinstall modules
12:49 pmqs ok - will update the ticket
12:50 pmqs froggs: thanks for your help. much appreciated
12:52 jschulz joined #perl6
12:56 dalek rakudo/nom: b61dcf1 | moritz++ | src/ (2 files):
12:56 dalek rakudo/nom: typed exception for when no matching paramatric role candidate is found
12:56 dalek rakudo/nom:
12:56 dalek rakudo/nom: also improve error message a bit.
12:56 dalek rakudo/nom: <rant>the "not found" sounds like the compiler simply did not try hard enough.
12:56 dalek rakudo/nom: Since that is most likely not the problem, boldly claim that there simply
12:56 dalek rakudo/nom: *is* no matching candidate.</rant>
12:56 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/b61dcf1a10
12:58 jnthn :)
12:58 dalek roast: 733c00f | moritz++ | S14-roles/mixin.t:
12:58 dalek roast: Test for missing role candidate error by type
12:58 dalek roast: review: https://github.com/perl6/roast/commit/733c00fc19
13:02 FROGGS jnthn: btw, the line I posted kinda works on my machine, as long as the sub with the where constraint is in another unit... though, the constraint does do anything
13:02 FROGGS I'll report it this evening
13:04 vendethiel "does do anything"? :p
13:04 colomon joined #perl6
13:04 FROGGS vendethiel: I can pass what I want, it does not complain
13:05 dalek doc: 21ab8b5 | moritz++ | lib/Type/Cool.pod:
13:05 dalek doc: Cool: add missing methods as a TODO comment
13:05 dalek doc: review: https://github.com/perl6/doc/commit/21ab8b5937
13:07 Kristien tomorrow perl book will arrive!
13:09 colomon \o/
13:09 colomon Modern Perl, right?
13:09 Kristien yes!
13:13 dalek roast: 860ba92 | moritz++ | S12-coercion/coercion-types.t:
13:13 dalek roast: Skip some tests that complain at compile time
13:13 dalek roast: review: https://github.com/perl6/roast/commit/860ba924f2
13:14 moritz jnthn: fwiw most of coercion type tests still fail :(
13:14 jnthn moritz: I'm not surprised.
13:14 jnthn moritz: I said before, I've *only* implemented them on parameters.
13:15 jnthn moritz: So we can deprecate "as Foo" and give a migration path.
13:15 jnthn The rest can come later; it's less pressing.
13:15 moritz jnthn: yes, but even those on parameters fail
13:16 jnthn m: sub foo(Str(Any) $x) { say $x.WHAT }; foo(42) # wonder if it's built yet
13:16 camelia rakudo-moar 7ec55f: OUTPUT«(Str)␤»
13:16 moritz m: sub foo(Str(Any) $x) { $x }; say foo(42).^name
13:16 camelia rakudo-moar 7ec55f: OUTPUT«Int␤»
13:17 jnthn Oh...
13:17 jnthn Yeah, that optimizer bug.
13:17 * jnthn forgot about that one
13:19 jnthn It's on my todo list now.
13:19 jnthn m: sub foo(Any $x as Str) { $x }; say foo(42).^name
13:19 camelia rakudo-moar 7ec55f: OUTPUT«Int␤»
13:19 jnthn It's not a regression, fwiw.
13:21 colomon DId pe get merged, or is moritz++ working there?
13:21 rurban__ joined #perl6
13:21 moritz colomon: it's merged
13:21 colomon jnthn++ too, then
13:22 * jnthn thinks he has a design he's happy with for native "is rw" params and the bits needed to make them work
13:23 Kristien native is rw params :o
13:23 Kristien does native always assume C ABIs?
13:23 dalek roast: 7faa0b2 | moritz++ | S12-coercion/coercion-types.t:
13:23 dalek roast: Add some simpler coercion type tests; fudge the rest
13:23 dalek roast: review: https://github.com/perl6/roast/commit/7faa0b2bf8
13:23 moritz Kristien: no
13:23 Kristien cool
13:25 dalek doc: 8722759 | moritz++ | lib/Type/Cool.pod:
13:25 dalek doc: Cool: add examples, document flip
13:25 dalek doc: review: https://github.com/perl6/doc/commit/8722759401
13:29 * jnthn takes a walk, while the weather is still nice
13:30 xtreak joined #perl6
13:31 moritz seems the merge fixed RT #121626
13:31 synopsebot Link: https://rt.perl.org/rt3//Publ​ic/Bug/Display.html?id=121626
13:31 dalek roast: 07a6ec3 | moritz++ | S14-roles/anonymous.t:
13:31 dalek roast: Unfudge tests for RT #121626
13:31 dalek roast: review: https://github.com/perl6/roast/commit/07a6ec32a7
13:31 synopsebot Link: https://rt.perl.org/rt3//Publ​ic/Bug/Display.html?id=121626
13:33 xtreak left #perl6
13:35 dalek rakudo/nom: d9f58f1 | moritz++ | / (2 files):
13:35 dalek rakudo/nom: Run coerion type tests; mention in changelog
13:35 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/d9f58f19ef
13:49 dalek json: 4148627 | moritz++ | / (2 files):
13:49 dalek json: Better error reporting on invalid input
13:49 dalek json: review: https://github.com/moritz/json/commit/4148627054
13:55 colomon joined #perl6
14:00 araujo joined #perl6
14:05 moritz tadzik: is it intentional that panda doesn't report its commits in here?
14:09 Hor|zon joined #perl6
14:13 BenGoldberg joined #perl6
14:14 BenGoldberg joined #perl6
14:17 tadzik moritz: n
14:17 tadzik no
14:33 pmurias jnthn: are such bizare errors expected: http://pastie.org/9902113
14:33 pmurias jnthn: I get it while cross compiling QRegex
14:36 jnthn pmurias: Often indicates version skew of some kind, that somehow went undetected.
14:37 jnthn pmurias: Expected as in "did I create such situations when working on bootstrapping other backends on NQP"? Yes, I got various things. :)
14:38 jnthn That one looks like "picking up wrong files"
14:40 pmurias shouldn't that be detected
14:40 pmurias ?
14:44 pmurias as serialization object have there unique identifiers
14:49 itz_ pmqs: are you using Virgin ISP?
14:49 masak greetings, #perl6
14:49 itz_ p6c.org is blocked by Virgin WebSafe
14:51 * masak .oO( Perl 6: parental advisory )
14:52 itz_ .oO( more understandable with perl 5 )
14:53 pmurias ..oO( it must be all the swearing in regexes)
14:53 masak vendethiel: re http://irclog.perlgeek.de/p​erl6/2015-02-06#i_10070577 -- I actually have no objections against that use of "isomorphic". I know the etymology of the word, and I know the usage in mathematics. is there anything more than prescriptivist curmudgery behind the mislike?
14:55 * vendethiel looks up curmudgery
14:56 * masak hides :P
14:56 * vendethiel can't find curmudgery
14:56 pmurias masak: is the term commonly used or is some trolling voting it in using behind the scene shenanigans?
14:56 masak vendethiel: maybe look up "curmudgeon" instead?
14:57 vendethiel oh, alright, that does it
14:57 masak pmurias: I got lost somewhere near the end of your question sentence.
14:58 masak pmurias: I don't know how commonly used it is. it's used by enthusiasts of the trade, seems to me.
14:58 masak pmurias: same people as would recommend es6 or coffee or react.
14:58 masak hipsters, in other words.
14:59 * masak .oO( I was doin' isomorphic before it was a generally accepted term )
14:59 pmurias s/trolling/troll/
15:00 masak pmurias: it's not just one person using it. but it's not generally accepted either. I'm just trying to understand the criticism of adopting that term for it.
15:00 masak pmurias: a more conservative term would perhaps be something like "client/server code unification".
15:00 masak but that's a bit of a mouthful.
15:02 pmurias so the isomorphism in isomorphic javascript is the identity function?
15:02 masak pmurias: I wasn't thinking "isomorphic", I was thinking geometry and isomorphic polygons.
15:03 masak there, it just means "same shape".
15:03 masak but you've just provided me with a big clue as to why some people may object to the term, if they take that path first to the meaning.
15:04 pmurias masak: I'm not that strongly opposed to using that name
15:05 pmurias masak: But I'm distrustful of wikipedia nowdays
15:06 masak not automatically accepting everything on Wikipedia is not a bad thing, methinks.
15:06 masak there's nothing magical about that wiki which makes it correct all the time.
15:06 masak even https://en.wikipedia.org/wiki/Isomorphism has a geometrical picture as the first thing that strikes the eye.
15:07 hoelzro pmurias: if I add a failing test (in this case, istype), should I *not* have it run via run_tests until it's been fixed?
15:07 masak so "the client and server code are isomorphic"/"the client and server code have equal shape" seems about right to me.
15:07 dalek nqp/js: 7fa747f | hoelzro++ | t/js/istype.t:
15:07 dalek nqp/js: Add a test for nqp::istype
15:07 dalek nqp/js: review: https://github.com/perl6/nqp/commit/7fa747fdc0
15:07 dalek nqp/js: cf7f816 | hoelzro++ | src/vm/js/QAST/Compiler.nqp:
15:07 dalek nqp/js: Impelement istype
15:07 dalek nqp/js: review: https://github.com/perl6/nqp/commit/cf7f816008
15:08 pmurias hoelzro: I think it's best to only keep passing tests in run_tests
15:08 vendethiel is "istype" supposed to manage inheritance?
15:08 vendethiel m: class A{}; class B does A{}; say nqp::istype(B.new, A);
15:08 camelia rakudo-moar d9f58f: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/vL5sqtD36g�A is not composable, so B cannot compose it�at /tmp/vL5sqtD36g:1�------> �»
15:08 vendethiel m: class A{}; class B is A{}; say nqp::istype(B.new, A);
15:08 camelia rakudo-moar d9f58f: OUTPUT«===SORRY!===␤Cannot find method 'has_compile_time_value'␤»
15:09 Kristien not quite a type
15:09 FROGGS m: class A{}; class B is A{}; say nqp::istype(nqp::decont(B.new), A);
15:09 camelia rakudo-moar d9f58f: OUTPUT«===SORRY!===␤Cannot find method 'has_compile_time_value'␤»
15:10 jnthn pmurias: In theory, yes. In practice...there must be something curious going on.
15:10 pmurias hoelzro: why did you put the test in t/js?
15:10 pmurias hoelzro: It's only intended for js specific tests
15:11 vendethiel masak: I'm mostly against it because then people might encounter the "other" use and get lost.
15:11 hoelzro pmurias: no particular reason, I gues
15:11 hoelzro *guess
15:11 vendethiel Like functors.
15:12 dalek nqp/js: 342bafb | hoelzro++ | t/ (2 files):
15:12 dalek nqp/js: Move istype test under t/nqp
15:12 dalek nqp/js: review: https://github.com/perl6/nqp/commit/342bafbbc2
15:13 masak vendethiel: "like functors"? I haven't seen "isomorphic" used about functors at all. functors are usually between categories, and isomorphisms tend to refer to morphisms inside of categories.
15:13 Kristien he means "functor" is an overloaded word
15:13 Kristien it can mean a mapping between categories, or a callable object in OOP
15:14 dalek nqp/js: ce7d50d | (Pawel Murias)++ | HACKING:
15:14 dalek nqp/js: Mention t/nqp/js in HACKING.
15:14 dalek nqp/js: review: https://github.com/perl6/nqp/commit/ce7d50da56
15:14 hoelzro pmurias: is that a typo? it's t/js, right?
15:14 masak Kristien: ah.
15:15 masak Kristien: weird, that's another thing I totally don't have a problem with.
15:15 masak words are sensitive to context. news at 11.
15:15 Kristien Which is in my case even more confusing, since they both apply to FP for me, since I consider OOP objects to be tuples of functions. :D
15:15 pmurias hoelzro: yes ;)
15:16 dalek nqp/js: a25a690 | (Pawel Murias)++ | HACKING:
15:16 dalek nqp/js: Fix typo.
15:16 dalek nqp/js: review: https://github.com/perl6/nqp/commit/a25a690d71
15:16 * masak should introduce the term "Kan extension" to mean something completely arbitrary in programming, just to mess with theorists :)
15:17 vendethiel masak: functors in c++, functors in ml, functors in haskell. None of these match the math version of functor
15:17 pmurias hoelzro: what I often do when trying to figure out more complex ops is check how other backends implement them (src/vm/jvm/runtime/org/pe​rl6/nqp/runtime/Ops.java+
15:17 Kristien masak: and teach Kan extensions on Kan Academy
15:17 vendethiel we lose a well-defined words for nothing else. we can just invent words. we don't need to "pollute" existing ones that could mean something else.
15:17 pmurias hoelzro: 2274 for istype)
15:18 vendethiel another word is "responsive". this is NOT what responsive means
15:18 masak vendethiel: are you sure? the functors in Haskell at least seem pretty close.
15:18 masak vendethiel: okay, so it was prescriptivist curmudgery. then I know. :P
15:18 vendethiel masak: "close", sue
15:18 vendethiel sure*
15:18 hoelzro ah ha
15:18 masak "stop inventing new meanings for my words!"
15:19 hoelzro thanks for the tip; that belongs in HACKING
15:19 vendethiel now, when I want to talk about *actual responsiveness*, which word am I supposed to know? Why not simply use a *well-suited* word?
15:19 * FROGGS .oO( de he meant DWORDs? )
15:19 vendethiel masak: I'm not against (natural) languages evolving, ofc
15:20 Kristien I thought of adding an arbitrary restriction to the identity function
15:20 Kristien so that it exhibits UB if you pass it 0, and works for everything else.
15:20 Kristien Such restrictions seems to be popular in JavaScript land, and JavaScript is all the rage.
15:21 pmurias UB?
15:21 Kristien undefined behaviour
15:21 Kristien Like, "id x returns x if x <> 0. If x = 0, the behaviour is undefined."
15:21 * masak .oO( ND: "nose demons" )
15:22 zakharyas joined #perl6
15:23 Kristien time to ---poop---
15:23 pmurias jnthn: is it possible to dissamble the .moarvm files to determine what hides behing the foo.moarvm:funcname:number?
15:23 jnthn pmurias: moar --dump thefile.moarvm
15:25 virtualsue joined #perl6
15:25 masak moritz++ # http://perlgeek.de/blog-en/pe​rl-6/2015-doc-perl6-org.html
15:28 masak muraiki: re http://irclog.perlgeek.de/p​erl6/2015-02-06#i_10073124 -- not in my experience. quality is too bad, coverage is too spotty, and there's no guiding hand or principle.
15:30 masak geekosaur: re http://irclog.perlgeek.de/p​erl6/2015-02-06#i_10073306 -- I think you're wrong on that count. "The Unicode Standard permits the BOM in UTF-8, but does not require or recommend its use." https://en.wikipedia.org/w​iki/Byte_order_mark#UTF-8
15:37 geekosaur hm. context for that is microsoft itself says "illegal" and IIRC has a pointer to relevant unicode standard --- but some Notepad versions and apparently all Visual Studio versions embed a UTF8 BOM and use it to detect UTF8 vs. traditional code page
15:38 masak I agree a UTF-8 BOM is very silly, since byte order isn't a thing that needs to be established.
15:38 geekosaur which makes me wonder if the Unicode consortium decided they'd have better luck condoning that than trying to get Microsoft to fix their stuff. (also, I do appreciate the difficulty of the problem they're trying to solve; there aren't any *good* solutions, just ugly ones.)
15:38 masak but 'very silly" isn't the same as "illegal", or for that matter "not found in the wild".
15:40 Hor|zon joined #perl6
15:43 Kristien joined #perl6
15:44 arnsholt "not found in the wild" especially
15:46 Kristien hi
16:00 mj41 Hi.
16:01 mj41 Anybody to test Rakudo Start 2015.01 Docker image? https://registry.hub.docker.com/u/mj41/perl6-star/
16:01 mj41 s/Start/Star/
16:01 mj41 and fix my Czenglish :-)
16:07 nwc10 jnthn: you probably know this already, but you'll need to merge nom, or rebase, or not use the most current spectests
16:15 masak m: say "foo".comb(/o/)
16:15 camelia rakudo-moar d9f58f: OUTPUT«o o␤»
16:15 masak m: say "foo".comb('o')
16:15 camelia rakudo-moar d9f58f: OUTPUT«Cannot call 'comb'; none of these signatures match:␤:(Cool $: *%_)␤:(Cool $: Regex $matcher, Any $limit = { ... }, *%_)␤:(Str:D $: *%_)␤:(Str:D $: Regex $pat, Any $limit = { ... }, Any :match($match), *%_)␤  in block <unit> at /tmp/J1Kb0NvOXG:1…»
16:15 * masak suggests the latter form work, too
16:16 masak reason: I saw some code I had written where I had a regex with just a literal string in it. I thought "hey, I ought to be able to get away with writing just the string here..."
16:16 masak didn't work.
16:18 colomon +1
16:19 colomon m: say “foo”.subst(“o”,”e”)
16:19 camelia rakudo-moar d9f58f: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/17n7ywQSIV�Unsupported use of bare 'say'; in Perl 6 please use .say if you meant $_, or use an explicit invocant or argument�at /tmp/17n7ywQSIV:1�------> [32msay [33m�[31m“foo�.subst(…»
16:19 colomon ack, stupid client
16:19 colomon IRC
16:19 _mg_ joined #perl6
16:20 colomon anyway, just a string does work with subst.
16:22 masak m: say "foo'”.subst("o","e")
16:22 camelia rakudo-moar d9f58f: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/4wD_kfYZMBâ�¤Two terms in a rowâ�¤at /tmp/4wD_kfYZMB:1â�¤------> [32msay "foo'â€�.subst("[33mâ��[31mo","e")[0mâ�¤    expecting any of:â�¤        infix stopperâ�¤        infix or meta-infixâ�¤   …»
16:23 masak m: say "foo".subst("o","e")
16:23 camelia rakudo-moar d9f58f: OUTPUT«feo␤»
16:23 masak colomon: good point.
16:23 * masak submits NYI rakudobug
16:24 pmurias joined #perl6
16:29 dalek nqp/js: 9996314 | (Pawel Murias)++ | src/vm/js/bin/nqp-js.nqp:
16:29 dalek nqp/js: Remove the :stable-sc flag from src/vm/js/bin/nqp-js.nqp
16:29 dalek nqp/js: review: https://github.com/perl6/nqp/commit/99963147f5
16:29 dalek nqp/js: 25dfd25 | (Pawel Murias)++ | src/vm/js/bin/cross-compile.nqp:
16:29 dalek nqp/js: Fix the serialize once hack.
16:29 dalek nqp/js: review: https://github.com/perl6/nqp/commit/25dfd259a2
16:29 dalek nqp/js: 248b408 | (Pawel Murias)++ | tools/build/ (2 files):
16:29 dalek nqp/js: Compile QRegex and QASTNode.
16:29 dalek nqp/js: review: https://github.com/perl6/nqp/commit/248b408e2b
16:40 dalek nqp/js: 5b187b8 | (Pawel Murias)++ | / (3 files):
16:40 dalek nqp/js: Implement and test nqp::push_i, nqp::pop_i, nqp::list_i.
16:40 dalek nqp/js: review: https://github.com/perl6/nqp/commit/5b187b8bbd
16:41 Hor|zon joined #perl6
16:45 dj_goku joined #perl6
16:59 Kristien joined #perl6
17:08 p6_newbee joined #perl6
17:09 p6_newbee hi all
17:09 masak p6_newbee: hi!
17:09 p6_newbee anyone know whether O'railly will publish a perl6 book?
17:09 masak p6_newbee: nothing certain yet.
17:09 p6_newbee :-(
17:09 masak but my guess is they will :)
17:10 mj41 joined #perl6
17:10 p6_newbee :-)
17:10 p6_newbee Hope so. Are books being written at the moment?
17:11 masak no.
17:11 masak (not to my knowledge)
17:11 p6_newbee It might be a bit early. However, when perl 6 is released at the end of the year, I hope there will be books also
17:12 Kristien hi
17:12 p6_newbee at the moment it is crueling to gather the information together from doc.perl6.org and the advent pages
17:12 p6_newbee hi
17:12 Kristien "Modern Perl 6"
17:13 diana_olhovik joined #perl6
17:13 Kristien "Perl 6 for Gardeners"
17:14 pmurias what happened to the Perl 6 book?
17:14 p6_newbee Hmm, modern perl was written by chromatic. I don't know, but he is not into perl6 anymore.
17:14 p6_newbee www.learningperl6.com
17:15 p6_newbee I think now would be a good time to start again ^^
17:15 pmurias there was github.com/perl6/book
17:17 p6_newbee cool thx pmurias
17:19 Kristien Perl 6 for COBOL Programmers
17:19 Kristien COBOL Monks
17:20 pmurias p6_newbee: what's your previous programming experience?
17:21 p6_newbee unfortunatelly, not much. I know little about C# and Java. I am a perl fan since ~2011.
17:22 p6_newbee not really a perl5 newbee, but its not enough to release a module on CPAN yet
17:28 jnthn nwc10: Yeah, I'm well aware. I'll probably merge soon so as to get a cleaner test run before I dig into the native lexicals stuff...so I know how much I'm breaking. :)
17:29 vendethiel .oO (move slow, break things)
17:29 BenGoldberg joined #perl6
17:30 Kristien m: say +^2011
17:30 camelia rakudo-moar d9f58f: OUTPUT«-2012␤»
17:30 jnthn vendethiel: Well, the branch won't land until after the Feb Rakudo release, so I've plenty of changes to break stuff yet :)
17:30 vendethiel :P
17:33 Kristien How do you convert a number to a string with some radix?
17:33 grondilu .base
17:33 Kristien Rats in particular.
17:33 grondilu oh sorry
17:34 * grondilu is not sure what "radix" means here.
17:34 Kristien m: (2264129042459209/3656158440062975).base(36).say
17:34 camelia rakudo-moar d9f58f: OUTPUT«0.MAKEITSTOPM␤»
17:34 Kristien nice
17:34 Kristien it works
17:34 grondilu cute
17:38 b2gills m: say (1767707668033969/3656158440062976).base(36)
17:38 camelia rakudo-moar d9f58f: OUTPUT«0.HELLOWORLD␤»
17:39 moritz \o
17:39 Kristien b2gills: that one doesn't repeat
17:42 Hor|zon joined #perl6
17:42 FROGGS[mobile] joined #perl6
17:45 b2gills Kristien: I didn't realize that was the point (as it only repeats one character)
17:46 grondilu interistingly enough, that denominator is 6**20.
17:46 grondilu m: say (1767707668033969/6**20).base(36)
17:46 camelia rakudo-moar d9f58f: OUTPUT«0.HELLOWORLD␤»
17:46 Kristien b2gills: perl does
17:47 Kristien the decimal representation of the rational number repeats indefinitely
17:47 Akagi201 joined #perl6
17:47 Kristien but perl truncates it
17:47 grondilu btw it could use the () notation though
17:48 grondilu 0.77121212... would be noted 0.77(12) for instance
17:48 Kristien no
17:48 Kristien m: say (10/3)
17:48 camelia rakudo-moar d9f58f: OUTPUT«3.333333␤»
17:48 Kristien hmm weird
17:48 Kristien oooh wait
17:48 Kristien m: say (10/3).perl
17:48 camelia rakudo-moar d9f58f: OUTPUT«<10/3>␤»
17:48 Kristien m: say (2264129042459209/3656158440062975).perl
17:48 camelia rakudo-moar d9f58f: OUTPUT«<2264129042459209/3656158440062975>␤»
17:48 Kristien nevermind what I said
17:49 Kristien I normal decimal approximation is probably more useful that a repetition indicator though.
17:49 grondilu yeah, probably
17:51 * grondilu wonders what are the odds that a given random integer happens to be a power of an other integer.
17:52 Kristien grondilu: the probability is 1
17:52 masak sounds not well-posed.
17:52 geekosaur "other"
17:52 masak there are so many integers at the top.
17:52 grondilu a non-trivial power that is.
17:52 colomon Kristien: do you have a proof?
17:52 grondilu masak: that's what makes the question intriguing
17:53 Kristien colomon: no, I am a moron
17:53 Kristien I thought that for every n, n is (-n)^1
17:53 Kristien but that's obviously not true
17:53 Kristien the sign only collapses when the power is even
17:54 moritz well,  obody yet said that the exponent must be an integer :-)
17:54 colomon Hurm, I wasn’t thinking of negative numbers.
17:54 moritz *nobody
17:54 Kristien do imaginary integers count? :D
17:54 Kristien m: say 2i
17:54 camelia rakudo-moar d9f58f: OUTPUT«0+2i␤»
17:55 Kristien m: say 2**1i
17:55 camelia rakudo-moar d9f58f: OUTPUT«0.769238901363972+0.638961276313635i␤»
17:55 Kristien m: say 2**-1i
17:55 camelia rakudo-moar d9f58f: OUTPUT«0.769238901363972-0.638961276313635i␤»
17:55 Mouq joined #perl6
17:55 grondilu jeez guys, it was obvious enough that I was talking about integer power of positive integers.
17:56 Kristien m: say 2**(3.1415*1i)
17:56 camelia rakudo-moar d9f58f: OUTPUT«-0.570180489850582+0.821519451378815i␤»
17:56 grondilu I mean, isn't that surprising that the rational number used to display HELLOWORLD has a denominator that happens to be 6**20?
17:57 grondilu thus:  what were the odds?
17:57 colomon grondilu: integer power > 1, I hope, else certainly 1
17:57 grondilu yeah I meant "non-trivial power"
17:58 Kristien it's not 1
17:58 dalek doc: 40cdf2e | moritz++ | lib/Type/Cool.pod:
17:58 dalek doc: [Cool]: document trim{,-leading,-trailing}
17:58 dalek doc: review: https://github.com/perl6/doc/commit/40cdf2eb92
18:00 Kristien ask on http://math.stackexchange.com/
18:00 dalek nqp/js: 7b47345 | hoelzro++ | HACKING:
18:00 dalek nqp/js: Clarify that HACKING is for the JS backend
18:00 dalek nqp/js: review: https://github.com/perl6/nqp/commit/7b47345916
18:00 dalek nqp/js: 3310b55 | hoelzro++ | HACKING:
18:00 dalek nqp/js: Add a tip about implementing ops
18:00 dalek nqp/js: review: https://github.com/perl6/nqp/commit/3310b55419
18:03 Vlavv_ joined #perl6
18:08 moritz 11 projects in the ecosystem use the 'as' trait, 4 of which belong to tadzik++
18:08 dalek doc: e6489e9 | moritz++ | lib/ (2 files):
18:08 dalek doc: Get rid of "as" for coercion
18:08 dalek doc: review: https://github.com/perl6/doc/commit/e6489e93df
18:10 Kristien I prefer the 'ass' trait.
18:10 masak grondilu: in base 36? it's not surprising at all.
18:11 masak it's like saying "ain't it surprising that the number 0.xyzvw has a denominator of 10**5?"
18:12 colomon Kristien: class Malarky is ass
18:13 * colomon is thinking the answer to grondlieu’s question is a probability of 0
18:13 Kristien m: say (0.xyzvw).nude
18:13 camelia rakudo-moar d9f58f: OUTPUT«No such method 'xyzvw' for invocant of type 'Int'␤  in block <unit> at /tmp/3asDP2pAL6:1␤␤»
18:13 Kristien Right, crap
18:13 masak I meant some arbitrary deimals there.
18:14 masak it's true for most such numbers, I think.
18:14 masak m: say 0.12345.nude
18:14 camelia rakudo-moar d9f58f: OUTPUT«2469 20000␤»
18:14 masak m: say 0.12347.nude
18:14 camelia rakudo-moar d9f58f: OUTPUT«12347 100000␤»
18:14 Kristien the denominator can be many things
18:15 Kristien m: say (24694/200000).perl
18:15 camelia rakudo-moar d9f58f: OUTPUT«0.12347␤»
18:15 moritz but for five digits after the comma, it's usually 10**5
18:15 masak right.
18:15 masak my point is I don't really see why grondilu was so surprised.
18:16 Kristien I wish I had a house.
18:21 colomon https://gist.github.com/co​lomon/c03e8202e1604482c955 # for grondilu
18:23 * Kristien follows colomon
18:25 colomon follows colomon where?
18:29 Kristien GitHüb!
18:31 * colomon didn’t know you could do that.
18:32 colomon Kristien++
18:36 Kristien I see Venus, Mars and Jupiter.
18:36 _4d47 joined #perl6
18:36 Kristien Absolutely fascinating.
18:38 masak I don't think you can see Jupiter with the naked eye. can you?
18:39 MadcapJake joined #perl6
18:39 moritz can't you?
18:39 masak I thought not.
18:39 moritz http://hubblesite.org/reference_desk/f​aq/answer.php.id=6&amp;cat=solarsystem says yes
18:39 Kristien I have telescope.
18:39 masak oh!
18:39 masak ok then.
18:40 Kristien Mars is barely visible though.
18:40 FROGGS[mobile] joined #perl6
18:40 Kristien Venus is much brighter.
18:40 Kristien And can be seen with the naked eye very clearly.
18:40 Kristien see http://www.wolframalpha.com/input/?i=sky+chart for directions
18:41 fil__ joined #perl6
18:41 fil__ does perl6 have a notion of typed lists?
18:42 fil__ like Java:  List<Foo>
18:42 moritz fil__: yes, but in practice, it rarely does what you want
18:42 fil__ ok
18:42 Mouq m: my Int @a; @a.push: "foo"
18:42 camelia rakudo-moar d9f58f: OUTPUT«Type check failed in .push; expected 'Int' but got 'Str'␤  in method push at src/gen/m-CORE.setting:9586␤  in block <unit> at /tmp/Wfg5R7i6Q4:1␤␤»
18:42 moritz m: my Int @a; @a[0] = 0; say "alive"; @a[1] = 'not an Int'
18:42 camelia rakudo-moar d9f58f: OUTPUT«alive␤Type check failed in assignment to '@a'; expected 'Int' but got 'Str'␤  in method assign_pos at src/gen/m-CORE.setting:10290␤  in sub postcircumfix:<[ ]> at src/gen/m-CORE.setting:3281␤  in block <unit> at /tmp/QeiCauIp7e:1␤␤»
18:42 moritz but
18:43 moritz m: sub f(Int @a) { say @a.join; }; f [1, 2, 3]
18:43 camelia rakudo-moar d9f58f: OUTPUT«Type check failed in binding @a; expected 'Positional[Int]' but got 'Array'␤  in sub f at /tmp/PuWHpVtdl0:1␤  in block <unit> at /tmp/PuWHpVtdl0:1␤␤»
18:44 Mouq Aw, I kind of thought that's what the pe branch was for
18:44 jnthn Basically, if you're going to use typed arrays, you probably want to consistently use them.
18:45 jnthn Well, mostly the issue is that Array[Int].new(...) is apparently a too verbose way to construct a literal typed array for people :P
18:45 Mouq Could we coerce to typed arrays? :P sub f(Int(Any) @a)
18:45 masak I think it's just that people have high and sometimes contradictory expectations about typed arrays.
18:46 Mouq m: sub f(Int @a) { say @a.join; }; f Array[Int].new(1, 2, 3)
18:46 camelia rakudo-moar d9f58f: OUTPUT«123␤»
18:46 jnthn Mouq: That's awkward in so far as what exactly are we coercing there?
18:46 Mouq m: sub f(Int @a) { say @a.join; }; f(my Int @ = 1, 2, 3)
18:46 camelia rakudo-moar d9f58f: OUTPUT«123␤»
18:46 Mouq jnthn: Right
18:51 Mouq m: sub f(@nota, Int @a = Array[Int].new(|@nota)) { say @a.join; }; f [1, 2, 3] # :P
18:51 camelia rakudo-moar d9f58f: OUTPUT«123␤»
18:51 rurban__ joined #perl6
18:51 fil__ is there a way i can call a private method from a test?
18:52 fil__ I'm getting the error "Private method call to setTextNode must be fully qualified with the package containing the method"
18:52 fil__ but I can't figure out the syntax to fully qualify it
18:52 jnthn .PackageName::methodname, but for that to work your class must declare it trusts your tests.
18:52 moritz self!TheType::setTextNode
18:53 Kristien C++ calls that friendship.
18:53 jnthn In other words, no, there's not a good way, which is fine 'cus it's a really bad idea.
18:53 jnthn "Oh no I can't refactor my private stuff without breaking the tests!" D'oh.
18:53 Kristien I like the Python way of privatising.
18:53 fil__ Cannot call private method 'setTextNode' on package QFXManager because it does not trust GLOBAL
18:54 fil__ I guess I need to somehow put my test in the same package?
18:54 fil__ Does perl6 have a package statement?
18:54 jnthn package :)
18:55 Kristien I can't wait
18:56 fil__ oops
18:56 fil__ http://modules.perl6.org/ is broken
18:57 Kristien It works fine; there just aren't any Perl 6 modules!
18:59 jnthn http://modules.perl6.org/proto.json is also empty
19:01 fil__ this doesn't look right: Cannot call private method 'setTextNode' on package QFXManager because it does not trust QFXManager
19:01 Peter_R it was working last night when I looked
19:01 fil__ shouldn't packages trust themselves?
19:07 Mouq m: class FooTester {...}; class Foo { trusts FooTester; method !priv { "foo" } }; module FooTester { use Test; is Foo.new!Foo::priv(), "foo" }
19:07 camelia rakudo-moar d9f58f: OUTPUT«ok 1 - ␤»
19:07 Mouq ^^ Not sure how you have your code set up, fil__ , but if you are going to test private methods, you might consider something like that
19:08 jnthn Mouq: Do you need the stub first for it to work, ooc?
19:08 jnthn Oh wait
19:08 jnthn I mis-read
19:08 Mouq jnthn: Without stub: "Cannot call private method 'priv' on package Foo because it does not trust FooTester"
19:08 jnthn Probably better to stub it as module FooTester...
19:08 Mouq I'm surprised it parses in the first place
19:08 Mouq jnthn: Oh, yeah
19:09 moritz m: class P { method !priv { say 42 } }; my $m = P.^private_method_table<priv>; say P.new.$m()
19:09 camelia rakudo-moar d9f58f: OUTPUT«42␤True␤»
19:09 moritz the MOP lets you cheat :-)
19:09 jnthn That also
19:09 Kristien I like how in D private means file-private.
19:09 moritz and it's even documented: http://doc.perl6.org/routine/private_method_table
19:09 _mg_ joined #perl6
19:10 jnthn I'm fine with it being awkward, though. "Don't write tests that depend on private stuff" is one of the things I tell folks multiple times when I'm teaching testing stuff.
19:10 moritz +1
19:10 moritz you should test against interfaces
19:11 Kristien I disagree.
19:11 moritz and if the interface is harder to test than the private method, maybe your interface isn't so great?
19:11 Kristien Implementation details should definitely be testable.
19:11 Kristien in isolation
19:12 diana_olhovik_ joined #perl6
19:16 Mouq Kristien: If you're depending on an implementation detail for something, is it really an implementation detail?
19:16 vendethiel Just Write More Factories *g*
19:16 Kristien Yes.
19:16 Kristien An implementation detail without dependencies can be deleted since it's dead code.
19:17 Mouq Kristien: Not what I meant :P
19:17 Mouq *"depending on the details of"? something like that
19:22 moritz m: sub f(Str(Any) $x) {}; &f.signature.params[0].type.^perl
19:22 camelia rakudo-moar d9f58f: OUTPUT«Cannot call 'perl'; none of these signatures match:␤:(Mu:U $: *%_)␤:(Mu:D $: *%_)␤  in block <unit> at /tmp/GrxjdJWZrM:1␤␤»
19:22 moritz m: sub f(Str(Any) $x) {}; &f.signature.params[0].type.perl
19:22 camelia rakudo-moar d9f58f: ( no output )
19:23 moritz m: sub f(Str(Any) $x) {}; say &f.signature.params[0].type.perl
19:23 camelia rakudo-moar d9f58f: OUTPUT«Any␤»
19:23 moritz m: sub f(Str(Any) $x) {}; say &f.signature.params[0].type.^name
19:23 camelia rakudo-moar d9f58f: OUTPUT«Any␤»
19:23 moritz jnthn: can I get the coercion type for introspection somehow?
19:24 jnthn moritz: Um...it's certainly stored in the Parameter object
19:24 moritz has Mu $!coerce_type
19:24 jnthn moritz: It's possible we're missing an introspecty method
19:24 jnthn That one
19:25 moritz from the "coercion types are first class" I would have expected that to be handled by the type
19:28 jnthn *nod*
19:28 Hor|zon joined #perl6
19:28 jnthn Well, can implement the type introspection thingy to assemble the coercion type
19:33 beastd joined #perl6
19:43 fil__ i need to compare 2 strings ignoring whitespace
19:44 fil__ is there a way to do that, or do I need to strip out the whitespace before comparing?
19:44 moritz the latter
19:44 moritz unless you want to write a custom comparison routine
19:46 adu joined #perl6
19:47 rurban joined #perl6
19:50 awwaiid nice press lately
20:04 flussence https://github.com/voat/voat oh look someone made a reddit spinoff board in AN EVEN WORSE LANGUAGE
20:04 flussence whoops, ww
20:05 flussence .oO( happens to everyone at some point... )
20:05 Kristien what's the difference between --> and returns?
20:06 flussence Kristien: mostly a style thing
20:06 Kristien OK.
20:06 flussence those used to behave differently at one point, but it was a bug
20:07 flussence not-ww question - do I *need* Pod::To::Text to print the contents of a pod block as it appears in source?
20:07 masak Kristien: they hook on different things. `-->` goes on a signature (which may or may not be attached onto a routine); `returns` goes directly on a routine.
20:10 flussence masak: does that mean one-or-the-other works on pointy blocks?
20:11 _mg_ joined #perl6
20:11 flussence (there's so much I know I don't know about this part of the language...)
20:12 telex joined #perl6
20:15 kaare_ joined #perl6
20:15 flussence oh, none of the combinations I tried would parse, so I guess not. «-> -->» looks too weird anyway...
20:15 masak m: my &b = -> $x --> Int { 42 }; say b(5)
20:15 camelia rakudo-moar d9f58f: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/XnlybdlHmu�Missing block�at /tmp/XnlybdlHmu:1�------> [32mmy &b = -> $x --> Int [33m�[31m{ 42 }; say b(5)[0m�»
20:15 masak I think it's only subs.
20:15 masak er, routines.
20:23 Mouq m: my Int &b = -> $x { 42 }; say b(5)
20:23 camelia rakudo-moar d9f58f: OUTPUT«Type check failed in assignment to '&b'; expected 'Callable[Int]' but got 'Block'␤  in block <unit> at /tmp/Z0TW_57Oyw:1␤␤»
20:24 Mouq m: my Int b ($x) { 42 }; say b(5)
20:24 camelia rakudo-moar d9f58f: OUTPUT«[31m===[0mSORRY![31m===[0m�Type 'Int' is not declared. Did you mean 'int'?�at /tmp/ALdrLrewc0:1�------> [32mmy Int [33m�[31mb ($x) { 42 }; say b(5)[0m�Malformed my�at /tmp/ALdrLrewc0:1�------> [32mmy Int [33m�[31mb ($x) { 42 }; s…»
20:24 Mouq m: my Int sub b ($x) { 42 }; say b(5)
20:24 camelia rakudo-moar d9f58f: OUTPUT«42␤»
20:24 flussence that error message is a bit LTA...
20:27 moritz I think it's some backtracking or so that causes it
20:27 nine_ Is there some special variable that contains the extension for shared objects like .so, .dllib or .dll?
20:28 * flussence notices that Pod::To::Text is part of the base rakudo install, and so stops complaining about needing it
20:34 masak huh. pmichaud solicited comments four days ago on #parrot. http://irclog.perlgeek.de/parrot/2015-02-04
20:34 masak not a single comment since then.
20:34 masak no email about it on parrot-dev.
20:34 dalek Inline-Perl5: 2fa40a1 | (Stefan Seifert)++ | lib/Inline/Perl5.pm6:
20:34 dalek Inline-Perl5: Replace hard coded .so extension with what LibraryMake does
20:34 dalek Inline-Perl5:
20:34 dalek Inline-Perl5: May fix GH 11
20:34 dalek Inline-Perl5: review: https://github.com/niner/Inl​ine-Perl5/commit/2fa40a1470
20:35 masak I know Parrot activity has decreased a great deal, but I didn't expect there to be no reaction.
20:35 nine_ Apparently there is....sort of.
20:36 masak I guess that makes the decision easier, though.
20:37 flussence maybe they had no objections...?
20:37 masak or that.
20:37 masak though this is not a subject I'd expect to be Warnocked.
20:37 masak it's pretty central to Parrot's mission.
20:37 flussence oh wait, there was one on the gist page itself
20:37 masak oh! missed that.
20:37 FROGGS masak: scrollback to yesterday in this channel
20:38 FROGGS or let me do that...
20:38 masak "...to kill parrot" -- huh?
20:38 moritz well, rakudo is parrot's only active customer
20:39 moritz if we stop supporting parrot, parrot will be dead.
20:39 moritz ... again that claim for parrot thread superiority without any evidence to back it up. Sigh.
20:40 masak there can be no evidence because it doesn't work in Perl 6, IIUC.
20:40 masak which is a shame if Rakudo is Parrot's only active customer.
20:40 flussence I'm not sure what "better project management support" is supposed to mean...
20:40 FROGGS masak: http://irclog.perlgeek.de/p​erl6/2015-02-07#i_10075539
20:40 crux joined #perl6
20:40 nine_ Too bad that I didn't have the slightest idea of how Perl 6 was implemented on top of parrot :/ Maybe I could have made it work.
20:40 masak flussence: it's much easier to manage a project of one contributor.
20:41 masak FROGGS: oh! more feedback.
20:41 * masak reads
20:45 moritz but ending parrot support is more like switching of life support systems than killing it
20:47 dolmen joined #perl6
20:47 masak but for rurban, that seems to have already happened.
20:50 moritz FROGGS: I still don't see how lagging parrot support would work practically
20:50 moritz FROGGS: we disable parrot support in Configure.pl, otherwise leave the code in, and let it rot?
20:50 fil__ is there a nicer way to write this:   $writer.Str().subst(/\s/, '', :g);
20:51 fil__ the .Str() feels messy...
20:51 flussence you don't need the ()...
20:51 moritz $writer.comb(/\S+/).join
20:51 fil__ moritz that's clever but a bit obfuscated
20:52 fil__ are () after methods always optional?
20:52 FROGGS moritz: we disable parrot support in rakudo, but we can leave nqp untouched, is all
20:52 FROGGS fil_: after subs yes, after methods no
20:52 moritz fil__: I don't think it's obfuscate. It just takes the "what do we want?" road instead of "what do we throw away?"
20:52 moritz fil__: you only need () for method calls with arguments
20:53 fil__ new() a method, and I just checked () are optional...
20:53 FROGGS fil_: as long as you dont pass arguments, yes
20:53 mst ruby.method args, go, here; #argh
20:54 FROGGS well, all boils down to TTIAR :o)
20:54 FROGGS the question is just what to allow
20:55 flussence you can either write «subname $arg1, $arg2» or «$obj.meth: $arg1, $arg2». It's the $obj that requires punctuation in the middle there.
20:56 flussence std: my (&foo, $bar); &foo $bar;
20:56 camelia std f9b7f55: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Two terms in a row at /tmp/PvvsimNr3a line 1:â�¤------> [32mmy (&foo, $bar); &foo [33mâ��[31m$bar;[0mâ�¤    expecting any of:â�¤ feed_separatorâ�¤ infix or meta-infixâ�¤    infixed functionâ�¤       statement modifier loopâ�¤Parse fail…»
20:56 Mouq std: my (&foo, $bar); foo $bar;
20:56 camelia std f9b7f55: OUTPUT«ok 00:00 140m␤»
20:56 flussence std: class Foo { }; my $bar; Foo.new $bar;
20:56 camelia std f9b7f55: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Two terms in a row (method call with args requires colon or parens without whitespace) at /tmp/YnFuoNc4WW line 1:â�¤------> [32mclass Foo { }; my $bar; Foo.new[33mâ��[31m $bar;[0mâ�¤    expecting any of:â�¤   feed_separatorâ�¤ i…»
20:57 FROGGS colon needed
20:57 FROGGS (or parens)
20:57 flussence the difference between that and a sub is Foo.new can be used as a value on its own, to do that with a sub you need the "&".
20:57 FROGGS but, std is so nice and already said that
20:57 Kristien paamayim nekudotayim needed
20:58 FROGGS flussence: but &foo is not foo()
20:58 flussence FROGGS: I'm trying to explain the TTIAR to fil__ :)
21:04 flussence m: my $bar; $bar
21:04 camelia rakudo-moar d9f58f: ( no output )
21:04 flussence m: my $bar; $bar; Nil
21:04 camelia rakudo-moar d9f58f: OUTPUT«WARNINGS:␤Useless use of variable $bar in sink context (line 1)␤»
21:04 flussence m: my &bar; &bar; Nil
21:04 camelia rakudo-moar d9f58f: ( no output )
21:04 flussence shouldn't that warn for & too?
21:04 FROGGS I guess so, since it is not a call
21:05 skids https://gist.github.com/skids/aabd2aad3d0b5ad8481b # I don't have a blog so...
21:05 FROGGS flussence: you'd have to add the & sigil here: https://github.com/rakudo/rakudo/blo​b/nom/src/Perl6/Optimizer.nqp#L1525
21:06 flussence hmm... maybe there's a good reason it names all but & there.
21:10 fhelmberger joined #perl6
21:11 b2gills skids: you could create an account on blogs.perl.org
21:11 skids b2gills: thanks perhaps I will.
21:13 * jnthn drops skids++ gist into a browser tab, to read later when he's not busy debugging stuff :)
21:14 wicope joined #perl6
21:17 Hor|zon joined #perl6
21:17 b2gills blogs.perl.org is LTA though
21:19 Peter_R joined #perl6
21:21 dalek nqp/native-ref: 682dcdd | jnthn++ | src/vm/moar/QAST/QASTCompilerMAST.nqp:
21:21 dalek nqp/native-ref: First stab at lexicalref scope handling.
21:21 dalek nqp/native-ref:
21:21 dalek nqp/native-ref: We make the QAST code-gen aware of references to lexical variables, so
21:21 dalek nqp/native-ref: it can emit appropriate instructions for accessing by reference or by
21:21 dalek nqp/native-ref: value when needed. There's various optimizations to come; this tries
21:21 dalek nqp/native-ref: to fill out the bits needed for things to have a chance of working.
21:21 dalek nqp/native-ref: review: https://github.com/perl6/nqp/commit/682dcdde0d
21:30 pmqs joined #perl6
21:33 awwaiid in my p5 proggie I have a hash that has regex keys and string values to indicate file type (well, what to run), such as: my $map = { qr/\.ogg$/ => 'ogg123', qr/\.mp3$/ => 'mpg123' }
21:34 masak well, regexes feel like they ought to be hashable. but I'm not sure they are in Rakudo presently.
21:34 awwaiid I tried to do that in perl6, but it is apparently stringifying my regexes. Any advice on how to do this?
21:34 masak currently*
21:34 Mouq :{}
21:34 awwaiid ya
21:35 skids Or a grammar :-)
21:35 Mouq m: my $map = :{ /\.ogg$/ => 'ogg123' }; say $map.keys[0].WHAT
21:35 camelia rakudo-moar d9f58f: OUTPUT«(Regex)␤»
21:35 awwaiid what is this :p{ of which you speak?
21:35 awwaiid er, :{}
21:35 Mouq (Only works in recent Rakudos
21:35 Mouq )
21:35 Mouq Object hash literal
21:35 jnthn awwaiid: Object hash literal
21:35 jnthn hah :)
21:35 Mouq :)
21:36 alini joined #perl6
21:36 masak awwaiid: Object hash literal
21:36 Mouq m: my %map{Any}; %map = /\ogg$/ => 'ogg123', /\.mp3$/ => 'mpg123'; say %map.keys[0].WHAT # Alternative
21:36 camelia rakudo-moar d9f58f: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/axgDaRYUJ6â�¤Unrecognized backslash sequence: '\o'â�¤at /tmp/axgDaRYUJ6:1â�¤------> [32mmy %map{Any}; %map = /\[33mâ��[31mogg$/ => 'ogg123', /\.mp3$/ => 'mpg123';[0mâ�¤    expecting any of:â�¤  â€¦Â»
21:37 Mouq Er
21:37 masak but that won't really do it here if two distinct /foo/ key differently.
21:37 Mouq m: my %map{Regex}; %map = /\.ogg$/ => 'ogg123', /\.mp3$/ => 'mpg123'; say %map.keys[0].WHAT # Alternative
21:37 camelia rakudo-moar d9f58f: OUTPUT«(Regex)␤»
21:37 awwaiid hmm. So that's forcing %map to have Any for keys?
21:38 awwaiid er, Regexp
21:38 skids Well, regex but you could do Any.
21:38 Mouq masak: Hm. Yeah, it depends on what you're doing
21:38 awwaiid interesting
21:39 Mouq m: my %map{Regex}; %map = /\.ogg$/ => 'ogg123', /\.mp3$/ => 'mpg123'; say %map{/\.ogg$/}
21:39 camelia rakudo-moar d9f58f: OUTPUT«(Any)␤»
21:39 Mouq m: my %map{Regex}; %map = (my $og = /\.ogg$/) => 'ogg123', /\.mp3$/ => 'mpg123'; say %map{$og}
21:39 camelia rakudo-moar d9f58f: OUTPUT«ogg123␤»
21:40 jnthn Regex ain't a value type :)
21:40 masak jnthn: why not?
21:40 jnthn masak: No Code type is
21:41 jnthn masak: Ends up as the halting problem, no?
21:41 awwaiid m: my $x = rx/foo/ ; say $x.WHAT # looks like a value to me :)
21:41 camelia rakudo-moar d9f58f: OUTPUT«(Regex)␤»
21:42 Mouq m: say "abcd" === "abcd" # value type
21:42 camelia rakudo-moar d9f58f: OUTPUT«True␤»
21:42 Mouq m: say {"abcd"} === {"abcd"}
21:42 camelia rakudo-moar d9f58f: OUTPUT«False␤»
21:42 awwaiid ah. for some definition of value then.
21:42 jnthn awwaiid: Why're you doing a hash with regex keys, ooc? Are you actually looking up in the hash by the regex, or just using the hash to pair together the two?
21:43 jnthn I thought Perl 5 hashes had string keys (by default?) also?
21:43 awwaiid looks like I loop over the keys, do a comparison against a file, and then look up the value based on the current key, and then do some stuff depending on the value
21:43 geekosaur perl 5 hashes can only have string keys
21:44 awwaiid well it works in perl5 with my $map = { qr/.../ => "asdf" } just fine
21:44 awwaiid well maybe it's all a lie. The line that does the match is: my ($type) = grep { $song =~ /$_/ } keys %$map;
21:44 awwaiid (where $_ is the filename)
21:45 geekosaur qr in perl5 stringifies to the string representation of a regex, which can be substituted in and will be recompiled to a regex
21:45 jnthn Ah, yeah, so Perl 5 is stringifying it and...what geekosaur said
21:45 awwaiid right. so it is pretending to work. which is indistinguisable from working in this case.
21:45 awwaiid so I guess I could just do the same, use string keys
21:45 jnthn I'd do an object hash in Perl 6, and then $song ~~ $_
21:46 jnthn Well, I'd probably actually just have an array of Pair objects, really... :)
21:46 awwaiid and then grab them two at a time, eh? yeah I could do that
21:46 jnthn No, in Perl 6 you actually have Pair objects
21:47 jnthn m: say (/abc/ => '123').WHAT
21:47 camelia rakudo-moar d9f58f: OUTPUT«(Pair)␤»
21:47 awwaiid oh. hmm
21:47 jnthn m: my @a = /a/ => 'a', /b/ => 'b'; @a.grep({ 'lad' ~~ .key }).perl.say
21:48 camelia rakudo-moar d9f58f: OUTPUT«No such method 'key' for invocant of type 'Str'␤  in block <unit> at /tmp/jIgr0pI3nM:1␤␤»
21:48 jnthn oh? :)
21:48 jnthn m: my @a = /a/ => 'a', /b/ => 'b'; say @a.perl
21:48 camelia rakudo-moar d9f58f: OUTPUT«Array.new(regex ($: *%_) { #`(Regex|40823264) ... } => "a", regex ($: *%_) { #`(Regex|40823440) ... } => "b")␤»
21:48 jnthn m: my @a = /a/ => 'a', /b/ => 'b'; @a.grep({ say .WHAT })
21:48 camelia rakudo-moar d9f58f: OUTPUT«(Pair)␤(Pair)␤»
21:49 jnthn m: my @a = /a/ => 'a', /b/ => 'b'; @a.grep({ say .key })
21:49 camelia rakudo-moar d9f58f: OUTPUT«␤␤»
21:49 jnthn m: my @a = /a/ => 'a', /b/ => 'b'; @a.grep({ .key.match('lad') }).perl.say
21:49 camelia rakudo-moar d9f58f: OUTPUT«No such method 'match' for invocant of type 'Regex'␤  in block <unit> at /tmp/HmWEgDpg4e:1␤␤»
21:49 jnthn bah
21:49 jnthn m: my @a = /a/ => 'a', /b/ => 'b'; @a.grep({ 'lad'.match(.key) }).perl.say
21:49 camelia rakudo-moar d9f58f: OUTPUT«(regex ($: *%_) { #`(Regex|48524000) ... } => "a",).list␤»
21:49 jnthn There we go
21:50 awwaiid nice
21:50 awwaiid gracias!
21:50 jnthn And >>.value if you want a list of just the values of what matches
21:51 awwaiid Pair has .key and .value rather than .first and .second or .head .tail?
21:51 awwaiid Pair.^methods tells me so, actually
21:51 Kristien m: Pair.^methods.say
21:52 camelia rakudo-moar d9f58f: OUTPUT«key value ACCEPTS new BUILD key value fmt FLATTENABLE_LIST FLATTENABLE_HASH of ACCEPTS keys kv values pairs invert Str gist perl at_key exists_key␤»
21:52 Kristien m: Pair.new(1, 2)[0].say
21:52 camelia rakudo-moar d9f58f: OUTPUT«Too many positionals passed; expected 1 argument but got 3␤  in method new at src/gen/m-CORE.setting:10510␤  in block <unit> at /tmp/hS2noJuOI1:1␤␤»
21:52 Kristien m: (1 => 2)[0].say
21:52 camelia rakudo-moar d9f58f: OUTPUT«1 => 2␤»
21:52 Kristien lol
21:52 skids Pair is considered an Associative.
21:52 Kristien m: (1 => 2).list[0].say
21:52 camelia rakudo-moar d9f58f: OUTPUT«1 => 2␤»
21:53 Mouq You want .kv
21:53 Kristien cooooooooooooooooooooooooooooooooooool
21:53 Mouq m: (1 => 2).kv[0].say
21:53 camelia rakudo-moar d9f58f: OUTPUT«1␤»
21:53 Kristien I get the impression that Perl 5 is much simpler than Perl 6 is.
21:54 Kristien Perl 6 seems to have myriads of similar but slightly different things.
21:54 TimToady in some spots
21:55 TimToady arguably parameter passing is too simple
21:55 awwaiid Kristien: I think perl6 has a lot of shiney edge-cases to explore, but that with more day-to-day usage the core concepts will be solidified into consistent concepts
21:56 awwaiid (solidified in the minds of users; no statement meant as to the state of the concepts in the language :) )
22:00 FROGGS[mobile] joined #perl6
22:00 Mouq Kristien: It's kind of more like, "You *can* use this tool for that job, but here's a tool that'll work better"
22:00 Mouq IMO
22:00 Kristien yeah, but you have to know about all of them and how they behave differently
22:01 skids "There's arguably a best way to do it"?
22:01 Mouq Maybe "better" was the wrong wording :9
22:01 masak p5 has a simpler core for sure. but so does bf, and I get more out of p6 than either bf pr p5.
22:02 Mouq https://en.wikipedia.org/wiki/Iota_and_Jot
22:03 dalek roast: 5c22e22 | usev6++ | S14-roles/mixin.t:
22:03 dalek roast: Remove outdated comment
22:03 dalek roast: review: https://github.com/perl6/roast/commit/5c22e22a5d
22:03 dalek roast: 62633d4 | usev6++ | S14-roles/stubs.t:
22:03 dalek roast: Add test for RT #119643
22:03 dalek roast: review: https://github.com/perl6/roast/commit/62633d4987
22:03 synopsebot Link: https://rt.perl.org/rt3//Publ​ic/Bug/Display.html?id=119643
22:04 Kristien Mouq: fascinating
22:04 FROGGS_ joined #perl6
22:11 FernandoBasso joined #perl6
22:13 araujo joined #perl6
22:13 araujo joined #perl6
22:14 dalek rakudo-star-daily: b57c0be | coke++ | log/ (14 files):
22:15 dalek rakudo-star-daily: today (automated commit)
22:15 dalek rakudo-star-daily: review: https://github.com/coke/rakudo​-star-daily/commit/b57c0be99c
22:15 dalek rakudo-star-daily: 5af8392 | coke++ | log/ (14 files):
22:15 dalek rakudo-star-daily: today (automated commit)
22:15 dalek rakudo-star-daily: review: https://github.com/coke/rakudo​-star-daily/commit/5af83924ef
22:15 dalek perl6-roast-data: 09a10d7 | coke++ | / (5 files):
22:15 dalek perl6-roast-data: today (automated commit)
22:15 dalek perl6-roast-data: review: https://github.com/coke/perl6​-roast-data/commit/09a10d7cf0
22:15 dalek perl6-roast-data: 195382f | coke++ | / (5 files):
22:15 dalek perl6-roast-data: today (automated commit)
22:15 dalek perl6-roast-data: review: https://github.com/coke/perl6​-roast-data/commit/195382ffee
22:31 Mouq Heh. Oops. I'm guessing a patch that makes setting compilation take > 10 minutes isn't going to be accepted? :P
22:31 masak o.O
22:32 Kristien time to sleep
22:32 Kristien bye!
22:32 skids o/
22:36 masak FROGGS_, bartolin: re http://irclog.perlgeek.de/p​erl6/2015-02-07#i_10075774 -- here's my current stance: I would still be sad to see RT go, because I consider it to be not just "good enough" but pretty optimal for all my use cases with bugs. I say this as someone who uses both RT and GH issues extensively.
22:37 masak that said, I wouldn't like to be the single person going against everyone else if everyone else wants to move.
22:37 FROGGS_ masak: it is not that I have a strong feeling to move, I just think it would be nice
22:37 masak it's just... I have some weird kind of organic-digital connection with RT.
22:37 FROGGS_ to, for example, have milestones et
22:37 FROGGS_ etc*
22:38 masak like it's attached to my arm or something.
22:38 FROGGS_ hehe
22:38 masak I cannot guarantee I'll be as prolific in submitting rakudobugs on GH issues... :/
22:38 * Mouq doesn't quite like he can't add new tags to RT
22:38 FROGGS_ you should call yourself maRTak... would even sound like a good klingon name
22:38 geekosaur GHI seems underpowered to me
22:39 FROGGS_ geekosaur: please explain
22:39 geekosaur Mouq, that's a permissions issue really
22:40 geekosaur so I help out with another project that was on bugzilla until they were forced to move to something else (by an admin oops). they're still trying to get the same functionality out of GHI
22:40 geekosaur a current sticking point is that some levels of GHI access are tied to commit access
22:41 FROGGS_ ohh, fair point
22:41 [Coke] Following p5's lead in RT handling, created https://rt.perl.org/Ticket/Display.html?id=123766 for 2015 RC
22:41 FROGGS_ [Coke]++ # seen it a minute ago
22:42 geekosaur Mouq: it might be an argument for getting a different RT instance which either is adminned by p6 folks or gives sufficient access to some p6 folks to define new tags
22:42 masak Gmail claims I've submitted 1753 rakudobugs.
22:42 rurban joined #perl6
22:42 Mouq masak++
22:42 [Coke] again, I am not a fan of RT, but switching is a HUGE undertaking, and it is not worth it.
22:42 masak it's an approximate number, but probably not that far off.
22:42 geekosaur RT itself certainly allows it; yours is a political issue
22:43 masak what [Coke] said.
22:43 * geekosaur is not using the rt instance and at last check didn't even have access *or* particular reason to get it, so is simply contributing anecdata
22:44 FROGGS_ okay, I'd vote for one reason not to move away from RT: often newcomers start by poking RT tickets to learn more about the guts... if this happened in the rakudo repo, they'd probably need to sign the CLA just for that
22:44 Mouq geekosaur: It'd be nice to have tags like "Pod", "LTA Error", "Q Lang", "Macros", etc
22:44 FROGGS_ which would be a stolperstein for sure
22:45 Mouq "LHF"
22:45 geekosaur Mouq: sure. $employer does that kind of thing with their RT instance. problem is p6 folks don't run the RT instance and are not delegated sufficient access
22:47 geekosaur (I can't add new tags to our RT instance either, I have to file an internal IT ticket requesting that they do it. not because RT itself can't but because I am not granted permission by IT(
22:48 18VAB6UUV joined #perl6
22:48 geekosaur (in fact I was just involved with addition of some new custom fields to our instance, 3-way between me, $boss, and IT mostly negotiating political issues)
22:48 [Coke] the perl rt bugadmins are very responsive when I ask for things.
22:53 masak we should have this conversation now and then, just so we realize what it is we want of RT ;)
23:03 geekosaur btw it;s fine to look at bugs in GHI without commit access; IIRC it's owning them that requires it. but not all their issues are related to the source code and so they need issue owners who aren't committers
23:04 geekosaur there may be other similar issues that they wouldn't run into but rakudo might, since different projects with different needs
23:06 Hor|zon joined #perl6
23:14 masak 'night, #perl6
23:14 FROGGS_ gnight masak
23:19 virtualsue joined #perl6
23:29 adu joined #perl6
23:35 dalek rakudo/nom: af1c187 | Mouq++ | src/Perl6/ (2 files):
23:35 dalek rakudo/nom: Enable, e.g., "my \term:<∞> = Inf; say ∞"
23:35 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/af1c187039
23:36 timotimo can somebody (with windows) try to reproduce the error in Base64 here? https://gist.github.com/VSCh​awathe/a79a95d58b8bf842c1e9
23:41 timotimo i wonder where in the core setting would "val" be well-placed?
23:42 timotimo and does it sound sane to have any q:val be interpreted by a lexically in-scope "val" sub?
23:43 flussence the test file there that's failing uses a heredoc to compare against something with "\n" in its output - afaik \n is magical depending on where it's run, but q"" would be a literal unix newline. That's probably causing it.
23:44 timotimo mhm
23:51 flussence otoh, I'm looking through S%02d.pod and can't find any mentions of OS-specifics here, only that \n means "LINE FEED".
23:52 timotimo right
23:55 flussence .oO( thankfully nobody's trying to port perl6 to old mac os... )
23:56 adu joined #perl6
23:56 awwaiid Any existing way to start a REPL in the middle of the program, like ruby's binding.pry?
23:57 flussence nope, the repl in rakudo is a low-level thing :(
23:57 TimToady std: my &b = -> $x --> Int { 42 }; say b(5)
23:57 camelia std f9b7f55: OUTPUT«Potential difficulties:â�¤  $x is declared but not used at /tmp/4Sdywo4wBK line 1:â�¤------> [32mmy &b = -> [33mâ��[31m$x --> Int { 42 }; say b(5)[0mâ�¤ok 00:01 144mâ�¤Â»
23:57 TimToady std is fine with --> in a ->
23:57 rurban joined #perl6
23:58 awwaiid How about a debugger API?
23:58 TimToady std: my &b = -> --> Int { 42 }; say b()
23:58 camelia std f9b7f55: OUTPUT«ok 00:01 144m␤»
23:58 TimToady so I call rakudobug on that
23:58 timotimo awwaiid: the Rakudo Debugger relies on compiling a piece of code with slightly different code

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

Perl 6 | Reference Documentation | Rakudo