Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2015-09-02

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:04 prevost joined #perl6
00:08 woolfy joined #perl6
00:09 woolfy dha: "20:06 dha Ok, I'm going to assume that, given the silence on the topic,...": quite some people are now at the social meeting & pre-conf dinner in Granada, APC Europe.  It's busy there.
00:09 woolfy dha: plus, others are working on bringing the post-GLR-problem-solving-results back to the main branch.
00:11 woolfy dha: plus, quite a lot of people like to hack but are afraid of doing the docs and are just very happy that you will do anything on the docs, and since your proposals sound very useful I think the main thought is "ow, dha is going the stuff I should have done, cool, that gets me off the hook"
00:11 woolfy dha: so thanks, and accept the dha++
00:15 mst he's not online
00:15 mst he generally isn't except when directly connected, sadly
00:18 skids joined #perl6
00:18 cbk1090 joined #perl6
00:21 cbk1090 Is this the correct form to test if a key is fond in a hash?  if %list{ $keySearch }: exists {...}
00:21 cbk1090 because I get this error when I do it: Odd number of elements found where hash initializer expected
00:22 ugexe m: my %h; %h<b> = 1; say %h<a>:exists; say %h<b>:exists
00:22 camelia rakudo-moar d8ef5e: OUTPUT«False␤True␤»
00:22 GLRelia rakudo-moar 57b7eb: OUTPUT«False␤True␤»
00:23 cbk1090 ugexe, ok I'll try that
00:24 ugexe m: my %h; %h<b> = 1; without %h<b> { say "doesnt exist" }; with %h<b> { say "exists"; };
00:24 camelia rakudo-moar d8ef5e: OUTPUT«exists␤»
00:24 GLRelia rakudo-moar 57b7eb: OUTPUT«exists␤»
00:25 ugexe m: my %h; %h<b> = 1; without %h<a> { say "doesnt exist" }; with %h<a> { say "exists"; };
00:25 camelia rakudo-moar d8ef5e: OUTPUT«doesnt exist␤»
00:25 GLRelia rakudo-moar 57b7eb: OUTPUT«doesnt exist␤»
00:25 ugexe that will still get you on the string '' though
00:26 woolfy mst, thanks, I will re-write this to him when he gets back online and I see him.
00:27 mst woolfy: best way, yeah
00:29 ugexe colomon: if you send the string '' instead of Nil/null for build-output it won't give worthless results on testers.perl6.org (saying N/A instead of FAIL for modules that fail)
00:30 grondilu joined #perl6
00:30 grondilu Hello
00:30 grondilu m: class A { has @.x }; my @x; @x[2] = 1; say A.new(:@x).x;  # this works
00:30 camelia rakudo-moar d8ef5e: OUTPUT«(Any) (Any) 1␤»
00:30 GLRelia rakudo-moar 57b7eb: OUTPUT«[(Any) (Any) 1]␤»
00:31 grondilu m: class A { has Real @.x }; my @x; @x[2] = 1; say A.new(:@x).x;  # this doesn't work and I'm not sure it's OK
00:31 camelia rakudo-moar d8ef5e: OUTPUT«Type check failed in assignment to '@!x'; expected 'Real' but got 'Any'␤  in block <unit> at /tmp/IOAgZ2gsU3:1␤␤»
00:31 GLRelia rakudo-moar 57b7eb: OUTPUT«Type check failed in assignment to '@!x'; expected 'Real' but got 'Any'␤  in block <unit> at /tmp/1UmhK3veCV:1␤␤»
00:31 grondilu I can golf it more maybe
00:32 grondilu m: class A { has Real $.x }; say A.new(:x(my $)).x;
00:32 camelia rakudo-moar d8ef5e: OUTPUT«Type check failed in assignment to '$!x'; expected 'Real' but got 'Any'␤  in block <unit> at /tmp/U3_uN_J7hE:1␤␤»
00:32 GLRelia rakudo-moar 57b7eb: OUTPUT«Type check failed in assignment to '$!x'; expected 'Real' but got 'Any'␤  in block <unit> at /tmp/ECUtPJARlw:1␤␤»
00:32 grondilu m: class A { has Real $.x }; say A.new(:x(my Real $)).x;
00:32 camelia rakudo-moar d8ef5e: OUTPUT«(Real)␤»
00:32 GLRelia rakudo-moar 57b7eb: OUTPUT«(Real)␤»
00:33 grondilu m: my Real $ = my $;
00:33 camelia rakudo-moar d8ef5e: OUTPUT«Type check failed in assignment to '$'; expected 'Real' but got 'Any'␤  in block <unit> at /tmp/Pt1e_FGr3b:1␤␤»
00:33 GLRelia rakudo-moar 57b7eb: OUTPUT«Type check failed in assignment to '$'; expected 'Real' but got 'Any'␤  in block <unit> at /tmp/8liVZA1Uqs:1␤␤»
00:33 grondilu this last one makes it look a bit more sensible
00:33 woolfy masak: lizmat and I are in Hotel Granada Center, and I've been drinking the water without any ill effects.
00:34 mst tastes fine to me too
00:34 mst but, uh, I'm generally impervious
00:37 grondilu on the other hand :
00:37 dalek joined #perl6
00:37 grondilu m: class A { has Real @.x }; my Real @x; @x[2] = 1; say A.new(:@x).x;
00:37 camelia rakudo-moar d8ef5e: OUTPUT«Type check failed in assignment to '@!x'; expected 'Real' but got 'Any'␤  in block <unit> at /tmp/gAWJ0eKR5w:1␤␤»
00:37 GLRelia rakudo-moar 57b7eb: OUTPUT«Type check failed in assignment to '@!x'; expected 'Real' but got 'Any'␤  in block <unit> at /tmp/dwUXq0J5v7:1␤␤»
00:37 grondilu ^this I can't explain
00:39 ugexe m: class A { has Real @.x }; my Real @x; @x[2] = 1; say @x.perl
00:39 camelia rakudo-moar d8ef5e: OUTPUT«Array[Real].new(Real, Real, 1)␤»
00:39 GLRelia rakudo-moar 57b7eb: OUTPUT«Array[Real].new(Real, Real, 1)␤»
00:39 * [Coke] is apparently tired, and not doing the glr merge back tonight, but will be happy to find it done by someone at yapc::eu early in the morning. :)
00:40 [Coke] gooooooooodnight, folks.
00:43 virtualsue joined #perl6
00:46 laouji joined #perl6
00:46 muraiki :)
00:57 colomon ugexe: I’m not sure why you’re telling me that?  I don’t believe I’ve ever called build-output anywhere?
00:57 ugexe thats the problem. you should be sending it ''
00:58 woolfy left #perl6
00:59 colomon for what?
00:59 ugexe whatever you are using to send test reports to testers.perl6.org
00:59 colomon you mean panda?
01:01 ugexe panda seems to send others test reports ok
01:01 ugexe i thought you used something else, and used Panda::Builder
01:03 colomon yes, emmentaler (the smoke tester), but it’s just calling into panda to do all the work — literally try $panda.resolve($p)
01:07 ugexe looking at emmentaler source, it sets the values to report itself. panda does not
01:08 ugexe line 70 add %log<build-output> = '', or init it some other way
01:13 colomon Umm… okay, look, maybe you’d better start over and try to clearly explain what you think I should be doing and why?  because I have no idea what the log file writen out locally for the smoke tester has to do with testers.perl6.org, nor why initializing it to empty string rather than not initializing it is somehow crucially important.
01:15 ugexe okay. go to http://testers.p6c.org/recent.html The huge bars of yellow? those are all because of what i mentioned. i dont have an exact bug fix for whatever script you are using, but i did explain what the exact problem is. you can tell by looking at your test reports on testers.perl6.org, grepping for build-output, and noting it says null
01:17 ugexe all the other test reports do not have this problem, but i believe everyone else uses panda or zef directly
01:35 BenGoldberg joined #perl6
01:47 ilbot3 joined #perl6
01:47 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!
01:48 * colomon goes searching through the panda code...
01:48 prevost joined #perl6
01:50 laouji joined #perl6
01:57 dayangkun joined #perl6
02:11 noganex_ joined #perl6
02:32 colomon ugexe: are you sure panda build-output is working in general?  acking the panda source code doesn’t show any sign it is being set.
02:51 kaare_ joined #perl6
02:53 laouji joined #perl6
02:54 JimmyZ_ joined #perl6
03:01 ugexe https://github.com/tadzik/panda/blob/master/lib/Panda/Reporter.pm#L57 ?
03:10 ugexe colomon: here is a report from not long ago that shows "" instead of null: http://testers.perl6.org/reports/71799.html So maybe its specific to glr
03:10 ugexe a report from you^
03:12 ugexe including the version of the module installer in the test reports could help solve such things
03:15 ugexe somehow this fellow was getting ok results from panda as of 2 days ago http://testers.perl6.org/reports/74217.html
03:18 grondilu joined #perl6
03:33 blackcat_ joined #perl6
03:40 fling_ joined #perl6
03:42 diakopter joined #perl6
03:43 aborazmeh joined #perl6
03:43 aborazmeh joined #perl6
03:45 ugexe their report has build-passed = true and build-output = ''. maybe they patched it themselves
03:55 ugexe make it is better to change how the testers site handles null, since failures are specifically 'false'
03:55 ugexe s/make/maybe/
04:26 tinyblak joined #perl6
04:32 telex joined #perl6
04:40 laouji joined #perl6
04:49 tinyblak joined #perl6
04:49 asdf12z_ joined #perl6
05:01 cgfbee joined #perl6
05:12 silug joined #perl6
05:22 orbusbak joined #perl6
05:38 silug joined #perl6
05:41 lolisa joined #perl6
05:48 FROGGS .tell japhb locally I manually rebased cpp2/cpp... it builds but C++ tests are failing, I'll give you a status update later today
05:48 yoleaux FROGGS: I'll pass your message to japhb.
05:51 zz448 joined #perl6
06:00 japhb FROGGS: Great, thank you!
06:00 yoleaux 05:48Z <FROGGS> japhb: locally I manually rebased cpp2/cpp... it builds but C++ tests are failing, I'll give you a status update later today
06:09 diana_olhovik joined #perl6
06:10 xfix joined #perl6
06:12 rurban joined #perl6
06:27 mr-foobar joined #perl6
06:31 RabidGravy joined #perl6
06:46 masak morning, #perl6
06:46 * masak heads over to the venue
06:47 ShimmerFairy Is there another thing so soon after SPW? (YAPC::EU?)
06:48 moritz ShimmerFairy: yes, YAPC::EU
06:49 ShimmerFairy ah, ok :)
06:56 blackcat_ my %hash = (xy => ['c', 'b', 'a', 1], xa => ['c', 'a', 'z', 4]); say %hash.sort: -> $a, $b {$a.values[3] <=> $b.values[3]}; How can i sort the hash by it's value's third element. The previous code does not work
06:57 FROGGS joined #perl6
07:00 TimToady m: my %hash = (xy => ['c', 'b', 'a', 1], xa => ['c', 'a', 'z', 4]); say %hash.sort: *.value.[3]
07:00 camelia rakudo-moar d8ef5e: OUTPUT«xy => c b a 1 xa => c a z 4␤»
07:00 GLRelia rakudo-moar 57b7eb: OUTPUT«(xy => [c b a 1] xa => [c a z 4])␤»
07:00 ShimmerFairy m: my %hash = (xy => ['c', 'b', 'a', 1], xa => ['c', 'a', 'z', 4]); say %hash.sort: -> $a, $b {$a.value[3] <=> $b.value[3]};
07:00 camelia rakudo-moar d8ef5e: OUTPUT«xy => c b a 1 xa => c a z 4␤»
07:00 GLRelia rakudo-moar 57b7eb: OUTPUT«(xy => [c b a 1] xa => [c a z 4])␤»
07:00 * TimToady --> venyoo
07:00 ShimmerFairy .value is singular when dealing with Pairs :)
07:02 kjs_ joined #perl6
07:06 bioexpress joined #perl6
07:09 bioexpress hello, this is a test 'p6: say "test"'
07:09 blackcat_ thks. :)
07:09 bioexpress hello, this is a test p6: say "test"
07:09 bioexpress p6: say "test"
07:09 camelia rakudo-moar d8ef5e: OUTPUT«test␤»
07:09 GLRelia rakudo-moar 57b7eb: OUTPUT«test␤»
07:10 bioexpress p6: my $filenames = dir( $*HOME ).race( batch => 10 );
07:10 camelia rakudo-moar d8ef5e: OUTPUT«Method 'race' not found for invocant of class 'List'␤  in block <unit> at /tmp/tmpfile:1␤␤»
07:10 GLRelia rakudo-moar 57b7eb: ( no output )
07:11 blackcat_ m:my %hash = (x => ['c', 'b', 'a', 1], a => ['c', 'a', 'z', 4], c => ['c', 'x', 'c', 6]); say %hash.sort:{say .values[0]; .values[0][2]};
07:11 blackcat_ m: my %hash = (x => ['c', 'b', 'a', 1], a => ['c', 'a', 'z', 4], c => ['c', 'x', 'c', 6]); say %hash.sort:{say .values[0]; .values[0][2]};
07:11 camelia rakudo-moar d8ef5e: OUTPUT«c b a 1␤c a z 4␤c x c 6␤x => c b a 1 c => c x c 6 a => c a z 4␤»
07:11 GLRelia rakudo-moar 57b7eb: OUTPUT«[c b a 1]␤[c a z 4]␤[c x c 6]␤(x => [c b a 1] c => [c x c 6] a => [c a z 4])␤»
07:12 ShimmerFairy blackcat_: you need a space before the m: (necessary so we don't invoke the nqp: target on accident when talking about special nqp::op functions, for example)
07:12 [Sno] joined #perl6
07:12 blackcat_ i see now..
07:17 moritz after the "m:", in fact
07:18 blackcat_ .values[0] is (Array) ,and .values is (List)
07:19 bioexpress Hi! "my $filenames = dir( $*HOME ).race( batch => 10 );": I've found similar code in https://www.youtube.com/watch?v=JpqnNCx7wVY. But when i run it, it doesn't work. Was this way to use race removed?
07:19 bioexpress p6: my $filenames = dir( $*HOME ).race( batch => 10 );
07:19 camelia rakudo-moar d8ef5e: OUTPUT«Method 'race' not found for invocant of class 'List'␤  in block <unit> at /tmp/tmpfile:1␤␤»
07:19 GLRelia rakudo-moar 57b7eb: ( no output )
07:19 ShimmerFairy moritz: whoops :)
07:20 ShimmerFairy bioexpress: ah, features like .race are only implemented on the 'glr' branch of rakudo at the moment
07:21 masak_venue joined #perl6
07:21 bioexpress Could you tell me what the glr branch is?
07:21 moritz m: say dir( $*HOME ).race( batch => 10 );
07:21 camelia rakudo-moar d8ef5e: OUTPUT«Method 'race' not found for invocant of class 'List'␤  in block <unit> at /tmp/gIzmObp8FN:1␤␤»
07:21 GLRelia rakudo-moar 57b7eb: OUTPUT«HyperSeq.new␤»
07:22 moritz bioexpress: it's a branch of the rakudo compiler
07:22 masak_venue bioexpress: it contains some much-needed changes to the way lists behave in Perl 6
07:22 RabidGravy was the glr -> nom merge going to happen today?
07:22 moritz RabidGravy: presumably, yes
07:23 bioexpress Thx for the info.
07:23 masak_venue exciting :)
07:23 ShimmerFairy That reminds me, I should push my allomorphic/val branch (which is based on nom, as it happens) :)
07:24 RabidGravy grooviness, going for a fortnight of sun and alcohol abuse on Sunday would like to fixorificate all my stuff for glr before then
07:25 TEttinger RabidGravy: "summer ain't over til I say it's over!"
07:25 RabidGravy :)
07:25 TEttinger I'm glad all the hard GLR work is finally wrapping up
07:26 BooK looking at larry's keynote (the hobbit/lotr one), I tried one example, and was surprised
07:27 BooK p6: constant @f = 0, 1 , * + * ... *; say shift @f for 1 .. 5; say @f[0]
07:27 camelia rakudo-moar d8ef5e: OUTPUT«0␤1␤1␤2␤3␤5␤»
07:27 GLRelia rakudo-moar 57b7eb: OUTPUT«Cannot call shift(Seq); none of these signatures match:␤    (@a)␤  in block <unit> at /tmp/tmpfile:1␤␤»
07:27 BooK I'm surprised that I can call shift on a constant
07:28 moritz BooK: there's no concept of deep immutability in Perl 6
07:28 moritz BooK: constant just means that you cannot assign to
07:28 BooK ok
07:29 masak_venue "deep immutability" is interesting and problematic
07:29 masak_venue it's basically an ongoing research topic
07:29 BooK I can imagine it is :-)
07:29 moritz BooK: same in perl 5, fwiw
07:29 moritz perl -wE 'use constant a => [1, 2, 3]; say shift @{+a}'
07:29 moritz 1
07:29 BooK yes, but I know what references are in perl 5 :-)
07:30 masak_venue it's the same in Perl 6
07:30 BooK perl 6 is still mostly magic I have to discover and prod
07:30 xiaomiao joined #perl6
07:30 BooK btw, in * + *, how is the ordering of the whatever done?
07:31 BooK e.g. when the op is not commutative
07:31 moritz BooK: from left to right
07:31 moritz m: say (*-*)(5, 2)
07:31 camelia rakudo-moar d8ef5e: OUTPUT«3␤»
07:31 GLRelia rakudo-moar 57b7eb: OUTPUT«3␤»
07:32 moritz m: constant @a = 1, 2, 3; say @a.^name
07:32 camelia rakudo-moar d8ef5e: OUTPUT«Parcel␤»
07:32 GLRelia rakudo-moar 57b7eb: OUTPUT«List␤»
07:32 moritz fwiw I'd argue this is a bug in both cases
07:32 moritz array assignment should be coercive
07:33 BooK I don't understand how "left to right" applies to the fib definition, though
07:34 ShimmerFairy m: constant @f = 0, 1 , {$^a + $^b} ... *; say shift @f for 1 .. 5; say @f[0]
07:34 camelia rakudo-moar d8ef5e: OUTPUT«0␤1␤1␤2␤3␤5␤»
07:34 GLRelia rakudo-moar 57b7eb: OUTPUT«Cannot call shift(Seq); none of these signatures match:␤    (@a)␤  in block <unit> at /tmp/tUSZmXzS7S:1␤␤»
07:34 SamuraiJack joined #perl6
07:34 ShimmerFairy * + *  generates a WhateverCode object equivalent to the closure I used just now
07:35 kjs_ joined #perl6
07:36 BooK so $^a is the leftmost element of the last two (because we only go up to $^b) ?
07:36 masak_venue yes
07:37 moritz BooK: the sequence operator sees a callable generator which expects two arguments
07:37 moritz BooK: so it passes the last two arguments in the existing list to the generator
07:37 moritz BooK: and adds the value it got to the list
07:37 BooK ok
07:39 BooK so using $^c instead of $^b wouldn't change anything (still only using two arguments)
07:40 masak_venue right
07:40 BooK if I wanted to defined a sequence as Un = Un-1 + Un-3
07:40 zakharyas joined #perl6
07:40 BooK I'd need something like {$^b;$^a + $^c}
07:40 masak_venue yep.
07:40 BooK i.e. actually take three and ignore one
07:40 BooK very cool
07:40 moritz m:  say (1, 2, 3 ... -> $a, $b, $c { $a + $c })[^10]
07:40 camelia rakudo-moar d8ef5e: OUTPUT«1 2 3␤»
07:40 GLRelia rakudo-moar 57b7eb: OUTPUT«(1 2 3)␤»
07:40 ShimmerFairy The only thing that matters for $^-declared parameters is alphabetical order, IIRC. Nothing else is magical about them.
07:41 moritz m:  say (1, 2, 3, -> $a, $b, $c { $a + $c } ... *)[^10]
07:41 camelia rakudo-moar d8ef5e: OUTPUT«1 2 3 4 6 9 13 19 28 41␤»
07:41 GLRelia rakudo-moar 57b7eb: OUTPUT«(1 2 3 4 6 9 13 19 28 41)␤»
07:41 moritz m: sub gap($a, $b, $c { $a + $c }; say (0, 0, 1, &gap ... *)[^15]
07:41 camelia rakudo-moar d8ef5e: OUTPUT«5===SORRY!5=== Error while compiling /tmp/DlGVH6MbbN␤Missing block␤at /tmp/DlGVH6MbbN:1␤------> 3sub gap($a, $b, $c 7⏏5{ $a + $c }; say (0, 0, 1, &gap ... *)[^␤»
07:41 GLRelia rakudo-moar 57b7eb: OUTPUT«5===SORRY!5=== Error while compiling /tmp/BS5Yc8m3QS␤Missing block␤at /tmp/BS5Yc8m3QS:1␤------> 3sub gap($a, $b, $c 7⏏5{ $a + $c }; say (0, 0, 1, &gap ... *)[^␤»
07:41 moritz m: sub gap($a, $b, $c) { $a + $c }; say (0, 0, 1, &gap ... *)[^15]
07:41 camelia rakudo-moar d8ef5e: OUTPUT«0 0 1 1 1 2 3 4 6 9 13 19 28 41 60␤»
07:41 GLRelia rakudo-moar 57b7eb: OUTPUT«(0 0 1 1 1 2 3 4 6 9 13 19 28 41 60)␤»
07:44 masak_venue kind of a delayed fibonacci :)
07:44 BooK of course, this defintion is kinda confusing: @f = 1, 2, * * * ... *;
07:44 * masak_venue .oO( the fi..acci sequence )
07:44 kjs_ joined #perl6
07:44 masak_venue BooK: I agree. I think people like it mostly for the slight confusion it causes.
07:45 BooK heh
07:45 masak_venue BooK: I prefer to write * * * as either &[*] or &infix:<*>
07:45 BooK well, it's no more confusing than <=><=><=> in perl 5 :-)
07:45 masak_venue heh
07:45 masak_venue m: say <=> <=> <=>
07:45 camelia rakudo-moar d8ef5e: OUTPUT«Earlier failures:␤ Cannot convert string to number: base-10 number must begin with valid digits or '.' in '⏏=' (indicated by ⏏)␤  in block <unit> at /tmp/RqEAyeL6lt:1␤␤Final error:␤ Cannot call Real(Failure: ); none of these signatures match:…»
07:45 GLRelia rakudo-moar 57b7eb: OUTPUT«Earlier failures:␤ Cannot convert string to number: base-10 number must begin with valid digits or '.' in '⏏=' (indicated by ⏏)␤  in block <unit> at /tmp/XHcZ9JN7iU:1␤␤Final error:␤ Cannot call Real(Failure: ); none of these signatures match:…»
07:46 ShimmerFairy WhateverCodes are just a simpler use case for closures are just a simpler use case for defined subs :P
07:46 BooK https://metacpan.org/pod/perlsecret#Space-fleet
07:48 masak_venue BooK++ # perlsecret
07:51 BooK ShimmerFairy: are you saying that almost everything in perl6 is simpler than something else in perl6 ? :-)
07:51 BooK probably less scary than "there's a more complex version of whatever"
07:52 ShimmerFairy BooK: not necessarily, but that is how the progression should go, I find :)    "These Whatevers are too confusing!" -> "Stop using WhateverCode, make a closure/lambda"    "These $^ params are getting out of hand!" -> "Define a real signature"
07:53 nine I has Wifi!
07:53 yoleaux 1 Sep 2015 18:12Z <japhb> nine: Given the machine-native guts of https://github.com/rakudo/rakudo/commit/994fb0aa3f , why doesn't IO::Handle.print have a str multi to avoid the box and unbox of $str in the call to $out.print($str)?  I would think that might actually chew up a fair amount of GC and performance during heavy output, especially when you consider that multi sub print() has the same problem.
07:55 nine .tell japhb That sounds like some low hanging fruit indeed!
07:55 yoleaux nine: I'll pass your message to japhb.
07:59 RabidGravy is it possible to "find" the default label in scope? i.e " FOO: { # do something to get the label FOO as an object }"
07:59 dalek rakudo/nom: 0b1d15b | (Kamil Kułaga)++ | docs/running.pod:
07:59 dalek rakudo/nom: perl -e is strict
07:59 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/0b1d15bcc7
07:59 dalek rakudo/nom: 26abf57 | (Kamil Kułaga)++ | src/Perl6/Compiler.nqp:
07:59 dalek rakudo/nom: perl -e is strict
07:59 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/26abf57178
07:59 dalek rakudo/nom: 22303ff | (Kamil Kułaga)++ | docs/running.pod:
07:59 dalek rakudo/nom: Merge pull request #2 from teodozjan/patch-4
07:59 dalek rakudo/nom:
07:59 dalek rakudo/nom: perl -e is strict
07:59 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/22303ff400
07:59 dalek rakudo/nom: 00be1e8 | lizmat++ | / (2 files):
07:59 dalek rakudo/nom: Merge pull request #521 from teodozjan/patch-5
07:59 dalek rakudo/nom:
07:59 dalek rakudo/nom: Perl -e is strict by default
07:59 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/00be1e89dc
07:59 nine .tell japhb But someone must have come to the same conclusion, since in the glr branch there already is a multi method print(IO::Handle:D: str:D \x) {
07:59 yoleaux nine: I'll pass your message to japhb.
07:59 moritz nine: str:D looks a bit redundant; natives are always defined
08:00 ShimmerFairy lizmat: didn't we already have that? Or was it disabled again when I wasn't looking?
08:02 ShimmerFairy oh, I see, just documentation stuff :)
08:11 lizmat joined #perl6
08:11 masak_venue BooK: at https://metacpan.org/pod/perlsecret under "Bang bang", "Eskimo greeting", and "Inchworm", there's an empty grey box instead of the secret operator
08:12 DrForr That's why it's secret )
08:13 masak_venue hee
08:13 DrForr s/.$/:)
08:13 leont joined #perl6
08:13 sjn joined #perl6
08:16 lizmat m: END say my $foo; END $foo = 42   # cute
08:16 yoleaux 1 Sep 2015 18:49Z <FROGGS> lizmat: look at the cu_load branch when you got some time... I fell pretty comfy with it
08:16 camelia rakudo-moar d8ef5e: OUTPUT«42␤»
08:17 GLRelia rakudo-moar 57b7eb: OUTPUT«42␤»
08:17 lizmat .tell FROGGS will do so!  Thanks!
08:17 yoleaux lizmat: I'll pass your message to FROGGS.
08:17 masak_venue lizmat: wow, that is cute :)
08:18 darutoko joined #perl6
08:18 masak_venue m: repeat while my $x < 10 { say $x++ }
08:18 camelia rakudo-moar d8ef5e: OUTPUT«0␤1␤2␤3␤4␤5␤6␤7␤8␤9␤»
08:18 GLRelia rakudo-moar 57b7eb: OUTPUT«0␤1␤2␤3␤4␤5␤6␤7␤8␤9␤»
08:20 lizmat [Coke]: +1 on non-release announcement  :)
08:20 masak_venue oh, +1
08:25 nine Yes, please lets get a release out of the door to make space for a glr merge :)
08:26 ShimmerFairy nine: actually, the announcement is specifically to skip a release for August(?), and wait to handle GLR
08:26 masak_venue hence the "non-", I guess
08:26 masak_venue but I agree that emitting *some* signal out of the echo chamber looks better than silence
08:26 FROGGS o/
08:26 yoleaux 08:17Z <lizmat> FROGGS: will do so!  Thanks!
08:27 masak_venue FROGGS: \o
08:27 masak_venue coffee break &
08:28 Ven joined #perl6
08:32 dalek doc: 13d6631 | (Kamil Kułaga)++ | lib/Type/Temporal.pod:
08:32 dalek doc: Replaced decimal separator with / to make it true
08:32 dalek doc:
08:32 dalek doc: 5.2 looks like copy paste mistake because sleep 5.2 won't sleep for 2.5 seconds
08:32 dalek doc: changed to 5/2 that gives 2.5 and seems to be real author intention
08:32 dalek doc: review: https://github.com/perl6/doc/commit/13d663141d
08:35 rindolf joined #perl6
08:44 FROGGS brains are funny... I am thinking about writing 'debug(...)' and instead type dump and wonder why the text turned blue in my editor...
08:47 larion joined #perl6
08:47 dalek Heuristic branch merge: pushed 21 commits to rakudo/nom by ShimmerFairy
08:48 dalek roast: 7def790 | ShimmerFairy++ | S02-literals/quoting.t:
08:48 dalek roast: Correct «» interpolation test.
08:48 dalek roast:
08:48 dalek roast: There's no evidence in the synopses that interpolated variables in «»
08:48 dalek roast: lists should ever be not-flat, and with the new allomorphic-based
08:48 dalek roast: implementation of these things in rakudo, they are in fact always a flat
08:48 ShimmerFairy There go my allomorphic type and val() changes, merged into nom :)
08:48 dalek joined #perl6
08:49 ShimmerFairy The only issue is that bigint IntStrs won't work correctly, I'm not sure how to bind to the Int's $!value in a way that doesn't try to unbox the integer in the process :/
08:51 Ven joined #perl6
08:52 kjs_ joined #perl6
08:54 moritz nqp::bindattr(nqp::decont($obj), Int, '$!value', $newvalue)
08:55 espadrine_ joined #perl6
08:58 andreoss joined #perl6
08:58 ShimmerFairy moritz: trying various combinations of things gets me either "P6opaque: representation mismatch when storing value to attribute" or a segfault or the "cannot unbox" error. I've not found anything successful so far
08:59 moritz ShimmerFairy: did you try the nqp::bindattr above?
09:00 ShimmerFairy moritz: yes. If you look at allomorphs.pm you'll see that all the types' new()s used nqp::create and nqp::bindattr_* as appropriate.
09:01 ShimmerFairy e.g.    nqp::bindattr_i(SELF, Int, '$!value', $i);  is used for the Int part of IntStr, which is having the unboxing issue  (without the _i, it's a representation mismatch)
09:02 moritz uhm, $!value is a bigint, so it needs to be bindattr_I, no?
09:03 moritz erm no, that doesn't exist
09:03 leont joined #perl6
09:03 masak_venue joined #perl6
09:06 moritz nqp::bindattr(SELF, Int, '$!value', nqp::getattr(nqp::decont($i), Int, '$!value'));
09:06 * moritz tries
09:07 ShimmerFairy You're welcome to a segfault with that :)
09:08 moritz m: say nqp::getattr(53, Int, '$!value').^name
09:08 camelia rakudo-moar 00be1e: OUTPUT«bigint␤»
09:08 GLRelia rakudo-moar 57b7eb: OUTPUT«===============================================================================␤The use of nqp::operations has been deprecated for non-CORE code.  Please␤change your code to not use these non-portable functions.  If you really want␤to keep using nqp:…»
09:09 lizmat I'm thinking about merging nom into glr (again)
09:09 ShimmerFairy BOOTSTRAP.nqp line 62 has    my knowhow bigint is repr('P6bigint') { }
09:09 ShimmerFairy lizmat: there's talk of doing a merge the opposite way soon, so I'd recommend waiting and asking around first :)
09:09 moritz lizmat: nah, the other way round :-)
09:09 lizmat anybody against that at this time ?
09:10 masak_venue tux is sitting next to me, saying that his IO::String should be core
09:10 masak_venue I can't think of any strong arguments for *or* against :)
09:11 masak_venue it's a really small class, but "it's really small" doesn't feel like an excellent reason for making something core
09:11 moritz for: it's useful, it's core in p5; against: it doesn't need to be
09:12 lizmat wasn't it the plan to *rename* glr to "master" ?
09:12 lizmat and thus, would need an up-to-date nom in there?
09:12 rurban joined #perl6
09:13 masak_venue lizmat: makes sense. if we're mergin anyway, we probably want a merge in that direction.
09:13 moritz lizmat: ah, yes
09:13 ShimmerFairy lizmat: any chance to suggest a more -Ofun name than master though? :P
09:14 lizmat re: IO::String, we need support in the VM for it
09:14 FROGGS "servant" :o)
09:15 masak_venue ShimmerFairy: you think it's cute today
09:15 lizmat and I'd like to see some syntactic sugar for IO::String
09:15 masak_venue ShimmerFairy: for years we've ditched the benefits of having a "master" that people would just know to default to
09:16 masak_venue ShimmerFairy: let's not screw it up by trying to be witty
09:16 ShimmerFairy masak_venue: sure, I wouldn't actually mind a 'master' branch again, though it would be kinda sad to see our idiosyncratic default branch go :)
09:16 masak_venue no it wouldn't
09:17 ShimmerFairy masak_venue: and on the other hand, not having master forces people to learn about default branches :)
09:17 masak_venue ShimmerFairy: let's give some other project the honor of teaching people that
09:17 ShimmerFairy well, it's sad for me, in an "aw man" kind of way
09:19 masak_venue if you want, you can still call the branch something else in your local repository
09:19 masak_venue may I recommend the name "idiosynchratic" ? :)
09:19 ShimmerFairy Like I said, I wouldn't actually mind, it's just boring :)
09:20 masak_venue cratic*
09:21 lizmat_ joined #perl6
09:21 leont joined #perl6
09:23 [TuxCM] joined #perl6
09:27 emilbarton joined #perl6
09:28 emilbarton Hello, is there a way to get the client ip address from a connection to a IO::Socket::INET server?
09:32 pecastro joined #perl6
09:34 lizmat nom does merge cleanly into glr but doesn't build... testing a fix now
09:37 xiaomiao joined #perl6
09:38 lizmat ok, tests builds and spectests fine
09:38 ShimmerFairy lizmat: I just pushed my work on val(), so that's probably the cause of the issue, I'm guessing :)
09:38 lizmat emilbarton: maybe moritz can help you
09:38 lizmat ShimmerFairy: yeah, that wss it
09:38 lizmat but you left a message there how to deal with it in the GLR
09:38 lizmat :-)
09:38 lizmat I assume val is tested in the spectest"
09:39 lizmat ?
09:39 ShimmerFairy lizmat: ah, so it was in core then :)  When I had to deal with list multis, I did my best to make sure it was as GLR-compatible as possible.
09:39 ShimmerFairy Yes, val() is tested, as well as string numification (which has been changed to use val() internally)
09:39 lizmat cool, then I propose I merge nom into glr + fix
09:40 bartolin lizmat: [Coke]++ asked about merging glr into nom yesterday: http://irclog.perlgeek.de/perl6/2015-09-01#i_11154524
09:40 ShimmerFairy actually, I don't know if val() specifically is (I hope I remembered to put tests in), but stuff using it implicitly does
09:40 bartolin lizmat: so, not merging nom into glr, but the other way around
09:40 emilbarton hi, moritz - I found my solution for yesterday's INET problem but now I see that remote_address is left blank in INET.pm, is there another way to get it server-side?
09:40 ShimmerFairy lizmat: S32-str/numeric.t does a _lot_ of Str.Numeric tests, so that alone should be decent enough to check val()  :)
09:41 moritz emilbarton: not that I'm aware; if it's blank, look for a fix, not for a workaround
09:41 lizmat .tell [Coke] wrt http://irclog.perlgeek.de/perl6/2015-09-01#i_11154524 : wasn't it the idea that we rename glr to master ?
09:41 yoleaux lizmat: I'll pass your message to [Coke].
09:41 ShimmerFairy Yeah, I did add  S02-literals/allomorphic.t  :)
09:42 bartolin lizmat: IIRC it was proposed to do that [renaming to master] in a second step
09:42 espadrine_ joined #perl6
09:43 moritz somebody in Barcelona please get jnthn++ to make a decision on the glr merge (and potentially master renaming) thing
09:43 lizmat ShimmerFairy: but you didn't add it to t/spectest.data  :-(
09:43 moritz once we have a decision, it's easy enough to implement
09:43 emilbarton moritz, I'd be glad but it may be too difficult for me. Where would you start?
09:43 [ptc] moritz: jnthn isn't here...
09:43 lizmat moritz: jnthn  is *not* on Granada
09:43 ShimmerFairy lizmat: oh, whoops :(
09:43 lizmat ShimmerFairy: and it has many failures and bombs out
09:44 [ptc] rename-glr-to-master++
09:44 ShimmerFairy lizmat: I just ran the .t and it's fine. Weird.
09:44 lizmat on the glr ?
09:44 moritz :(
09:44 rmgk_ joined #perl6
09:45 moritz emilbarton: oh, it looks like remote_address simply isn't implemented
09:45 moritz emilbarton: and I don't know how to do that; maybe FROGGS or timotimo have an idea
09:45 lizmat ShimmerFairy: and most of the tests are skipped ??
09:45 ShimmerFairy lizmat: yes, that test was written before I started my work, and I forgot about the file as I went on, unfortunately :(
09:46 lizmat ok, then I propose for testing purposes, I merge nom into glr now
09:47 lizmat and postpone the "master" decision until jnthn emerges from a few well deserved days completely offline  :-)
09:47 moritz lizmat: sounds sane
09:47 dalek roast: e6b961b | ShimmerFairy++ | S02-literals/allomorphic.t:
09:47 dalek roast: Unfudge these allomorphic tests
09:47 dalek roast:
09:47 dalek roast: I somehow forgot about them as I got into introducing val() and
09:47 dalek roast: allomorphic types for rakudo.
09:47 dalek roast: review: https://github.com/perl6/roast/commit/e6b961b818
09:48 ShimmerFairy lizmat: where should the line for spectest.data be added, glr or nom? (I don't want to create a merge conflict for the sake of one addition to a list of files)
09:48 lizmat in nom, for now  :-)
09:49 moritz ShimmerFairy: since you merged into nom, that's where you should edit t/spectest.data
09:49 lizmat until it gets fixed
09:49 ShimmerFairy lizmat: I'll do that then :)
09:49 * [ptc] looks for a power outlet...
09:49 dalek Heuristic branch merge: pushed 30 commits to rakudo/glr by lizmat
09:51 dalek roast/glr: 7def790 | ShimmerFairy++ | S02-literals/quoting.t:
09:51 dalek roast/glr: Correct «» interpolation test.
09:51 dalek roast/glr:
09:51 dalek roast/glr: There's no evidence in the synopses that interpolated variables in «»
09:51 dalek roast/glr: lists should ever be not-flat, and with the new allomorphic-based
09:51 lizmat sorry dalek
09:51 dalek joined #perl6
09:51 dalek rakudo/nom: 18f5d25 | ShimmerFairy++ | t/spectest.data:
09:51 dalek rakudo/nom: Add allomorphic.t to spectest.data
09:51 dalek rakudo/nom:
09:51 dalek rakudo/nom: Somehow forgot about this file, lizmat++ for reminding me :) .
09:51 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/18f5d2590c
09:54 z448 joined #perl6
09:56 skids joined #perl6
09:57 CIAvash joined #perl6
09:58 andreoss joined #perl6
10:03 Averna joined #perl6
10:04 andreoss what data structure in Perl6 is most suitable for a stack? array?
10:04 nine andreoss: yes
10:04 TimToady generally, yes
10:04 lizmat andreoss: yes
10:05 TimToady that's why Array defines .push and .pop
10:05 lizmat brrt to be on shortly...
10:06 andreoss using nested pairs for stack is a bad idea?
10:08 Ven joined #perl6
10:09 lizmat andreoss:  ??
10:09 TimToady tends to fragment memory more than a contiguous stack
10:09 andreoss m: my $tail = 1 => 2 => 3; my ($head, $tail) = $tail.key, $tail.value; say $tail.key
10:09 camelia rakudo-moar 00be1e: OUTPUT«5===SORRY!5=== Error while compiling /tmp/nC7YKGKBzt␤Redeclaration of symbol $tail␤at /tmp/nC7YKGKBzt:1␤------> 3my $tail = 1 => 2 => 3; my ($head, $tail7⏏5) = $tail.key, $tail.value; say $tail.ke␤    expecting any of:␤        shape dec…»
10:09 GLRelia rakudo-moar 467b79: OUTPUT«5===SORRY!5=== Error while compiling /tmp/P2tom3W9oU␤Redeclaration of symbol $tail␤at /tmp/P2tom3W9oU:1␤------> 3my $tail = 1 => 2 => 3; my ($head, $tail7⏏5) = $tail.key, $tail.value; say $tail.ke␤    expecting any of:␤        shape dec…»
10:10 lizmat m: dd 1 => 2 => 3 => 4
10:10 camelia rakudo-moar 00be1e: OUTPUT«1 => 2 => 3 => 4␤»
10:10 GLRelia rakudo-moar 467b79: OUTPUT«1 => 2 => 3 => 4␤»
10:10 andreoss m: my $tail = 1 => 2 => 3; my $head; ($head, $tail) = $tail.key, $tail.value; say $tail.key
10:10 camelia rakudo-moar 00be1e: OUTPUT«2␤»
10:10 GLRelia rakudo-moar 467b79: OUTPUT«2␤»
10:11 skids joined #perl6
10:20 timotimo ShimmerFairy: you create a bigint object by nqp::box_I (or box_i?) with the value you want, iirc
10:20 leont joined #perl6
10:21 FROGGS m: say Signature.^methods
10:21 camelia rakudo-moar 00be1e: OUTPUT«<anon> <anon> <anon> <anon> arity count params returns ACCEPTS perl gist␤»
10:21 GLRelia rakudo-moar 467b79: OUTPUT«(<anon> <anon> <anon> <anon> arity count params returns ACCEPTS perl gist)␤»
10:21 lizmat FROGGS: glr and nom are the same atm...
10:22 FROGGS lizmat: ahh cool :o)
10:22 FROGGS I'm not testing diffs between those atm anyway
10:22 lizmat ah, ok :-)
10:22 timotimo there are probably no live streams of yacp::eu?
10:23 nine Do we actually have a master branch right now?
10:23 nine timotimo: seems like there's not even recording going on :(
10:24 timotimo WHAT
10:24 ShimmerFairy timotimo: box_i doesn't work :(  (and box_I doesn't exist. p6box_i fails too)
10:24 nine I seem to remember a camera during the keynote, but there isn't one in sight during brrt++'s talk, and there hasn't been one in the other room before.
10:26 timotimo damn
10:26 timotimo oh, how about creating the object in the first place with nqp::radix_I?
10:27 ShimmerFairy timotimo: perhaps. Thing is, it's trying to store an Int into the appropriate part of IntStr that's the problem :)
10:27 timotimo if you pass IntStr there, it'll create the IntStr with the Int properly boxed into it, then you can put the string in afterwards
10:27 timotimo at least in "using the thing as an Int" we rely on the "box_target" to be set properly for that
10:27 timotimo rather than access to an attribute
10:28 timotimo it's not simple to make IntStr, which is why i haven't done it yet :D
10:28 ShimmerFairy timotimo: it's in the repo, just fails on bigints :)
10:29 dalek Inline-Perl6/glr: 4e6aabc | (Stefan Seifert)++ | lib/Inline/Perl6.pm:
10:29 dalek Inline-Perl6/glr: Update docs due to done -> done-testing change
10:29 dalek Inline-Perl6/glr: review: https://github.com/niner/Inline-Perl6/commit/4e6aabc65c
10:29 timotimo does it work properly for NumStr?
10:30 ShimmerFairy AFAIK, yes
10:30 timotimo cool :)
10:31 ShimmerFairy timotimo: here's where they are: https://github.com/rakudo/rakudo/blob/nom/src/core/allomorphs.pm#L1
10:33 timotimo i'm rather sure you can never bindattr_i into the boxing slot of a bigint
10:33 ShimmerFairy timotimo: everything else handles absurd numbers except IntStr, it seems.
10:34 ShimmerFairy timotimo: yeah, but try 'bindattr' and you'll get a repr mismatch :)
10:34 timotimo yeah
10:34 timotimo oh
10:34 timotimo how about this
10:34 timotimo nqp::add_I($i, 0, IntStr)
10:34 timotimo that way you should be able to get the bigint out of the other thing properly
10:34 timotimo and put it into an IntStr
10:34 timotimo (this would replace nqp::create)
10:36 FROGGS wow, this is awesome!
10:36 FROGGS ShimmerFairy++
10:37 ShimmerFairy timotimo: that works (and I think I know what I messed up trying radix_I, but add_I has got to be a better hack), but now IntStr.Int won't play nice. Hm...
10:38 moritz ShimmerFairy: you can do the same trick there, no?
10:38 ShimmerFairy nqp::fromstr_I(nqp::tostr_I(self), Int)  is icky, but works :)
10:38 moritz nqp::add_I($intstr, 0, Int)
10:38 timotimo it's icky and not very performant :)
10:38 skids joined #perl6
10:38 ShimmerFairy yeah, add_I works too :)
10:38 moritz once you've got a shiny new hammer...
10:39 ShimmerFairy So, I'll add this fix, un-skip the tests that broke on bigints, and try a spectest :)
10:39 timotimo looking forward to it :)
10:40 lizmat joined #perl6
10:41 FROGGS .tell japhb all tests pass now on my linux box...
10:41 yoleaux FROGGS: I'll pass your message to japhb.
10:42 timotimo [ptc]: ^5
10:42 dalek ecosystem: 53fbf91 | RabidGravy++ | META.list:
10:42 dalek ecosystem: Add XDG::BaseDirectory
10:42 dalek ecosystem: review: https://github.com/perl6/ecosystem/commit/53fbf910d8
10:43 ShimmerFairy timotimo: clearly, it's time for us to get nqp::getattr_I and nqp::bindattr_I :P
10:43 lizmat hmmm..  I'm seeing a significant increase in bare startup time: now at 134 msecs for me (from ~ 94 msecs)
10:43 timotimo ShimmerFairy: the thing is it's not the same thing internally :)
10:46 timotimo and nqp is meant to give you close access to the underlying vm, or at least that's how i think of it
10:47 lizmat seems to be at least partly related to the allomorph changes :-(
10:48 ShimmerFairy timotimo: I figured, _I seems to be the oddball type of the basic nqp ones :)
10:49 ShimmerFairy lizmat: yeah, I think I noticed a bit of that myself :( . If you look at roast's commit history, you'll see a change I made to integration/weird-errors.t because ~something~ in my changes made one test much slower.
10:49 dalek rakudo/cpp3: bb21848 | FROGGS++ | / (21 files):
10:49 dalek rakudo/cpp3: re-apply patch to add C++/NativeCall support
10:49 dalek rakudo/cpp3: review: https://github.com/rakudo/rakudo/commit/bb218483d1
10:51 Alina-malina joined #perl6
10:51 lizmat ShimmerFairy:  ok, I guess we need to figure out what that is  :-)
10:52 telex joined #perl6
10:52 ShimmerFairy lizmat: my best guess for something slower would be strings in general (doesn't make sense that val() itself is causing _that_ much of a problem), and for that I'd guess how I changed the Q grammar/actions to handle multiple "post-processing" adverbs, like :w, :v, and :x, for example
10:53 lizmat ShimmerFairy: but that would mean slower compilation, not execution?
10:54 cdc Hello #perl6 o/
10:54 ShimmerFairy (and I changed that because the <> and «» literals are defined as  q:w:v and qq:ww:v  , so that has to work)
10:54 cdc m: my $a = (^6).map(* + 1); $a Z=== (1 ... 6)
10:54 camelia rakudo-moar 00be1e: ( no output )
10:54 GLRelia rakudo-moar 467b79: ( no output )
10:54 RabidGravy been sitting on that one for ages, thought I'd let it free
10:54 ShimmerFairy lizmat: probably, though I never noticed a significant change in parse time
10:54 cdc m: my $a = (^6).map(* + 1); say $a Z=== (1 ... 6)
10:54 camelia rakudo-moar 00be1e: OUTPUT«False␤»
10:54 GLRelia rakudo-moar 467b79: OUTPUT«(True True True True True True)␤»
10:54 cdc m: my $a = (^6).map(* + 1).hyper; say $a Z=== (1 ... 6)
10:54 camelia rakudo-moar 00be1e: OUTPUT«Method 'hyper' not found for invocant of class 'List'␤  in block <unit> at /tmp/MlBkNYgQ5A:1␤␤»
10:54 GLRelia rakudo-moar 467b79: OUTPUT«()␤»
10:55 cdc why this doesn't work with hyper?
10:55 ShimmerFairy m: my $a = (^6).hyper.map(* + 1); say $a Z=== (1 ... 6)
10:55 camelia rakudo-moar 00be1e: OUTPUT«Method 'hyper' not found for invocant of class 'Range'␤  in block <unit> at /tmp/02MH1kz2fJ:1␤␤»
10:55 GLRelia rakudo-moar 467b79: OUTPUT«(True True True True True True)␤»
10:55 ShimmerFairy The .hyper needs to be before the thing you want to hyper into :)
10:56 cdc ShimmerFairy: oh, thanks!
10:56 ShimmerFairy cdc: think of ».map, which is the same thing as .hyper.map   :)
10:57 laouji joined #perl6
10:57 cdc ok :)
10:59 moritz .tell FROGGS any ideas regarding https://github.com/perl6/DBIish/issues/17 ?
10:59 yoleaux moritz: I'll pass your message to FROGGS.
11:00 FROGGS .tell moritz let me take a look :P
11:00 yoleaux 10:59Z <moritz> FROGGS: any ideas regarding https://github.com/perl6/DBIish/issues/17 ?
11:00 yoleaux FROGGS: I'll pass your message to moritz.
11:01 lizmat lunch&
11:02 dalek joined #perl6
11:03 oha joined #perl6
11:04 colomon Hi gang.  First compete GLR model smoke run completed overnight.  The results are up at http://smoke.perl6.org/report.
11:04 moritz colomon++
11:04 yoleaux 11:00Z <FROGGS> moritz: let me take a look :P
11:05 FROGGS colomon: cool!
11:05 colomon All but the last two columns can be ignored.  Ã¢â‚¬Å“30” is a more or less complete run against nom.  Ã¢â‚¬Å“02” is a more or less complete run against GLR.
11:05 colomon Looks like, I dunno, about half the modules fail under GLR.
11:06 colomon people can get a handy list of their own modules by looking at (for instance) http://smoke.perl6.org/report/colomon
11:09 RabidGravy well mine are going to stay all failing until the merge is done
11:10 cdc colomon: do we have access to tests outputs?
11:15 domidumont joined #perl6
11:15 cognominal joined #perl6
11:16 dalek rakudo/nom: a15b0ef | ShimmerFairy++ | src/core/allomorphs.pm:
11:16 dalek rakudo/nom: Make IntStr properly handle bigints
11:16 dalek rakudo/nom:
11:16 dalek rakudo/nom: Thanks to timotimo++ for showing me the add_I trick that makes it
11:16 dalek rakudo/nom: possible.
11:16 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/a15b0ef88c
11:16 timotimo ShimmerFairy: FWIW, internally at least we have repr_set_int and repr_set_str functions to set the "internal"/"boxed" value of a thing like Int or Str ... i don't think we expose those as nqp:: ops in the interpreter, though
11:17 dalek roast: be1f8da | ShimmerFairy++ | / (3 files):
11:17 dalek roast: Un-skip these bigint-using tests.
11:17 dalek roast: review: https://github.com/perl6/roast/commit/be1f8dadef
11:18 ShimmerFairy timotimo: unless we find ourselves working with a lot of Int-derived classes in the future, I think we can get by on the add_I trick to transform bigint types :)
11:18 timotimo nqp: nqp::set_I(my Int $ = 0, 1);
11:18 timotimo mhh
11:18 timotimo or add multi-boxing ops to the p6ops :)
11:19 camelia joined #perl6
11:19 ShimmerFairy timotimo: you mean something like  nqp::p6boxes_I($val, Int, IntStr) ? :)
11:20 timotimo oh
11:20 domidumont joined #perl6
11:20 ShimmerFairy or did you mean something else by "multi-boxing" ?
11:20 timotimo no, more like nqp::p6box_Is($Ival, $Sval, Intstr)
11:20 camelia nqp-parrot: OUTPUT«Can't exec "./rakudo-inst/bin/nqp-p": No such file or directory at lib/EvalbotExecuter.pm line 193.␤exec (./rakudo-inst/bin/nqp-p /tmp/tmpfile) failed: No such file or directory␤Server error occurred! Closing Link: ns1.niner.name (Quit: camelia)␤Lost connect…»
11:20 camelia ..nqp-jvm: OUTPUT«(signal ABRT)#␤# There is insufficient memory for the Java Runtime Environment to continue.␤# pthread_getattr_np␤# An error report file with more information is saved as:␤# /tmp/jvm-30192/hs_error.log␤»
11:20 camelia ..nqp-moarvm: OUTPUT«Confused at line 2, near "nqp::set_I"␤   at gen/moar/stage2/NQPHLL.nqp:516  (/home/camelia/rakudo-inst-1/share/nqp/lib/NQPHLL.moarvm:panic:105)␤ from gen/moar/stage2/NQP.nqp:921  (/home/camelia/rakudo-inst-1/share/nqp/lib/nqp.moarvm:comp_unit:872)␤ from gen/…»
11:21 timotimo >_<
11:21 RabidGravy boom
11:21 ShimmerFairy .oO(I think the shopkeeper was lying 'bout that Norwegian Blue)
11:22 FROGGS moritz: I've no solution yet
11:22 colomon cdc: not easily.  people will need to get their own moar/GLR running to investigate.  :)
11:25 cdc colomon: I need to investigate why the testsuite doesn't work on smoke but it does on my computer (moar/GLR powered) :)
11:25 RabidGravy yeah, I've had that problem as well
11:25 cdc colomon: I think this is because smoke is powered by a Linux kernel < 3.8
11:26 timotimo huh? that shouldn't give us problems
11:26 colomon cdc: bugs in the smoker are also very spossible
11:26 colomon it’s running on hack.p6c.org.
11:26 colomon (in terms of Linux)
11:26 colomon cdc: what module?
11:26 RabidGravy timotimo, if the module relies on a feature of the kernel it might
11:26 cdc colomon: do you know what's the kernel version of hack.p6c?
11:27 timotimo ah, hm
11:27 * colomon ’s latest changes have given him the ability to smoke single modules easily, so it’s a cinch to just check and see what’s going on.
11:27 timotimo cool
11:27 cdc RabidGravy, timotimo: right.  Kains relies on Linux kernel namespaces
11:27 xinming joined #perl6
11:28 timotimo ah
11:28 timotimo i hadn't seen the mention of Kains
11:28 timotimo and ... actually don't know what that is
11:28 cdc colomon: http://smoke.perl6.org/project/Kains
11:28 pat_js joined #perl6
11:28 cdc timotimo: just a project of mine
11:30 RabidGravy cdc, perhaps it's make a Build.pm that bails if the kernel doesn't have the appropriate feature - I've done similar with checking whether native libraries are available
11:31 colomon cdc: https://gist.github.com/colomon/3aa697092a560952b61e
11:32 colomon highlight seems to be
11:32 colomon Error: unshare(0x10020000): Operation not permitted
11:32 colomon It seems your system doesn't support user namespaces.
11:32 cdc colomon: right!
11:32 cdc RabidGravy: could you share such a code, please?
11:33 cdc colomon: thanks for the tests output, anyway.
11:35 RabidGravy cdc, e.g. https://github.com/jonathanstowe/Audio-Convert-Samplerate/blob/master/Build.pm - you'd need to make the equivalent of LibraryCheck to find the appropriate feature or kernel version
11:35 perigrin joined #perl6
11:36 Ven joined #perl6
11:37 cdc RabidGravy: thanks!
11:39 RabidGravy actually, somethinng that did that could be a generally useful module - i.e assert a required kernel feature
11:40 perigrin left #perl6
11:40 bartolin cdc: hack.p6c runs with kernel 3.16.0-4-amd64
11:43 RabidGravy it is entirely possible that it wasn't compiled with the appropriate feature configured
11:43 cdc bartolin: ok, thanks.  Then support for namepaces is likely disabled then.
11:46 bartolin m: my $a = [ "this", "is", "so", "gross" ]; my $b = [ "that", "is", "so", "funny" ]; my $c = $b[2..3]; $a[3] = $c; say $a[3].WHAT # RT #76698
11:46 synbot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=76698
11:46 camelia rakudo-moar 00be1e: OUTPUT«(Parcel)␤»
11:46 GLRelia rakudo-moar 467b79: OUTPUT«(List)␤»
11:49 ShimmerFairy There was a Seq() way back when? Weeeeird O_o
11:51 FROGGS m: my $a = [ "this", "is", "so", "gross" ]; my $b = [ "that", "is", "so", "funny" ]; my $c = $b[2..3]; say $c.WHAT; $a[3] = $c; say $a[3].WHAT
11:51 camelia rakudo-moar 00be1e: OUTPUT«(Parcel)␤(Parcel)␤»
11:51 GLRelia rakudo-moar 467b79: OUTPUT«(List)␤(List)␤»
11:51 timotimo "way back when"? at that time Seq didn't exist :)
11:52 ShimmerFairy timotimo: it's in that 2010 bug report though
11:52 bartolin ShimmerFairy: If you have looked at the ticket: I'm going to close it, because I don't see a bug there. At least nowadays one could use .Array if needed. Do you agree?
11:52 FROGGS bartolin: it very much seems fixed
11:52 ShimmerFairy bartolin: not to mention GLR has thrown a wrench in any list-related ticket :)
11:52 bartolin m: my $a = [ "this", "is", "so", "gross" ]; my $b = [ "that", "is", "so", "funny" ]; my $c = $b[2..3].Array; $a[3] = $c; say $a[3].perl
11:52 camelia rakudo-moar 00be1e: OUTPUT«["so", "funny"]␤»
11:52 GLRelia rakudo-moar 467b79: OUTPUT«["so", "funny"]␤»
11:52 bartolin m: my $a = [ "this", "is", "so", "gross" ]; my $b = [ "that", "is", "so", "funny" ]; my $c = $b[2..3].Array; $a[3] = $c; say $a.perl
11:52 camelia rakudo-moar 00be1e: OUTPUT«["this", "is", "so", ["so", "funny"]]␤»
11:52 GLRelia rakudo-moar 467b79: OUTPUT«["this", "is", "so", ["so", "funny"]]␤»
11:52 FROGGS a slice returns a list, and it stays a list, which is correct
11:53 * bartolin will add that to the ticket
11:53 FROGGS m: my $a = [ "this", "is", "so", "gross" ]; my $b = [ "that", "is", "so", "funny" ]; my $c = $b[2..3]; $a[3] = $c; say $a.perl
11:53 camelia rakudo-moar 00be1e: OUTPUT«["this", "is", "so", $("so", "funny")]␤»
11:53 GLRelia rakudo-moar 467b79: OUTPUT«["this", "is", "so", ("so", "funny")]␤»
11:54 FROGGS m: my $a = [ "this", "is", "so", "gross" ]; my $b = [ "that", "is", "so", "funny" ]; my $c = $b[2..3]; $a[3] = $c; $a[3][1] = "hurz"; say $a.perl
11:54 camelia rakudo-moar 00be1e: OUTPUT«["this", "is", "so", $("so", "hurz")]␤»
11:54 GLRelia rakudo-moar 467b79: OUTPUT«["this", "is", "so", ("so", "hurz")]␤»
11:54 FROGGS m: my $a = [ "this", "is", "so", "gross" ]; my $b = [ "that", "is", "so", "funny" ]; my $c = $b[2..3]; $a[3] = $c; $a[3][2] = "hurz"; say $a.perl
11:54 camelia rakudo-moar 00be1e: OUTPUT«Index out of range. Is: 2, should be in 0..1␤  in block <unit> at /tmp/sJUcb_oX1H:1␤␤»
11:54 GLRelia rakudo-moar 467b79: OUTPUT«Attempted to STORE to Nil.␤  in block <unit> at /tmp/wWV1nUQLz9:1␤␤»
11:54 FROGGS :S
11:54 FROGGS I like camelia's output better
11:59 agentzh joined #perl6
12:04 kjs_ joined #perl6
12:06 Ven joined #perl6
12:06 FROGGS m: my $a = (1, 2, 3); $a[42] = 21
12:06 camelia rakudo-moar 00be1e: OUTPUT«Index out of range. Is: 42, should be in 0..2␤  in block <unit> at /tmp/nnTEvtevbH:1␤␤»
12:06 GLRelia rakudo-moar 467b79: OUTPUT«Attempted to STORE to Nil.␤  in block <unit> at /tmp/o9_DeZFRmB:1␤␤»
12:09 FROGGS [Coke]: I'm sorry, just opened two RT tickets :S
12:10 Ven .oO( The wrath of [Coke] )
12:10 * [Coke] yawns, and is almost ready to grab more koohii.
12:10 yoleaux 09:41Z <lizmat> [Coke]: wrt http://irclog.perlgeek.de/perl6/2015-09-01#i_11154524 : wasn't it the idea that we rename glr to master ?
12:10 telex joined #perl6
12:11 FROGGS Ven: when you are on you mac and you got some background processing time over... can you please try: MoarVM/cpp3, nqp, rakudo/cpp3 and then run rakudo's make test?
12:12 mprelude joined #perl6
12:12 FROGGS Ven: I'm especially interested in these two: perl6 t/04-nativecall/11-cpp.t; perl6 t/04-nativecall/13-cpp-mangling.t
12:12 Ven FROGGS: I don't have nearly enough battery left atm, but I wrote that down
12:12 FROGGS Ven: and you get extra extra credits if you make it work for clang, that is add the right shell line that invokes clang (at the top of these files)
12:12 [Coke] catching up; let's not do the master rename as part of the glr merge.
12:13 FROGGS Ven: well, no hurry, I'd just like to get results within O(days)
12:14 FROGGS bbiab
12:14 [Coke] so did lizmat++ do some merging?
12:15 ShimmerFairy nom into glr, as I recall
12:24 dayangkun joined #perl6
12:26 [particle]1 joined #perl6
12:27 rhr joined #perl6
12:29 jordman joined #perl6
12:29 zacts joined #perl6
12:32 sufrostico joined #perl6
12:34 lizmat joined #perl6
12:40 lizmat yeah, nom into glr + some allomorphic fixes
12:46 [TuxCM] joined #perl6
12:46 [TuxCM] When pre-compiling a module, its dependencies must be pre-compiled first.
12:46 [TuxCM] Please pre-compile /pro/3gl/CPAN/rakudobrew/moar-nom/install/share/perl6/site/lib/Slang/Tuxic.pm
12:47 [TuxCM] that is fine. But *HOW* do I precompile something installed with panda?
12:47 [TuxCM] m: my $a = ""; say +$a;
12:47 camelia rakudo-moar 00be1e: OUTPUT«0␤»
12:47 GLRelia rakudo-moar 467b79: OUTPUT«Cannot convert string to number: Strange text where integer expected (but we're not sure what kind of value this wants to be) in '7⏏' (indicated by 7⏏)␤  in block <unit> at /tmp/nWvbK4yNOC:1␤␤Actually thrown at:␤  in block <unit> at /tmp/nW…»
12:47 colomon do we have a theory about when GLR will land?  I’m curious about the strategy for fixing modules.  (Guess I should probably branch for the fix either way....)
12:49 [Coke] lizmat: I think it's safe to bring glr back into nom now. We can decide later if we want nom to move to master.
12:49 [Coke] but it's ok if we do the september release off nom.
12:50 lizmat [TuxCM]: at the moment, maybe we should not precompile modules at all
12:50 [TuxCM] ok.
12:50 RabidGravy joined #perl6
12:51 [Coke] heh. was telling one of my coworkers about the minor jet lag issues on the trip. He regularly travels from the US to India, and thought my problems were cute. :)
12:51 pink_mist that looks like an odd error out of GLRelia 0_o
12:52 lizmat m: +""   # ShimmerFairy
12:52 camelia rakudo-moar 00be1e: OUTPUT«WARNINGS:␤Useless use of "+" in expression "+\"\"" in sink context (line 1)␤»
12:52 GLRelia rakudo-moar 467b79: OUTPUT«WARNINGS:␤Useless use of "+" in expression "+\"\"" in sink context (line 1)␤Cannot convert string to number: Strange text where integer expected (but we're not sure what kind of value this wants to be) in '7⏏' (indicated by 7⏏)␤  in block <un…»
12:52 [Coke] colomon: I'd like glr to get merged back to nom today.
12:52 lizmat ShimmerFairy: on GLR this breaks...  it should just give 0
12:52 ShimmerFairy actually, GLRelia is correct. As part of my work on val, I decided to make it so that +"" did not return 0. I found nothing in the spec for it, and it feels like ?"0" -> False to me.
12:52 ShimmerFairy I don't know why camelia let it through O_o
12:52 colomon [Coke]: that would certainly simplify matters… but also cause massive ecoysystem breakage.
12:52 ShimmerFairy $ perl6 -e 'say +""'
12:52 ShimmerFairy Cannot convert string to number: Strange text where integer expected (but we're not sure what kind of value this wants to be) in '⏏' (indicated by ⏏
12:53 ShimmerFairy yeah, something's up with camelia perhaps
12:53 [Coke] colomon: yes. we need to break things asap.
12:53 lizmat ShimmerFairy: but what is the point of warning *AND* dieing ?
12:53 [Coke] otherwise we cannot fix them.
12:53 colomon [Coke]: okay, I can live with that as a policy, I guess…
12:53 DrForr Make sure it's right during a live demo :)
12:53 [Coke] plus, everyone is distracted at yapc::eu. :)
12:54 ShimmerFairy lizmat: it doesn't (it is a Failure though, which is why you see two backtraces)
12:54 colomon … well, we’ve got a list of failing modules now, and it’s easy enough to built the glr branch of rakudo to fix them on, even if it’s not merged to nom.
12:54 [Coke] we only have 2 weeks until the september release.
12:54 lizmat yeah, and with ShimmerFairy's changes breaking Inline::Perl5 as well
12:54 lizmat I'm not comfortable merging glr into nom
12:54 ShimmerFairy lizmat: basically, with no spec backing it up, my decision was "I don't see a number in the empty string, so of course "".Numeric should fail"  :)
12:54 [Coke] lizmat: why not?
12:55 [Coke] what is your preferred course of action then?
12:55 lizmat because I hear reports of all sorts of failures here at YAPC::EU
12:55 ShimmerFairy camelia is on 00be1e, which is before my merge, so it doesn't have the right changes
12:55 [Coke] we can back out shimmeryfairy's change if there isn't concensus on that.
12:55 ShimmerFairy m: say val("42")
12:55 camelia rakudo-moar 00be1e: OUTPUT«5===SORRY!5=== Error while compiling /tmp/WUhgqqIvWm␤Undeclared routine:␤    val used at line 1␤␤»
12:55 GLRelia rakudo-moar 467b79: OUTPUT«val("42")␤»
12:55 lizmat like Inline::Perl5 not working on either nom or glr atm
12:56 lizmat or Text::CSV being broken on both
12:56 [Coke] lizmat: failures where?
12:56 [Coke] ok.
12:56 lizmat and they are canaries for the ecosystem to me
12:56 [Coke] Pro on merge: we only have to fix these things once.
12:56 ShimmerFairy I can push the branch pointers I've got for rakudo and roast, if consensus says a branch would be better for now
12:56 [TuxCM] [Coke] I got the same error in nom that GLRelia just showed
12:57 lizmat [TuxCM]: the +"" error ?
12:57 [TuxCM] error was in Text::CSV. I just pushed a fix for that one
12:57 [TuxCM] ye
12:57 [TuxCM] s
12:57 [Coke] ShimmerFairy: if you can postpone your changes until we have nom vs. glr sorted, that would be helpful.
12:57 vendethiel joined #perl6
12:57 [Coke] also, I don't remember seeing any discussion on that change before it went in, but there has been a lot of backlog the past few weeks.
12:58 lizmat [Coke]: haven't seen it either....  thought it was discussed
12:58 [TuxCM] $attr = $v ~~ Bool ?? $v ?? 1 !! 0 !! $v.defined ?? $v eq "" ?? 0 !! +$v !! 0;
12:58 ShimmerFairy [Coke]: they're already there
12:58 [TuxCM] I just added the bold part
12:58 [Coke] lizmat: ok - so, let's get inline::perl5 and text::csv working against nom or glr, and then merge things and make sure they stay working?
12:58 [Coke] ShimmerFairy: postpone = "remove and maybe put back later."
12:58 lizmat [Coke]: sounds like a plan :-)
12:59 [TuxCM] do you need a sit-in somewhere to analyse what is still needed?
12:59 [Coke] I'm about to get sucked in to a day long meeting, so I'm useless to the cause, I'm afraid.
12:59 [Coke] (I have about an hour, but am already at $dayjob)
12:59 ShimmerFairy if there's proof in the spec, or comments by TimToady or similarly-knowledgeable gurus, I'll gladly make Str.Numeric accept the empty string. Until then, I stand by my "I see no number" decision :)
12:59 ShimmerFairy (I'd also be fine adding a deprecation to +"" for a while)
13:00 lizmat ShimmerFairy: maybe it should return Nil ?
13:00 pochi joined #perl6
13:01 ShimmerFairy lizmat: I think it's certainly worth discussing. I definitely don't want it returning a numeric value, in any case
13:01 lizmat finding some electricity&
13:04 masak_venue joined #perl6
13:04 [Coke] I actually prefer it returning 0.
13:05 [Coke] prior art.
13:05 [Coke] ShimmerFairy: did you discuss this change with anyone before pushing it?
13:08 masak masak_venue: get out
13:08 lizmat joined #perl6
13:08 moritz masak: be kind :-)
13:08 cdc ShimmerFairy: about http://irclog.perlgeek.de/perl6/2015-09-02#i_11158078, is » supposed to return an HyperSeq?
13:09 lizmat [Tux] + brrt + me in the library with electricity and an emergence hackathon to fix Text::CSV on GLR
13:09 * masak .oO( be kind, especially to your clones )
13:09 moritz ... and to your original, if you're a clone :-)
13:09 cdc m: (^2)».map(+*).perl.say
13:09 camelia rakudo-moar 00be1e: OUTPUT«((0,), (1,))␤»
13:09 GLRelia rakudo-moar 467b79: OUTPUT«((0).Seq, (1).Seq)␤»
13:09 masak moritz: I almost kicked masak_venue, but it turned out I needed to be op, and I couldn't be bothered
13:09 cdc m: (^2).hyper.map(+*).perl.say
13:09 camelia rakudo-moar 00be1e: OUTPUT«Method 'hyper' not found for invocant of class 'Range'␤  in block <unit> at /tmp/atbdWD1YZg:1␤␤»
13:09 GLRelia rakudo-moar 467b79: OUTPUT«HyperSeq.new␤»
13:10 lizmat ShimmerFairy: apart from all the breakage, I'm *really* disappointed losing 25% bare startup time  :-(
13:11 lizmat ShimmerFairy: I'd really like to know TimToady's pov wrt +"" throwing a failure
13:11 brrt joined #perl6
13:11 masak moritz: a fundamental assumption of the blog post about the clones (that I haven't written) is that "there is no original". technically there is, but no-one gets to be privileged that way
13:11 kjs_ joined #perl6
13:11 araujo_ joined #perl6
13:11 masak we lost 25% startup time? :(
13:12 ShimmerFairy [Coke]: no, this was part of my process on making stuff work; I saw the tests failing on +"", was surprised, mentioned it in the channel, and then fixed the tests while hacking away.
13:12 ShimmerFairy [Coke]: And let me say I was *really* surprised with finding that +"" -> 0 . That feels as wrong as ?"0" -> False to me.
13:12 lizmat masak: yeah, on power, we're now at 128 msecs, before it was 94 msecs
13:12 ShimmerFairy I will momentarily revert my merge and push the branch pointer as an alternative :)
13:12 FROGGS joined #perl6
13:12 moritz masak: I know, I know
13:17 hernanGOA joined #perl6
13:19 leont joined #perl6
13:22 [TuxCM] joined #perl6
13:22 ShimmerFairy Alright, I think I understand how to revert it: revert the merge, and the later revert the revert before merging in again (assuming there've been changes since then), right?
13:24 lizmat ShimmerFairy: am too much a git noob to answer that
13:24 ShimmerFairy lizmat: that's what the how-to said, I'm just stating it here beforehand in case it's very much the wrong thing to do here :)
13:28 hoelzro o/ #perl6
13:28 hoelzro ShimmerFairy++ # implementing val()
13:30 dalek rakudo/nom: e4b5fb3 | ShimmerFairy++ | / (10 files):
13:30 dalek rakudo/nom: Revert "Merge branch 'allomorphs' into nom"
13:30 dalek rakudo/nom:
13:30 dalek rakudo/nom: This reverts commit b516e64c570a1af0982730334b92a2fdcb558aee, reversing
13:30 dalek rakudo/nom: changes made to 00be1e89dca669f5da082b96e8205c1a832d8c4f.
13:30 dalek rakudo/nom:
13:30 dalek rakudo/nom: For better or worse, there are other major changes that prevent this
13:30 dalek rakudo/nom: merge from being more helpful than hurtful for now. So this revert is in
13:30 dalek rakudo/nom: the interesting of waiting for a better time :)
13:30 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/e4b5fb3770
13:31 dalek roast: da3f450 | ShimmerFairy++ | / (13 files):
13:31 dalek roast: Revert "Merge branch 'allomorphs'"
13:31 dalek roast:
13:31 dalek roast: This reverts commit b5b4a29d7a1f9bf7f61e09c21b455a911b4ae4b5, reversing
13:31 dalek roast: changes made to 61048741deb34d2a818e74de705bcfea9fec7a62.
13:31 dalek roast:
13:31 dalek roast: Wait to make these modifications to the test files.
13:31 dalek roast: review: https://github.com/perl6/roast/commit/da3f45045e
13:31 rindolf joined #perl6
13:32 mrf qgitqwq
13:32 mrf fail
13:32 lizmat m: <<a "{40+2}" c>>.perl.say
13:32 camelia rakudo-moar 00be1e: OUTPUT«("a", "42", "c")␤»
13:32 GLRelia rakudo-moar 467b79: OUTPUT«("a", IntStr.new(42, "42"), "c")␤»
13:34 masak mrf: do you actually have a `qgitqwq` command? :P
13:34 masak (because that's awesome and slightly disturbing)
13:35 ShimmerFairy lizmat: for some reason camelia is stuck before the merge (though at this moment it doesn't matter so much :P)
13:36 moritz ./perl6-j --target=jar --output=lib/Test.pm.jar -Ilib lib/Test.pm
13:36 moritz Unhandled exception: java.lang.StackOverflowError
13:36 mrf masak: thats about three commands strung together
13:36 masak moritz: it's very important for the power balance. all the clones get to feel "equal", or -- perhaps more importantly -- all the clones get to imagine they're the original.
13:36 araujo joined #perl6
13:37 mrf ok I have removed some whitespace from docs/announce/2015.md. How do I commit this.
13:38 * mrf makes his first foray into the perl6 core by fixing some trailing whitespace in docs :D
13:39 moritz mrf: you make a pull request
13:39 mrf moritz: new branch?
13:39 moritz mrf: yes
13:40 mrf awesome
13:41 [TuxCM] current checkout for nom: ☑ 🐼, ☑ Slang::Tuxic, ☑ Inline::Perl5
13:41 masak .u 🐼
13:41 yoleaux U+1F43C PANDA FACE [So] (🐼)
13:43 masak [TuxCM]: meaning that it all works?
13:43 hoelzro +1 to merging glr into nom
13:43 hoelzro we're going to have to break it eventually
13:43 [TuxCM] now testing Text::CSV
13:43 [TuxCM] All tests successful.
13:44 muraiki joined #perl6
13:44 lizmat hoelzro: I'm testing merging nom into glr (again) after ShimmerFairy's revert
13:44 * [TuxCM] sits next to lizmat - waiting for decisions
13:44 hoelzro yaaay lizmat++
13:44 lizmat quite some fails  :-(
13:44 [TuxCM] but with current checkout of nom all still passes, which might be an OK reference point
13:45 hoelzro =(
13:45 muraiki what does the "nom" in the nom branch indicate?
13:46 muraiki oh, that's the default branch
13:46 cdc muraiki: new object model
13:46 lizmat New Object Model
13:46 muraiki thanks :)
13:46 dalek rakudo/nom: 630102f | (Mike Francis)++ | docs/announce/2015.08.md:
13:46 dalek rakudo/nom: Remove trailing whitespace in anounce docs
13:46 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/630102fb2d
13:46 dalek rakudo/nom: e6f3602 | masak++ | docs/announce/2015.08.md:
13:46 dalek rakudo/nom: Merge pull request #523 from ungrim97/trailing-whitespace
13:46 dalek rakudo/nom:
13:46 dalek rakudo/nom: Remove trailing whitespace in anounce docs
13:46 mrf woot first pull request :D
13:46 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/e6f36021ab
13:46 masak mrf: merged.
13:46 mrf \0/
13:46 masak \Ω/
13:47 mrf showoff
13:47 masak \🐼/
13:47 jdv79 are we still doing version strings as spec'd?
13:47 masak jdv79: ...yes...?
13:47 inokenty joined #perl6
13:48 jdv79 so 1.05 and v1.05 are equivalent and fine?
13:48 RabidGravy so anyway I reached the 100 day streak on github
13:48 RabidGravy I can give up programming now
13:49 lizmat RabidGravy--  # on giving up programming :-)
13:50 lizmat RabidGravy++   # for 100 day streak
13:50 masak RabidGravy: you will be missed.
13:50 RabidGravy no, I'm just going to Ibiza for a couple of weeks
13:51 RabidGravy ;-)
13:51 pink_mist RabidGravy++ # since I don't think RabidGravy+=100 works
13:53 dalek rakudo/glr: 18f5d25 | ShimmerFairy++ | t/spectest.data:
13:53 dalek rakudo/glr: Add allomorphic.t to spectest.data
13:53 dalek rakudo/glr:
13:53 dalek rakudo/glr: Somehow forgot about this file, lizmat++ for reminding me :) .
13:53 dalek rakudo/glr: review: https://github.com/rakudo/rakudo/commit/18f5d2590c
13:54 dalek joined #perl6
13:55 lizmat ok, so I merged nom into glr again
13:56 lizmat after that I will try to merge glr into nom and see how that works out
13:56 brrt i've you've merged nom into glr, merging glr into nom is a nop
13:56 khw joined #perl6
13:58 mrf qqmake test
13:58 [TuxCM] building nom …
13:58 [TuxCM] building glr …
13:58 mrf Apparently I can't type in the right window today
13:58 moritz brrt: it's a fast-forward merge, not a no-op :-)
13:58 masak apparently, mrf can give commands to [TuxCM] over IRC :P
13:59 [TuxCM] panda fails on glr
13:59 brrt moritz: fair enough
13:59 dalek roast/glr: e6b961b | ShimmerFairy++ | S02-literals/allomorphic.t:
13:59 dalek roast/glr: Unfudge these allomorphic tests
13:59 dalek roast/glr:
13:59 dalek roast/glr: I somehow forgot about them as I got into introducing val() and
13:59 dalek roast/glr: allomorphic types for rakudo.
13:59 colomon [TuxCM]: it was working earlier today.
13:59 dalek roast/glr: review: https://github.com/perl6/roast/commit/e6b961b818
13:59 dalek roast/glr: be1f8da | ShimmerFairy++ | / (3 files):
13:59 dalek roast/glr: Un-skip these bigint-using tests.
13:59 dalek roast/glr: review: https://github.com/perl6/roast/commit/be1f8dadef
13:59 dalek roast/glr: da3f450 | ShimmerFairy++ | / (13 files):
13:59 dalek roast/glr: Revert "Merge branch 'allomorphs'"
13:59 dalek roast/glr:
13:59 dalek roast/glr: This reverts commit b5b4a29d7a1f9bf7f61e09c21b455a911b4ae4b5, reversing
13:59 dalek roast/glr: changes made to 61048741deb34d2a818e74de705bcfea9fec7a62.
13:59 dalek roast/glr:
13:59 dalek roast/glr: Wait to make these modifications to the test files.
13:59 dalek roast/glr: review: https://github.com/perl6/roast/commit/da3f45045e
13:59 dalek roast/glr: 235c664 | lizmat++ | / (16 files):
13:59 dalek roast/glr: Merge branch 'master' into glr
13:59 dalek roast/glr: review: https://github.com/perl6/roast/commit/235c664d43
14:00 lizmat was panda supposed to work on glr now ?
14:00 kjs_ joined #perl6
14:00 colomon lizmat: yes
14:01 colomon indeed, I tried it again just now and it worked
14:01 jdv79 why is license in META6.json a scalar?
14:01 jdv79 what about "GPL or Artistic"?
14:02 [TuxCM] fails with liz too
14:02 masak jdv79: because making it an array would be needless complexity?
14:02 masak jdv79: (besides, the Artistic license is already a superset of GPL)
14:02 lizmat jdv79: no particular reason, really
14:03 flussence just split on spaces if it needs to be parsed, that's what Gentoo's format does
14:04 jdv79 meh.  just wondering.  i guess since rakudo is just Art 2.0 there's something to point to though somewhat arbitrary
14:04 lizmat jdv79: when I wrote S22 I never thought about multiple licenses
14:04 colomon lizmat: whoops, may have wandered back to nom
14:04 orbus joined #perl6
14:04 lizmat colomon: huh?
14:05 lizmat I wanted to have ShimmerFairy's reverts in glr as well
14:05 andreoss m: $_ for ^10**7
14:05 camelia rakudo-moar e4b5fb: ( no output )
14:05 colomon lizmat: I thought I was running panda on glr, but I think I switched back to nom in a different window so I could run something that doesn’t run on glr.
14:05 GLRelia rakudo-moar a6bb0b: OUTPUT«(timeout)»
14:05 colomon lizmat: I’m having a hard time keeping track of things, because I use p6 for real stuff all the time, and the glr-induced issues are a big gotcha today.
14:06 colomon Done, built panda for moar-glr
14:06 lizmat colomon  :-(
14:06 colomon lizmat: it just means I have to use rakudobrew to switch back and forth a lot.  but I loose track of where I am.
14:07 colomon I think glr + modules will be fine in the short term, it’s just not fine at this instant.
14:07 colomon panda seems to be working okay under GLR for me.
14:08 andreoss $ time perl6-glr -e '$_ for ^10**7'
14:08 andreoss 1m8.191s
14:08 andreoss $ time perl6-nom -e '$_ for ^10**7'
14:08 andreoss 0m23.335s
14:08 andreoss $ time perl5 -E '$_ for 0..10**7'
14:08 andreoss 0m0.332
14:08 andreoss 10**7 doesn't seem like a lot
14:09 FROGGS_ joined #perl6
14:09 moritz patches welcome :-)
14:13 timotimo ShimmerFairy: that mention of Seq may actually refer to a different kind of Seq, which is more about syntactic stuff? i'm not 100% sure
14:13 ShimmerFairy timotimo: I'm positive it's a different mention, it's just weird to see there was once something else called Seq :)
14:14 dalek roast/glr: 6c044ce | lizmat++ | S02-literals/quoting.t:
14:14 dalek roast/glr: Revert some more allomorphic changes breaking GLR
14:14 dalek roast/glr: review: https://github.com/perl6/roast/commit/6c044ceeaf
14:15 lizmat FWIW, lock.t now consistently fails on OS X with "Abort trap: 6"
14:16 timotimo mhm
14:16 kjs_ joined #perl6
14:17 hoelzro yikes, that's probably my fault
14:17 hoelzro but then again, I don't think the test was correct earlier
14:18 hoelzro lizmat: is that on GLR or nom?
14:18 lizmat either
14:18 * hoelzro builds and tries on Arch
14:20 go|dfish joined #perl6
14:21 hoelzro I never thought I'd say this, but crap, it passes =/
14:23 RabidGravy wahay!
14:24 colomon did we change Test’s done to something else?  I know there was muttering about it...
14:24 RabidGravy done-testing
14:24 PerlJam colomon: done-testing
14:25 coke__ joined #perl6
14:25 colomon well, that was the sole actual GLR failure on Math::Vector.  :)
14:26 hoelzro lizmat: is it test 7 or 8 that aborts?
14:28 masak m: sub foo(&bar:(Int --> Bool)) { say bar(42) }; sub bar(Int $x) { ?$x }; foo(&bar)
14:28 camelia rakudo-moar e6f360: OUTPUT«True␤»
14:28 GLRelia rakudo-moar a6bb0b: OUTPUT«True␤»
14:28 masak m: sub foo($bar:(Int --> Bool)) { say bar(42) }; sub bar(Int $x) { ?$x }; foo(&bar)
14:28 camelia rakudo-moar e6f360: OUTPUT«Too few positionals passed; expected 1 argument but got 0 in sub-signature of parameter $bar:␤  in sub foo at /tmp/_0GGJnVYrI:1␤  in block <unit> at /tmp/_0GGJnVYrI:1␤␤»
14:28 GLRelia rakudo-moar a6bb0b: OUTPUT«Too few positionals passed; expected 1 argument but got 0 in sub-signature of parameter $bar:␤  in sub foo at /tmp/3CbG0Tzlzd:1␤  in block <unit> at /tmp/3CbG0Tzlzd:1␤␤»
14:28 masak I just explained nested signatures to lichtkind++
14:29 masak but then I couldn't understand why it doesn't work when I do &bar --> $bar
14:29 masak any simple explanation for that?
14:30 hoelzro commute &
14:30 moritz masak: uhm, what doesn't work?
14:30 masak moritz: my second eval.
14:31 PerlJam bar is not $bar
14:31 masak oh argh
14:31 PerlJam m: sub foo(&bar:(Int --> Bool)) { say bar(42) }; sub bar(Int $x) { ?$x }; foo(&bar)  # how I would have probably done it :)
14:31 camelia rakudo-moar e6f360: OUTPUT«True␤»
14:31 GLRelia rakudo-moar a6bb0b: OUTPUT«True␤»
14:32 masak m: sub foo($bar:(Int --> Bool)) { say $bar(42) }; sub xyzzy(Int $x) { ?$x }; foo(&xyzzy)
14:32 camelia rakudo-moar e6f360: OUTPUT«5===SORRY!5=== Error while compiling /tmp/3MMUgdexQI␤Variable '$bar' is not declared. Did you mean '$bar:'?␤at /tmp/3MMUgdexQI:1␤------> 3sub foo($bar:(Int --> Bool)) { say 7⏏5$bar(42) }; sub xyzzy(Int $x) { ?$x }; f␤»
14:32 GLRelia rakudo-moar a6bb0b: OUTPUT«5===SORRY!5=== Error while compiling /tmp/v6Gn9PrnHe␤Variable '$bar' is not declared. Did you mean '$bar:'?␤at /tmp/v6Gn9PrnHe:1␤------> 3sub foo($bar:(Int --> Bool)) { say 7⏏5$bar(42) }; sub xyzzy(Int $x) { ?$x }; f␤»
14:34 [TuxCM] Grrrrrrrr, panda builds under glr, but the master branch, not the glr branch. *confusing*
14:35 colomon Cannot .elems a lazy list
14:35 colomon hmmm
14:35 YuviPanda so any vague ideas when GLR will be merged into master? in the order of 'weeks' / 'months'?
14:36 RabidGravy hours/days
14:36 PerlJam YuviPanda: if by "master" you mean "nom", [Coke] was going to do it yesterday I thought, so .... probably today sometime
14:36 YuviPanda aaaah
14:36 YuviPanda ok :D
14:36 YuviPanda what does rakudobrew build?
14:37 YuviPanda a version based off nom?
14:37 [TuxCM] Slang::Tuxic pas on glr (skipping Inline::Perl5 for the moment)
14:38 RabidGravy which woould be cool as I may have 14 modules to remedy before I go on holiday
14:38 colomon YuviPanda: builds nom by default, but to get glr you just say rakudobrew build moar glr
14:39 colomon (this is true for any branch / tag / commit of rakudo)
14:39 colomon (not just glr)
14:39 YuviPanda ah nice
14:40 lizmat moving again&
14:41 colomon so… under GLR, why can’t I .elems a lazy list?
14:42 colomon m: say (1..3).map(*+2).elems
14:42 camelia rakudo-moar e6f360: OUTPUT«3␤»
14:42 GLRelia rakudo-moar a6bb0b: OUTPUT«3␤»
14:42 moritz mostly to guard against accidental reification
14:42 moritz m: say (1..*).map(*+2).elems
14:42 GLRelia rakudo-moar a6bb0b: OUTPUT«Cannot .elems a lazy list␤  in block <unit> at /tmp/0mwsMzox59:1␤␤Actually thrown at:␤  in block <unit> at /tmp/0mwsMzox59:1␤␤»
14:43 moritz nom hangs
14:43 camelia rakudo-moar e6f360: OUTPUT«(timeout)»
14:43 Possum joined #perl6
14:43 moritz colomon: fwiw this is only for most-likely-infinite lists
14:43 colomon sure, if lazy means infinite
14:44 colomon hurm…. pre-glr, Math::Polynomial worked, ergo it didn’t hang.
14:44 colomon now it dies with Cannot .elems a lazy list
14:48 colomon m: say 1..5 Z+ 1 xx *
14:48 GLRelia rakudo-moar a6bb0b: OUTPUT«(2 3 4 5 6)␤»
14:48 camelia rakudo-moar e6f360: OUTPUT«2 3 4 5 6␤»
14:48 colomon m: say 1..5, 0 xx * Z+ 1..20
14:48 GLRelia rakudo-moar a6bb0b: OUTPUT«Cannot .elems a lazy list␤  in block <unit> at /tmp/voVi3GQojN:1␤␤Actually thrown at:␤  in block <unit> at /tmp/voVi3GQojN:1␤␤»
14:48 camelia rakudo-moar e6f360: OUTPUT«2 4 6 8 10 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20␤»
14:49 colomon there, that’s the problem
14:49 colomon m: say 1..5 Z+ 1 xx *
14:49 camelia rakudo-moar e6f360: OUTPUT«2 3 4 5 6␤»
14:49 GLRelia rakudo-moar a6bb0b: OUTPUT«(2 3 4 5 6)␤»
14:49 colomon m: say 1 xx * Z+ 1..5
14:49 GLRelia rakudo-moar a6bb0b: OUTPUT«(2 3 4 5 6)␤»
14:49 camelia rakudo-moar e6f360: OUTPUT«2 3 4 5 6␤»
14:49 colomon m: say 0, 1 xx * Z+ 1..5
14:49 camelia rakudo-moar e6f360: OUTPUT«1 3 4 5 6␤»
14:49 GLRelia rakudo-moar a6bb0b: OUTPUT«Cannot .elems a lazy list␤  in block <unit> at /tmp/wdBgE8M1eF:1␤␤Actually thrown at:␤  in block <unit> at /tmp/wdBgE8M1eF:1␤␤»
14:52 rarara joined #perl6
14:53 kjs_ joined #perl6
14:54 andreoss joined #perl6
14:54 andreoss m: $_ for ^10**9
14:54 camelia rakudo-moar e6f360: OUTPUT«Memory allocation failed; could not allocate 10240 bytes␤»
14:54 andreoss hangs laptop for me
14:55 GLRelia rakudo-moar a6bb0b: OUTPUT«(timeout)»
14:56 inokenty joined #perl6
15:05 perl6_newbee joined #perl6
15:13 RabidGravy boom
15:13 masak_venue joined #perl6
15:14 masak_venue m: subset A; subset B; multi foo(A, B) { say "AB" }; multi foo(B, A) { say "BA" }; foo(1, 1)
15:14 camelia rakudo-moar e6f360: OUTPUT«AB␤»
15:14 GLRelia rakudo-moar a6bb0b: OUTPUT«AB␤»
15:15 masak_venue S12 specifies that AB wins here, right?
15:15 TimToady m: $_ for ^(10**9)
15:15 leont joined #perl6
15:15 camelia rakudo-moar e6f360: OUTPUT«Memory allocation failed; could not allocate 10240 bytes␤»
15:15 masak_venue I was reading http://design.perl6.org/S12.html#Multisub_Resolution but I couldn't find the phrase that says that AB wins instead of tieing.
15:15 GLRelia rakudo-moar a6bb0b: OUTPUT«(timeout)»
15:15 rarara m: say (flat(0, (1 xx *))) Z+ 1..5
15:15 camelia rakudo-moar e6f360: OUTPUT«1 3 4 5 6␤»
15:15 GLRelia rakudo-moar a6bb0b: OUTPUT«(1 3 4 5 6)␤»
15:16 rarara colomon: ^
15:17 hahainternet joined #perl6
15:19 dha joined #perl6
15:23 vendethiel "in python, your parameter names are expose to the users. They're part of the public API". FWIW, I'm very glad we chose not to (or, rather, removed it pretty early, as I've read) :)
15:24 vendethiel .oO( we should write a  python import-sorter! )
15:24 vendethiel ^ I'm afraid that's not really doable in Perl6, "sadly"
15:26 timotimo huh?
15:26 MilkmanDan joined #perl6
15:26 timotimo parameter names *are* exposed to the user
15:26 nine Aah..my slides are finally done :)
15:27 araujo joined #perl6
15:28 dha nine - congratulations.
15:29 masak_venue vendethiel: we removed it, but quite late in the game. I think it was around 2012.
15:29 nine colomon: All you need to do to do .elems on a Seq is .list it
15:30 masak_venue vendethiel: I remember discussing it with jnthn in St Petersburg.
15:32 ShimmerFairy m: sub foo(Int $a) { }; say &foo.signature;  # and yet you still can, fwiw
15:32 camelia rakudo-moar e6f360: OUTPUT«(Int $a)␤»
15:32 GLRelia rakudo-moar a6bb0b: OUTPUT«(Int $a)␤»
15:32 RabidGravy yeah
15:32 vendethiel timotimo: I'm talking about named args vs positional args. but yes
15:33 domidumont joined #perl6
15:35 bioexpress joined #perl6
15:37 timotimo oh, you mean because you can pass all args as nameds in python or something like that?
15:39 vendethiel timotimo: yes
15:39 timotimo i forgot about that
15:39 vendethiel I think c# stole that from python, as well
15:42 japhb m: ':16<f.8*:4[2]**:2[1,0,0]>/​-:60[1,0]'.Numeric.perl.say
15:42 yoleaux 07:55Z <nine> japhb: That sounds like some low hanging fruit indeed!
15:42 camelia rakudo-moar e6f360: OUTPUT«Failure.new(exception => X::Str::Numeric.new(source => ":16<f.8*:4[2]**:2[1,0,0]>/​-:60[1,0]", pos => 26, reason => "base-10 number must begin with valid digits or '.'"), backtrace => Backtrace.new)␤»
15:42 GLRelia rakudo-moar a6bb0b: OUTPUT«Failure.new(exception => X::Str::Numeric.new(source => ":16<f.8*:4[2]**:2[1,0,0]>/​-:60[1,0]", pos => 26, reason => "base-10 number must begin with valid digits or '.'"), backtrace => Backtrace.new)␤»
15:42 yoleaux 07:59Z <nine> japhb: But someone must have come to the same conclusion, since in the glr branch there already is a multi method print(IO::Handle:D: str:D \x) {
15:42 yoleaux 10:41Z <FROGGS> japhb: all tests pass now on my linux box...
15:43 japhb nine: Ah, gotcha.
15:43 japhb FROGGS: Woot!
15:44 japhb m: ':16<f.8*:4[2]**:2[1,0,0]>/​-:60[1,0]'.Numeric.perl.say  # Should produce <-62/15>
15:44 camelia rakudo-moar e6f360: OUTPUT«Failure.new(exception => X::Str::Numeric.new(source => ":16<f.8*:4[2]**:2[1,0,0]>/​-:60[1,0]", pos => 26, reason => "base-10 number must begin with valid digits or '.'"), backtrace => Backtrace.new)␤»
15:44 GLRelia rakudo-moar a6bb0b: OUTPUT«Failure.new(exception => X::Str::Numeric.new(source => ":16<f.8*:4[2]**:2[1,0,0]>/​-:60[1,0]", pos => 26, reason => "base-10 number must begin with valid digits or '.'"), backtrace => Backtrace.new)␤»
15:45 japhb ^^ ShimmerFairy, is that breakage related to your val() changes?
15:45 ShimmerFairy japhb: not for now, but note that you're not allowed signed denominators _or_ fractional components in a / fraction :)
15:45 ShimmerFairy (none of the errors I wrote start with "base-10 number...")
15:46 japhb ShimmerFairy: What makes you think that?
15:46 ShimmerFairy japhb: S02
15:47 japhb I'm guessing that's changed then, because I remember no such strictures.  (And certainly it worked fine as of a year ago.)
15:47 ShimmerFairy > Rational literals are indicated by separating two integer literals (in any radix) with a slash, and enclosing the whole in angles
15:47 diakopter joined #perl6
15:48 ShimmerFairy and the "no negative denominators" can be seen in tests in roast, at least
15:48 japhb The thing inside the :16<> is an integer.  It's just parser pushing
15:48 colomon nine: that error is coming inside METAOP_ZIP
15:48 japhb Yes, roast I can see is incomplete.
15:48 ShimmerFairy japhb: no, I mean that there are tests explicitly against negative denoms in Rat literals :)
15:49 CIAvash joined #perl6
15:49 japhb Who added them?  (I certainly did not.)
15:49 ShimmerFairy m: say <-1/2>.perl; say <1/-2>.perl
15:49 camelia rakudo-moar e6f360: OUTPUT«-0.5␤"1/-2"␤»
15:49 GLRelia rakudo-moar a6bb0b: OUTPUT«-0.5␤"1/-2"␤»
15:49 ShimmerFairy TimToady, I believe
15:49 masak_venue vendethiel: sometimes I wish we had the named-args-to-positional-params mapping in Perl 6 too. but most of the time not.
15:49 japhb Oh, I see the problem ... you're thinking I put something with < > around the whole thing.  I didn't.
15:50 vendethiel masak_venue: I'm glad we have it... explicitly, really.
15:50 vendethiel I'm terrible at naming things, and like to only do it sparingly :P
15:50 nine colomon: what does the code triggering that looking like?
15:51 japhb m: '-62/15'.Numeric.perl.say
15:51 camelia rakudo-moar e6f360: OUTPUT«<-62/15>␤»
15:51 GLRelia rakudo-moar a6bb0b: OUTPUT«<-62/15>␤»
15:51 ShimmerFairy japhb: well, I took my cues writing val() from how integers are handled as literals in Perl6 :)
15:51 ShimmerFairy m: say "62/-15".Numeric.perl
15:51 japhb ShimmerFairy: ^^ You don't need <...> to make a Rat.
15:51 camelia rakudo-moar e6f360: OUTPUT«<-62/15>␤»
15:51 GLRelia rakudo-moar a6bb0b: OUTPUT«<-62/15>␤»
15:51 TimToady you can certainly rely on constant folding to move a negative from the denominator to the numerator, but by spec the sign belongs on the numerator in the representation
15:51 ShimmerFairy TimToady: that's what I saw in the <> tests and in the Rat.new implementation, so I went with it for val() :)
15:52 kjs_ joined #perl6
15:52 japhb TimToady: I'm simply arguing that without a < ... > wrapping, Str.Numeric and constant-fold should produce the same result.
15:52 ShimmerFairy (you'll also see in my code that I added a "please use EVAL" for :#() style radices, on the interest of not turning val() into a mini-P6 parser)
15:52 japhb ShimmerFairy: I guess my question is: Why re-implement Str.Numeric.  It worked.  Well.  All that was missing was allomorphism.
15:53 * japhb spent quite a lot of time on it, actually
15:53 ShimmerFairy japhb: I moved the implementation of number parsing to val(), and in the process sought to make a less magical converter. I think there's a point where .Numeric can't do everything.
15:54 japhb You *stripped out functionality*
15:54 TimToady the intent is that val() support :# as well
15:54 ShimmerFairy :16<f.8*:4[2]**:2[1,0,0]>/​-:60[1,0]  would fail in what I wrote, both because :#[] is NYI and because the function cautiously prohibits anything fractional in adverbial radices where / fractions are concerned.
15:54 japhb Right, but you NYI something that was *ALREADY IMPLEMENTED*
15:54 ShimmerFairy and :#<num*num**num> produces a Num, which is not allowed for Rat literals.
15:55 TimToady sorry, a bit distracted by lightening talks at the moment :)
15:56 ShimmerFairy japhb: well, :#[] was NYI in yours too, and fractional radices nor signed denoms are spec'd as valid for Rat literals (and I based val() on "find valid numeric literals", not "magically EVAL into a number")
15:56 japhb I fully admit I have a vested interest in this code, so that makes me a bit more emotional, but my point is: Refactoring does not mean "strip out the things that seem too magical".  Don't NYI something that *is* I, without asking why.
15:56 ShimmerFairy (also, I will point out that my work has been temporarily unmerged, so camelia won't be showing the results of my work)
15:57 ShimmerFairy japhb: I just went by what the specs and tests told me. Don't blame me for trying my best in that regard.
15:57 japhb I understand.  I'm sorry if I seem frustrated.  My apologies there.
15:58 hoelzro .tell lizmat I think that abort() is from libuv; why, I don't know, but at least I can reproduce it on OpenBSD
15:58 yoleaux hoelzro: I'll pass your message to lizmat.
15:58 japhb I'm trying to say: There was nothing to implement there other than 1) what was in the TODO block at the top, and 2) allomorphism, which I couldn't get to work at the time.  Why do a from-scratch re-impl?
15:58 skids ShimmerFairy: If I read TimToady's comment correctly the idea with neg denoms is supposed to be "allow them on input, but never output them that way"
15:58 ShimmerFairy japhb: And the reason why I didn't simply copy over your implementation is because it seemed huge and confusing, and I wanted to spend my time writing code instead of trying to interpret it. This doesn't mean much though, when you consider my implementation is similarly huge and unwieldy :P .
15:59 ShimmerFairy (it really should be implemented as a grammar/actions kind of thing, but I don't know how much slower that would be)
15:59 japhb It's because the problem space is more complex than it seems.  :-)
16:00 grondilu Hello.  If I define infix:<*> for my class, shouldn't there a default consistant infix:<**>?
16:00 japhb It would be *much* slower.  I hand-tuned that code (at least for the backends that existed at the time), and grammars didn't come close, IIRC.
16:00 PerlJam skids: Aye, see S02:856
16:00 synbot6 Link: http://design.perl6.org/S02.html#line_856
16:01 ShimmerFairy also, I ended up coding a poor-man's version of regex's :: in the process, so that was cool :P
16:01 japhb Str.Numeric is a difficult but very hot function for a large class of glue and data analysis programs, so it deserves special care.
16:01 japhb heh
16:02 kjs_ joined #perl6
16:02 ShimmerFairy japhb: considering the increase in startup and that one sorting test that blew up in time taken (I think I know why, it involves a bunch of <>s in an AT-POS somewhere), I'd have to concur :)
16:03 japhb :-)
16:03 ShimmerFairy japhb: I'd still like to try a version that runs on grammars, or hooks into the slang, and see the difference. Maybe even having val() be a compile-time function wherever possible could speed things up
16:03 * grondilu guesses he must implement the Numeric role or something
16:03 raiph joined #perl6
16:04 japhb ShimmerFairy: I'm all for doing that comparison against modern moarvm; it seems likely that the tuning I went for could be done better, and the grammar engine is probably way more efficient than it was then.
16:04 masak_venue grondilu: shouldn't there be a default consistent infix:<**>? no, I don't believe there should be.
16:04 TimToady well, the grammar engine is still a lot slower than it should be
16:04 * TimToady has at least 3 optimizations in mind
16:05 ShimmerFairy japhb: I'd definitely appreciate an implementation that didn't recreate a recursive descent parser :P  (though doing it gives me hope that writing a PEG-doing thing in elisp won't be hard for me, when I want to focus more on writing a p6 major mode)
16:06 TimToady ovid keynoting now...
16:06 japhb TimToady: How big an effect do you think those will have?
16:07 TimToady dunno
16:07 ShimmerFairy .oO(How would you choose which optimization to try first? Longest Timespan Minimizer?)
16:08 RabidGravy or you could take stuff out until it can't parse perl anymore and then put the last bit back.
16:09 japhb RabidGravy: *snrk*
16:13 raiph joined #perl6
16:19 ShimmerFairy japhb: I do want to apologize for just replacing your existing code like that. I admit I wanted to write such a parser more than I wanted to understand the existing code :3 (and considering you wrote the original Str.Numeric, I'm sure you know why I liked the idea of writing it ☺)
16:22 masak_venue Ovid++
16:30 ShimmerFairy g'night, #perl6 o/  I'll think more on val()-related stuff tomorrow :)
16:31 RabidGravy Ovid++ # dunno why, but he's alright anyway
16:31 larion joined #perl6
16:34 hoelzro night ShimmerFairy
16:35 raiph joined #perl6
16:36 hernanGOA joined #perl6
16:38 andreoss` joined #perl6
16:40 kjs_ joined #perl6
16:42 japhb ShimmerFairy: I do understand, and thank you.  :-)
16:43 japhb Oh, I guess since he went to bed ...
16:43 n0tjack joined #perl6
16:43 japhb .tell ShimmerFairy I do understand, and thank you.  :-)
16:43 yoleaux japhb: I'll pass your message to ShimmerFairy.
16:43 japhb *she
16:43 PerlJam s/she/fae/  ;)
16:44 cognominal joined #perl6
16:44 RabidGravy they
16:44 dalek roast: 4747cd4 | usev6++ | S06-traits/is-copy.t:
16:44 dalek roast: Add test for RT #122220
16:44 dalek roast: review: https://github.com/perl6/roast/commit/4747cd49fc
16:44 synbot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=122220
16:44 RabidGravy simplifies
16:44 japhb PerlJam: Is that a joke, or her actual prefered pronoun?
16:44 PerlJam totally a joke.
16:44 japhb Ah, OK
16:44 muraiki haha
16:45 * japhb has always been bad with names, and is apparently now bad with pronouns too ...
16:46 RabidGravy this is why I just call everyone sweety and ignore the gender issue
16:46 * japhb winces
16:47 PerlJam RabidGravy: ah ... a taste-based nouning.  :)
16:47 PerlJam er, pronouning
16:48 muraiki I guess RabidGravy would have to go by "savory" then
16:49 RabidGravy oi usually works ;-)
16:49 PerlJam masak_venue: sometime tell us what Ovid did or said to earn your approval.  (or was it just that he was there?)
16:54 diana_olhovik_ joined #perl6
16:58 RabidGravy it was a blog post by Ovid that made me jump back in to perl 6, so maybe that should be negative karma ;-)
17:00 masak_venue PerlJam: he said a lot of sage things about Perl, Perl 5 and Perl 6.
17:00 masak_venue PerlJam: I can probably summarize better later. :)
17:07 dalek perl6-roast-data: 0344f33 | coke++ | / (10 files):
17:07 dalek perl6-roast-data: today (automated commit)
17:07 dalek perl6-roast-data: review: https://github.com/coke/perl6-roast-data/commit/0344f33cbc
17:10 [Coke] Boy, after two days back at $dayjob, I miss hanging out with everyone at the SPW. :|
17:11 jdv79 [Coke]: how cold is the fusion today?
17:12 colomon [Coke]: didn’t take two days for me.  :)
17:13 [Coke] colomon: today is just particularly bad.
17:13 colomon ah
17:13 cognominal joined #perl6
17:15 virtualsue joined #perl6
17:18 araujo joined #perl6
17:18 araujo joined #perl6
17:21 araujo joined #perl6
17:21 [Sno] joined #perl6
17:26 diana_olhovik joined #perl6
17:32 n0tjack r: say [1..10];
17:32 GLRelia rakudo-moar a6bb0b: OUTPUT«[1 2 3 4 5 6 7 8 9 10]␤»
17:32 GLRelia ..rakudo-jvm a6bb0b: OUTPUT«Can't open perl script "/home/steve/rakudo-inst/bin/eval-client.pl": No such file or directory␤»
17:32 camelia rakudo-{moar,jvm} e6f360: OUTPUT«1 2 3 4 5 6 7 8 9 10␤»
17:37 * [Coke] sighs, and heads back to the meeting.
17:37 skids joined #perl6
17:43 hoelzro .tell pmurias I've been trying to merge the js branch with master; is there code that is specific to how the MoarVM serialization process works?
17:43 yoleaux hoelzro: I'll pass your message to pmurias.
17:46 mohij joined #perl6
17:46 diana_olhovik_ joined #perl6
17:47 japhb [Coke]: I'm somewhat surprised that you haven't just created an nqp-coldfusion and been done with it.  ;-)
17:48 mohij What's the reason for merging glr back to nom if nom will be the legacy branch and glr the new master?
17:49 japhb mohij: I think whatever the names are, people are generally trying to say "make glr the default branch", whether that be by merging it into nom, by setting it default, by renaming it master and setting *that* to be the default again, whatever.
17:50 RabidGravy m: role F { }; sub (:$foo) { } does F ; # why does this work ?
17:50 camelia rakudo-moar e6f360: ( no output )
17:50 GLRelia rakudo-moar a6bb0b: ( no output )
17:50 japhb The overall point is just "Can we please be running glr as the default soon?" because we only have a couple weeks until the next scheduled release.  And it's a big one.
17:50 rangerprice joined #perl6
17:51 RabidGravy m: role F { }; sub (:$foo) does F { }; # whereas this doesn't ?
17:51 camelia rakudo-moar e6f360: OUTPUT«5===SORRY!5=== Error while compiling /tmp/meutR6Y_sE␤Cannot call trait_mod:<does>(Sub, F); none of these signatures match:␤    (Mu:U $doee, Mu:U $role)␤    (Variable:D $v, Mu:U $role)␤at /tmp/meutR6Y_sE:1␤»
17:51 GLRelia rakudo-moar a6bb0b: OUTPUT«5===SORRY!5=== Error while compiling /tmp/bnXxNi7ecU␤Cannot call trait_mod:<does>(Sub, F); none of these signatures match:␤    (Mu:U $doee, Mu:U $role)␤    (Variable:D $v, Mu:U $role)␤at /tmp/bnXxNi7ecU:1␤»
17:51 japhb (Due to previous declaration that initial spec will be slushy-frozen this month.)
17:51 colomon Is Phaser::ATEXIT in any way useful today?
17:51 diana_olhovik___ joined #perl6
17:53 * colomon has gotten three of his previously failing modules to work under GLR.  two of them were dead easy.
17:53 RabidGravy well glr and nom need to be merged to somewhere as there are changes in both
17:55 colomon the biggest issue I’m seeing so far is the switch from done to done-testing.
18:02 xiaomiao joined #perl6
18:03 lizmat joined #perl6
18:04 dalek roast: 6e925d7 | usev6++ | S14-roles/parameterized-mixin.t:
18:04 dalek roast: Add test for RT #123511
18:04 dalek roast: review: https://github.com/perl6/roast/commit/6e925d7898
18:04 synbot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=123511
18:08 diana_olhovik_ joined #perl6
18:09 FROGGS japhb: btw, the C++ stuff works so war on linux/gcc and windows/msvc
18:09 FROGGS s/gcc/g++/
18:12 diana_olhovik___ joined #perl6
18:13 n0tjack I saw the async test-runner linked from the p6 news blog (http://bit.ly/1JBMLvV)
18:14 n0tjack is there any syntactic sugar that to create non-reentrant procs like maybe-run-tests() there?
18:14 n0tjack rather than doing it manually with a global flag?
18:17 araujo joined #perl6
18:17 araujo joined #perl6
18:19 dalek rakudo/cpp3: 87da75e | FROGGS++ | t/04-nativecall/1 (2 files):
18:19 dalek rakudo/cpp3: skip test file when we cannot compile C++
18:19 dalek rakudo/cpp3: review: https://github.com/rakudo/rakudo/commit/87da75edf6
18:20 _itz
18:21 dwarring joined #perl6
18:22 muraiki
18:22 diana_olhovik_ joined #perl6
18:23 * FROGGS .oO( This page was intentionally left blank )
18:23 _itz trying ssh client from phone sorry
18:24 YuviPanda my client won't let me send a blank line
18:27 TimToady ShimmerFairy: I am in favor of +"" returning 0 because "0" is actually a special case: the only number we require a leading 0 on
18:27 n0tjack p6: say +"";
18:27 camelia rakudo-moar e6f360: OUTPUT«0␤»
18:27 GLRelia rakudo-moar a6bb0b: OUTPUT«0␤»
18:28 TimToady so arguably the correct representation of 0 is actually ""  :)
18:31 FROGGS japhb: cpp3 also works on my 32bit linux, though that has the same g++ version as my dev machine... 4.8.4
18:32 FROGGS japhb: os / g++ version do you have access to?
18:33 TimToady m: sub num2str ($num is copy) { my $str = ""; while $num { $str = $num % 10 ~ $str; $num div= 10 }; $str }; say "<{num2str(42)}> <{num2str(0)}>"
18:33 camelia rakudo-moar e6f360: OUTPUT«<42> <>␤»
18:33 GLRelia rakudo-moar a6bb0b: OUTPUT«<42> <>␤»
18:37 japhb FROGGS: gcc (Ubuntu 4.8.4-2ubuntu1~14.04) 4.8.4
18:37 FROGGS ahh, same as mine then
18:37 sjn_phone_ joined #perl6
18:38 * japhb goes to pick up lunch before meeting
18:39 yqt joined #perl6
18:41 TimToady ShimmerFairy: the code above demonstrates why I think "" is a reasonable degenerate case, and we try to get the degenerate cases right in Perl 6
18:42 moritz m: my @n = "*"; @n[1..2] = "*@*".split("*")
18:42 camelia rakudo-moar e6f360: ( no output )
18:42 GLRelia rakudo-moar a6bb0b: OUTPUT«This Seq has already been iterated, and its values consumed␤  in block <unit> at /tmp/CGi12jt6cW:1␤␤»
18:42 moritz GLR bug, I think
18:42 moritz m: my @n = "*"; @n[1..2] = <a b>.sort
18:42 camelia rakudo-moar e6f360: ( no output )
18:42 GLRelia rakudo-moar a6bb0b: OUTPUT«This Seq has already been iterated, and its values consumed␤  in block <unit> at /tmp/b0JNaSJFCe:1␤␤»
18:42 moritz m: my @n = "*"; @n[1, 2] = <a b>.sort
18:42 camelia rakudo-moar e6f360: ( no output )
18:42 GLRelia rakudo-moar a6bb0b: OUTPUT«This Seq has already been iterated, and its values consumed␤  in block <unit> at /tmp/96SIbgG5UU:1␤␤»
18:43 moritz m: my @n = "*"; @n[1, 2] = <a b>t
18:43 camelia rakudo-moar e6f360: OUTPUT«5===SORRY!5=== Error while compiling /tmp/y2btxm0WKX␤Two terms in a row␤at /tmp/y2btxm0WKX:1␤------> 3my @n = "*"; @n[1, 2] = <a b>7⏏5t␤    expecting any of:␤        infix␤        infix stopper␤        statement end␤        statem…»
18:43 GLRelia rakudo-moar a6bb0b: OUTPUT«5===SORRY!5=== Error while compiling /tmp/mVT0ipOB_8␤Two terms in a row␤at /tmp/mVT0ipOB_8:1␤------> 3my @n = "*"; @n[1, 2] = <a b>7⏏5t␤    expecting any of:␤        infix␤        infix stopper␤        statement end␤        statem…»
18:43 moritz m: my @n = "*"; @n[1, 2] = <a b>
18:43 camelia rakudo-moar e6f360: ( no output )
18:43 GLRelia rakudo-moar a6bb0b: ( no output )
18:43 moritz m: my @n = "*"; @n[1, 2] = <a b>.sort
18:43 camelia rakudo-moar e6f360: ( no output )
18:43 GLRelia rakudo-moar a6bb0b: OUTPUT«This Seq has already been iterated, and its values consumed␤  in block <unit> at /tmp/Y43rv70jju:1␤␤»
18:43 moritz m: my @n = "*"; @n[1..2] = <a b>
18:43 camelia rakudo-moar e6f360: ( no output )
18:43 GLRelia rakudo-moar a6bb0b: ( no output )
18:47 moritz m: my @n; @n[0, 1] = <a b>.sort
18:47 camelia rakudo-moar e6f360: ( no output )
18:47 GLRelia rakudo-moar a6bb0b: OUTPUT«This Seq has already been iterated, and its values consumed␤  in block <unit> at /tmp/2Hdo58uGHA:1␤␤»
18:47 st_iron joined #perl6
18:47 st_iron hello
18:48 moritz hi st_iron
18:49 dalek roast/glr: c6b955c | moritz++ | S32-list/seq.t:
18:49 dalek roast/glr: Add failing test for a GLR regression
18:49 dalek roast/glr:
18:49 dalek roast/glr: assignment of a Seq to an array slice dies with "This Seq has already been iterated"
18:49 dalek roast/glr: review: https://github.com/perl6/roast/commit/c6b955cfdc
18:51 st_iron I just realized that it is the time to really start playing with perl6 until Christmas
18:51 tadzik it is :)
18:52 tadzik then you still get your chance at finding something that really needs fixing before christmas comes
18:52 sufrostico joined #perl6
18:53 st_iron absolutely
18:54 lizmat dinner&
18:54 yoleaux 15:58Z <hoelzro> lizmat: I think that abort() is from libuv; why, I don't know, but at least I can reproduce it on OpenBSD
18:55 hoelzro (on that note, I discovered that it's because libuv is allocating too many file handles for use with kqueue)
18:55 hoelzro will continue researching after (work&meetup)
18:57 DavidIAm joined #perl6
18:58 DavidIAm I don't suppose there is any facility like Maybe/Option planned/existant in perl 6 so that you can telll the diff between a value that is undef and a value that is not set at all?   I was disappointed to see Perl with only 1 star in https://www.lucidchart.com/techblog/2015/08/31/the-worst-mistake-of-computer-science/
18:58 tadzik hoelzro: I'll have another patch to linenoise!
18:58 tadzik for M-d
19:00 hoelzro tadzik++
19:08 dha joined #perl6
19:13 raiph joined #perl6
19:15 muraiki DavidIAm: I'm also a fan of Maybe/Option. in p6 you can at least specify that an argument must be defined (or even undefined) in addition to its type
19:16 muraiki that doesn't get us around everything, but it helps prevent some errors
19:16 DavidIAm yeah, I can see that.
19:16 arnsholt m: class A {}; multi foo(A:D $) { say "defined" }; multi foo(A:U $) { say "undef" }; foo(A); foo(A.new) # DavidIAm
19:16 camelia rakudo-moar e6f360: OUTPUT«undef␤defined␤»
19:16 GLRelia rakudo-moar a6bb0b: OUTPUT«undef␤defined␤»
19:17 arnsholt The A:D form requires the parameter to be defined (so a "Just a" in Haskell terms), while A:U requires undefined
19:18 muraiki arnsholt: do we have anything approaching do notation in p6? even if we don't, I don't see why it wouldn't be feasible, but then again I don't know mcuh about p6 guts
19:19 arnsholt Do notation doesn't really make sense in Perl 6, since every statement sort of is in the IO monad anyways
19:19 DavidIAm so you're saying if I'm groking it that you can, per class, create a multi variant that is typed to catch the call when the parameter passed is undefined undesirably.
19:20 RabidGravy yes
19:20 DavidIAm Or require that it be passed.  But that doesn't really function from the opposite end
19:20 DavidIAm when you're holdin gsomething that you want to operate on that might not be defined?
19:20 telex joined #perl6
19:20 muraiki m: class A {}; sub foo(A:D $) { say "lol" }; foo(A);
19:20 camelia rakudo-moar e6f360: OUTPUT«Parameter '<anon>' requires an instance of type A, but a type object was passed.  Did you forget a .new?␤  in sub foo at /tmp/6V20leLA2Q:1␤  in block <unit> at /tmp/6V20leLA2Q:1␤␤»
19:20 GLRelia rakudo-moar a6bb0b: OUTPUT«Parameter '<anon>' requires an instance of type A, but a type object was passed.  Did you forget a .new?␤  in sub foo at /tmp/0C9x6_eBXA:1␤  in block <unit> at /tmp/0C9x6_eBXA:1␤␤»
19:21 arnsholt Basically, what muraiki showed. If you have an "only" sub (that is, non-multi) it'll cause an exception if you pass the wrong thing
19:21 DavidIAm I suppose you could create a function with which to operate on the value you are holding safely.
19:21 frobisher joined #perl6
19:21 muraiki man, that's a really nice error message
19:22 muraiki m: class A {}; sub foo(A:D $) { say "lol" }; foo();
19:22 camelia rakudo-moar e6f360: OUTPUT«Too few positionals passed; expected 1 argument but got 0␤  in sub foo at /tmp/PHpSgbdQhw:1␤  in block <unit> at /tmp/PHpSgbdQhw:1␤␤»
19:22 GLRelia rakudo-moar a6bb0b: OUTPUT«Too few positionals passed; expected 1 argument but got 0␤  in sub foo at /tmp/ICjLqySFik:1␤  in block <unit> at /tmp/ICjLqySFik:1␤␤»
19:22 muraiki hrm, that's not really what I wanted. well, you get the point
19:23 DavidIAm I doubt I need to go into why creating another function (or pair of) seems tedious if you have to do it particularly often.
19:23 khw joined #perl6
19:24 ugexe m: my $x; multi sub foo($y where *.defined) { say "defined"; }; multi sub foo($y where *.defined.not) { say "not defined"; }; foo($x); $x = 1; foo($x)
19:24 camelia rakudo-moar e6f360: OUTPUT«not defined␤defined␤»
19:24 GLRelia rakudo-moar a6bb0b: OUTPUT«not defined␤defined␤»
19:25 muraiki DavidIAm: I think part of the reason things work this way is for the sake of accommodating the meta-object protocol (might be using the wrong term here)
19:25 DavidIAm that dual evaluation tool is super cool.
19:26 muraiki where's that presentation...
19:26 muraiki http://jnthn.net/papers/2015-fosdem-static-dynamic.pdf
19:26 muraiki I came to perl6 being a bit more of a fan of strong typing, which is where you tend to see things like option/maybe
19:27 ugexe or something like multi sub foo($y where *.defined.not, |c) { $y = 1; nextwith($y,|c) }
19:27 muraiki that talk made me undersatnd what not having that isn't necessarily a horrible thing, and why p6 went this route
19:27 muraiki at the very least its' more safety than clojure will give you ;)
19:27 DavidIAm relative improvements are certainly not nothing.
19:27 bartolin m: my $x; my @a = 1,2; $x = Array.new(@a) => 'x'; @a.pop(); say $x;  # is that change with glr known/wanted
19:27 camelia rakudo-moar e6f360: OUTPUT«1 => x␤»
19:27 GLRelia rakudo-moar a6bb0b: OUTPUT«[1 2] => x␤»
19:28 bartolin m: my $x; my @a = 1,2; $x = @a => 'x'; @a.pop(); say $x;
19:28 camelia rakudo-moar e6f360: OUTPUT«1 => x␤»
19:28 GLRelia rakudo-moar a6bb0b: OUTPUT«[1] => x␤»
19:30 DavidIAm have there been any presentation decks that have to do with the discussion of nothings within perl 6?
19:30 moritz Mu
19:31 muraiki I think he means undef, not Mu :)
19:31 moritz muraiki: Mostly Undef, then :-)
19:31 muraiki from the tiny bit of the tutorial I did, it seems like Rust does a good job of using Option/Maybe throughout without pulling you into monad land
19:33 muraiki I think if I need to write some "do a bunch of things that could fail, aborting if one fails" code I'll use promise combinators of some sort.
19:35 moritz muraiki: or use die()
19:35 moritz try it. It's awesome.
19:35 muraiki well, without terminating the whole thing :)
19:35 RabidGravy :)
19:36 DavidIAm is there a 'promise failure' direction?  "this promise will never be fulfilled" sort of thing to do?
19:36 moritz you can have try { } blocks to limit its scope
19:36 muraiki well yeah
19:36 moritz you can also use a subroutine, and return or fail at various points
19:36 moritz which also naturally limits the scope of the failure
19:36 DavidIAm m: my $x; $x.stupendousmethod()
19:36 camelia rakudo-moar e6f360: OUTPUT«Method 'stupendousmethod' not found for invocant of class 'Any'␤  in block <unit> at /tmp/IlnFyVPkbN:1␤␤»
19:36 GLRelia rakudo-moar a6bb0b: OUTPUT«Method 'stupendousmethod' not found for invocant of class 'Any'␤  in block <unit> at /tmp/JPhKjkrGLT:1␤␤»
19:36 DavidIAm hmm.
19:36 moritz DavidIAm: if you break a promise, it'll never be fulfilled
19:37 muraiki to give additional context to what I'm talking about, I'm normally wanting to do a bunch of things concurrently and collect any errors, of whihc there may be more than one
19:37 DavidIAm moritz - so like, promise.break() or such?
19:37 muraiki and that's one of the big pain points p6 solves for me, since our entire code base is in p5 and talking between the two is so nice
19:37 moritz DavidIAm: correct
19:37 moritz DavidIAm: http://doc.perl6.org/type/Promise
19:38 ugexe use a supply block, emit any errors, and close the supply if any errors tickle your fancy enough to want to stop proceeding
19:39 muraiki ugexe: yeah, I love supplies. that's actually what got our first p6 code into almost-production (product not yet launched) because supplies made it so easy
19:39 DavidIAm so you might end up with my $x; sub breakable ($prom, $x) { try { $prom.keep($x.dereferencethis()) } catch { $prom.break("No can do") }
19:40 DavidIAm m: my $x; sub breakable ($prom, $x) { try { $prom.keep($x.dereferencethis()) } catch { $prom.break("No can do") } }
19:40 camelia rakudo-moar e6f360: OUTPUT«5===SORRY!5=== Error while compiling /tmp/ytmM04axmo␤Strange text after block (missing semicolon or comma?)␤at /tmp/ytmM04axmo:1␤------> 3try { $prom.keep($x.dereferencethis()) }7⏏5 catch { $prom.break("No can do") } }␤    expecting any o…»
19:40 GLRelia rakudo-moar a6bb0b: OUTPUT«5===SORRY!5=== Error while compiling /tmp/_4Jmpwakwv␤Strange text after block (missing semicolon or comma?)␤at /tmp/_4Jmpwakwv:1␤------> 3try { $prom.keep($x.dereferencethis()) }7⏏5 catch { $prom.break("No can do") } }␤    expecting any o…»
19:40 DavidIAm heh.
19:42 * DavidIAm mumbles while looking up try/catch.
19:42 ugexe its not going to work with a non-existent method either
19:42 muraiki DavidIAm: this has a good intro to promises in p6: jnthn.net/papers/2013-npw-conc.pdf
19:43 ugexe oh duh, thats the point!
19:43 DavidIAm :D
19:44 DavidIAm m: my $x; sub breakable ($prom, $x) { $prom.keep($x.dereferencethis()); CATCH { $prom.break("No can do") } }
19:44 GLRelia rakudo-moar a6bb0b: ( no output )
19:44 camelia rakudo-moar e6f360: ( no output )
19:44 DavidIAm there's obviously something I don't get there.  Huh.
19:45 DavidIAm make the promise be a promise maybe will help.
19:46 ugexe you have to call the sub
19:48 ugexe say breakable(Promise.new, ::('asdf')).perl or some such
19:49 DavidIAm ah, yes.  of course.
19:50 dalek doc: d227b15 | (David H. Adler)++ | lib/Type/IO/Spec/ (4 files):
19:50 dalek doc: Added TODO comments to the pod files in lib/Type/IO/Spec to be in line
19:50 dalek doc: with lib/Type/IO/Spec.pod
19:50 dalek doc: review: https://github.com/perl6/doc/commit/d227b15b9b
19:51 muraiki hrm yeah, I'm having trouble figuring out the right way to catch the failure when calling a non-existent method
19:51 muraiki m: class A {}; my $x = A.new; sub breakable ($prom, $x) { try { $prom.keep($x.dereferencethis()) }; CATCH { default { $prom.break("No can do") } } }; my $p = Promise.new(); breakable($p, $x); say $p.status
19:51 GLRelia rakudo-moar a6bb0b: OUTPUT«Planned␤»
19:51 camelia rakudo-moar e6f360: OUTPUT«Planned␤»
19:52 ugexe m: class A {}; my $x = A.new; say $x.?blargh()
19:52 camelia rakudo-moar e6f360: OUTPUT«Nil␤»
19:52 GLRelia rakudo-moar a6bb0b: OUTPUT«Nil␤»
19:52 DavidIAm Nil?  That's a new one on me.
19:52 moritz muraiki: the CATCH block must be inside the try { } block
19:52 muraiki whoops, thanks mortiz
19:52 muraiki moritz*
19:53 muraiki m: 'class A {}; my $x = A.new; sub breakable ($prom, $x) { try { $prom.keep($x.dereferencethis()); CATCH { default { $prom.break("No can do") } } } }; my $p = Promise.new(); breakable($p, $x); say $p.status
19:53 camelia rakudo-moar e6f360: OUTPUT«5===SORRY!5=== Error while compiling /tmp/jYYWD5rX4i␤Unable to parse expression in single quotes; couldn't find final "'" ␤at /tmp/jYYWD5rX4i:1␤------> 3.new(); breakable($p, $x); say $p.status7⏏5<EOL>␤    expecting any of:␤        sing…»
19:53 GLRelia rakudo-moar a6bb0b: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Q_elZu__3S␤Unable to parse expression in single quotes; couldn't find final "'" ␤at /tmp/Q_elZu__3S:1␤------> 3.new(); breakable($p, $x); say $p.status7⏏5<EOL>␤    expecting any of:␤        sing…»
19:53 muraiki yay failure to copy correct
19:53 muraiki maybe I should do this in a text editor instead of via perl6 - e
19:53 muraiki class A {}; my $x = A.new; sub breakable ($prom, $x) { try { $prom.keep($x.dereferencethis()); CATCH { default { $prom.break("No can do") } } } }; my $p = Promise.new(); breakable($p, $x); say $p.status
19:53 muraiki ok I give up. I am just spamming the channel now. but you get the point, DavidIAm
19:54 DavidIAm I'm working on understanding.
19:54 DavidIAm oh, there IS a try block.  okay.
19:54 DavidIAm what's the default block?
19:54 muraiki yeah the exceptions page doesn't actually explain the try block :(
19:54 RabidGravy dha, cheers I actually thought I did that but clearly not
19:55 moritz m: sub breakable($p, $x) { try { $p.keep($x.nope); UNDO { $p.break("OH NOEZ" } } }; breakable( my $p = Promise.new, (class :: { }).new ); say $p.status
19:55 camelia rakudo-moar e6f360: OUTPUT«5===SORRY!5=== Error while compiling /tmp/qo4ps0ebMY␤Unable to parse expression in argument list; couldn't find final ')' ␤at /tmp/qo4ps0ebMY:1␤------> 3eep($x.nope); UNDO { $p.break("OH NOEZ" 7⏏5} } }; breakable( my $p = Promise.new, (␤»
19:55 GLRelia rakudo-moar a6bb0b: OUTPUT«5===SORRY!5=== Error while compiling /tmp/H6U9aNwP_7␤Unable to parse expression in argument list; couldn't find final ')' ␤at /tmp/H6U9aNwP_7:1␤------> 3eep($x.nope); UNDO { $p.break("OH NOEZ" 7⏏5} } }; breakable( my $p = Promise.new, (␤»
19:55 muraiki DavidIAm:  you can match on the exception type, such as CATCH { when X::FooException { ... } }
19:55 moritz m: sub breakable($p, $x) { try { $p.keep($x.nope); UNDO { $p.break("OH NOEZ") } } }; breakable( my $p = Promise.new, (class :: { }).new ); say $p.status
19:55 camelia rakudo-moar e6f360: OUTPUT«Broken␤»
19:55 GLRelia rakudo-moar a6bb0b: OUTPUT«Broken␤»
19:55 DavidIAm so 'default' is a parallel level with 'when' for a switch type statement sequence
19:55 muraiki DavidIAm: if you dno't provide a default, the then exception propagates
19:56 DavidIAm or ist hat part of a CATCH block definition
19:56 moritz DavidIAm: inside the CATCH block you can have 'when' blocks to match against the exception, or a 'default' block that runs for every exception that isn't matched
19:56 DavidIAm Ahhhhhhhhhhhh!
19:56 moritz DavidIAm: and if none of the blocks match, the exception is rethrown
19:56 DavidIAm I think that sounds clever.
19:56 DavidIAm no need for manual rethrowing.  guut.
19:56 moritz and try { } is like having a CATCH { default { } } inside a block
19:57 moritz so, a catch-all
19:57 DavidIAm without hte try the scope is the full app?
19:57 moritz no, the outer scope of the CATCH block
19:57 moritz if 42 { CATCH {... }; only here }; not here
19:58 DavidIAm UNDO?  hm.
19:58 DavidIAm Oh, alright moritz, note.d
19:58 moritz UNDO runs on unsuccessful scope exit
19:58 muraiki nice
19:58 moritz m: sub breakable($p, $x) { try { $p.keep($x.nope); CATCH { default {$p.break("OH NOEZ") } } } }; breakable( my $p = Promise.new, (class :: { }).new ); say $p.status
19:58 camelia rakudo-moar e6f360: OUTPUT«Broken␤»
19:58 GLRelia rakudo-moar a6bb0b: OUTPUT«Broken␤»
19:59 moritz since there's a CATCH block in here, the 'try' is redundant
19:59 moritz m: sub breakable($p, $x) { $p.keep($x.nope); CATCH { default {$p.break("OH NOEZ") } } }; breakable( my $p = Promise.new, (class :: { }).new ); say $p.status
19:59 camelia rakudo-moar e6f360: OUTPUT«Broken␤»
19:59 GLRelia rakudo-moar a6bb0b: OUTPUT«Broken␤»
19:59 DavidIAm Unable to parse expression in argument list; couldn't find final ')' <-- can't quite get that.
20:00 RabidGravy moritz, I actually like the redundant try when you want to introduce a scope anyway :)
20:00 moritz DavidIAm: nopaste the code somewhere, I can take a look
20:00 frobisher documentation opinions. There are some TODOs in the docs that read "=begin comment\n\nTODO blah\n\n=end comment" Should those just be turned into "=comment TODO blah"?
20:01 DavidIAm moritz - no worries, thanks though.  learning curve.
20:02 moritz depends on the size of the "blah"
20:02 moritz if it's short, one line is fine; if it's a paragraph, several lines
20:02 dha right. e.g. "TODO: publish_method_cache"
20:03 dha I'm on the fence about "TODO: submethod_table, declares_method, lookup, cache, cache_get, cache_add"
20:03 DavidIAm with a negative test passing I try to get a positive test to pass
20:03 DavidIAm to define a class WITH a nope method.  is class Z { sub nope { 1 } } inadequate?
20:03 dha Hm. or... maybe those should be turned into headings and then given TODO comments.
20:04 muraiki DavidIAm: use "method nope"
20:04 DavidIAm Just so!  Thank you muraiki
20:04 RabidGravy dha, that looks like it could be made into a stub =head2 ....\n\n=comment TODO buut I guess not all like that
20:05 dha Right.
20:05 DavidIAm That's rather a noisty promisy way to handle a possibly undefined reference though.  Not nearly the .? though entirely customizable.
20:05 moritz RabidGravy: the docs should be readable to the user
20:05 dha so... s/could/should/ ? :-)
20:05 moritz RabidGravy: and I don't find empty headings very readable
20:06 dha moritz - Hm. I guess I disagree. But not strongly enough to argue the point. Would you rather they were just made into one or more TODOs?
20:07 dha oh, here's one that has =begin comment, etc, but *also* hashes at the beginning of the comment lines. I *think* that may be overkill.
20:08 dha moritz - FWIW, I note that there are currently many empty headings.
20:08 moritz dha: what would you feel if you bought a book where many of headings didn't have any text below it?
20:08 moritz I don't see why we should apply a lower standard in our docs
20:09 moritz dha: I know; I don't like that.
20:09 dha I would feel it was incomplete. But that's a fact of life with the docs at this point.
20:09 dha An empty heading indicates that something is there, if not actually fleshed out yet.
20:10 RabidGravy right, but a this is being released dynamically and there is no other way of people finding the presence of those things
20:10 dha (note: I'm trying to discuss, rather than argue. Not sure if that's coming across in text, though)
20:10 dha What RabidGravy said.
20:10 dha Thanks. That says what I was trying to say better than I did.
20:10 moritz wel, if I search for something via google, and find a headline that matches what I search, and then there's nothing there...
20:10 moritz then I'd rather not find that document in the first place
20:11 moritz YMMV :-)
20:11 dha Hm. are many people searching for P6 docs on google?
20:11 dha And, even if people are doing that, what about the people who are reading the docs at, e.g. doc.perl6.org?
20:12 moritz there's significant traffic from google, yes
20:12 muraiki I search for docs via google
20:12 * muraiki is one data point
20:12 moritz (last I looked into the stats)
20:12 RabidGravy as a programmer I tend to go what can I do with this thing, so knowing that there is a method helps
20:12 dha muraiki - in which direction?
20:12 RabidGravy plus obviously this isn't the desired end state
20:13 RabidGravy I would say it would be bad if it was still like that after we hit 6.0.0
20:14 * RabidGravy just looks in the source :-\
20:14 dha Is 6.0.0 what's coming out for christmas? If so, although I don't *wish* to be negative, I'm not convinced that the docs will be anywhere near finished by then.
20:15 dha In which case, maybe it would be better to hide undocumented things. But I'm unsure about this. :-/
20:16 moritz http://www.p6c.org/stats/doc.perl6.org # seems the number of visitors from google is declining
20:16 RabidGravy weird, I'd have thought it would be the other way
20:16 dha wow, yeah.
20:17 RabidGravy but maybe people find them once and just bookmark
20:17 * muraiki points at Sep/2015 3: there's me!
20:17 muraiki yeah, that's interesting
20:20 dha All right. I guess I'll leave things as is for now. But I'm taking the '#'s out of the comment block. that's just silly.
20:20 dha :-)
20:21 dha As a side note, if we *do* come to a conclusion (if that's even feasible... :-) that empty headings should be hidden by December, we will need to actually do that.
20:22 moritz until then, folks who write stuff decide on a case-by-case base
20:23 thou ugexe: Thanks for all your help the other day, sorry if I came off like a jerk.
20:23 dalek doc: 829ef12 | (David H. Adler)++ | lib/Type/Metamodel/PrivateMethodContainer.pod:
20:23 dalek doc: Cleaned up TODO comment in
20:23 dalek doc: lib/Type/Metamodel/PrivateMethodContainer.poda
20:23 dalek doc: review: https://github.com/perl6/doc/commit/829ef1284d
20:23 dha moritz - indeed, that is true. I happen to find that a bit of a problem, but I have no viable solution. *shrug*
20:25 dha ...and now I come across a "=for comment". *sigh*
20:26 dha Unless anyone has an objection, I'm going to change that to a =begin/=end
20:28 DavidIAm its a comment that shouldn't be int he POD output?
20:29 RabidGravy I find myself type =for comment
20:29 RabidGravy DavidIAm, that syntax is P5 pod
20:30 colomon joined #perl6
20:30 dha RabidGravy - well, it's apparently inconsistent with most of the comments in the docs.
20:30 DavidIAm rabid - I know, I read about it in... perl 5 pod documentation.
20:30 DavidIAm RabidGravy: is this change in perl6 then, format purpose is not a thing in pod any more?
20:30 RabidGravy not sure it even parses in P6
20:31 RabidGravy it's =begin ,.. =end now
20:31 RabidGravy so =begin pod ... =end pod
20:32 dha actually, perl6 --doc doesn't spit up on =for comment
20:33 RabidGravy fair enough
20:33 dha But I'm changing it. HA! I HAVE THE POWER!
20:33 pink_mist the power of greyskull!
20:34 dalek doc: b3fec16 | (David H. Adler)++ | lib/Type/MixHash.pod:
20:34 dalek doc: Changed =for comment to =begin/=end comment in lib/Type/MixHash.pod
20:34 dalek doc: review: https://github.com/perl6/doc/commit/b3fec16290
20:34 dha pink_mist++
20:38 RabidGravy It would be cool if the "=begin FOO" -> $=FOO thing was implemented, is it just the pod parser not doing it?
20:40 dha dunno.
20:40 pink_mist what is this "=begin FOO" -> $=FOO thing?
20:41 * dha just assumes RabidGravy has been drinking.
20:41 dha :-)
20:41 flussence the $=pod thing? Yeah, I kinda want that too...
20:41 RabidGravy the content of a  =begin FOO .. =end FOO block goes in a $= variable
20:42 RabidGravy dha, I've always been drinking. I wouldn't do software if I hadn't ;-)
20:42 flussence I tried to use $=data for something once a long time ago, it was NYI, got frustrated and gave up (as usual...)
20:42 pink_mist for 100 days straight then, RabidGravy? :P
20:42 dha Oh, I meant in general. :-)
20:43 RabidGravy pink_mist, I'm not sure I've had a day this year I didn't have *some* beer :)
20:45 blackcat_ joined #perl6
20:47 RabidGravy pink_mist, I actually thought I'd get to 1000 commits to github in a year before 100 days but only 917 commits
20:48 RabidGravy but then I thought I'd get 10,000 listens on soundcloud
20:50 RabidGravy flussence, it would be really useful for small bits of data you want to bundle
20:50 * colomon has gotten maybe 100 listens on soundcloud.  :)
20:51 dha What the...?
20:51 RabidGravy colomon, linky?
20:51 dha is there really a method in the Submethod class called "flurb"?
20:51 colomon https://soundcloud.com/solomon-foster-1
20:52 dha I note the documentation for flurb says "method description here"
20:52 colomon Woah, RabidGravy, that was fast!  :)
20:52 RabidGravy :)
20:53 * colomon cannot listen at the moment, alas.
20:54 dha I'm putting a TODO comment under flurb.
20:55 RabidGravy colomon, you should hook up with pdcawley he's well into traditional music
20:55 colomon Yes, I’ve chatted with him a bit here and there.
20:55 dalek doc: d4e7d73 | (David H. Adler)++ | lib/Type/Submethod.pod:
20:55 dalek doc: Added TOTO comment to lib/Type/Submethod.pod
20:55 dalek doc: review: https://github.com/perl6/doc/commit/d4e7d7351b
20:55 TEttinger joined #perl6
20:56 colomon I think he’s more into songs than I am, and I’m more into tunes, but there’s definitely some overlap, and I’ve gotten tips to some GREAT music following him on twitter.
20:57 RabidGravy I think it's unlikely you'd be into my stuff - a whole alternative unoiverse of noise
20:58 RabidGravy but good stuff
20:58 RabidGravy :)
20:59 colomon Yeah, still without having listened to yours yet, I wonder if you’d be into my friend Asher’s music.  Let me see if I can find a link,
20:59 colomon oh hey, he’s on soundcloud too: https://soundcloud.com/asherperkins
21:00 colomon (he’s a fantastic button accordion player, was part of the band at my wedding reception when he was in middle school.)
21:02 RabidGravy keep meaning to hack up an accordionMIDI controller
21:03 muraiki this does not sound like button accordion
21:04 colomon muraiki: if you’re listening to Asher’s SoundCloud, it’s not.  :)  He’s not *just* an accordion player.
21:04 muraiki ah, I see now :) the trad in solomon-foster-1 is nice though (that's you?)
21:04 colomon yes, that’s me
21:04 muraiki :D
21:05 colomon danke
21:05 muraiki someday I'll get a set of uilleann pipes...
21:05 muraiki I have a low whistle that I unfortunately never play. there's just not enough time for all the instruments I want ot pursue
21:07 RabidGravy muraiki, I think I have something in the region of thirty distinct types of musical instrument, there's always time :)
21:08 muraiki RabidGravy: do you play any brass instruments? because that's eaten up all of my shakuhachi time, hehe
21:08 muraiki with brass it's like you miss 2 days practice and a week's worth of learning is gone
21:08 colomon muraiki: http://www.bensonandcorneliuspipes.com/
21:08 RabidGravy No brass, saxophone when my lungs let me though
21:09 muraiki RabidGravy: ah, I got a tenor sax last year only to develop TMJ (jaw problem) so I've pretty much given up on it :(
21:09 muraiki colomon: I feel like somehow we've talked about pipes before and you linked this to me. hehe
21:09 colomon muraiki: I was thinking the same, but you still haven’t bought a set.  ;)
21:10 muraiki that's what buying a house does for you... something breaks here, a few grand, something breaks there, a few grand...
21:10 RabidGravy colomon, yeah my stuff is more like asher's ;0 but probably more extreme ;-)
21:10 virtualsue joined #perl6
21:11 colomon muraiki: yeah, don’t I know!  We actually completely missed on the main house repairs we wanted to make in the spring — too much money spent on things that were emergencies.  :(
21:12 muraiki colomon: not fun :(
21:12 colomon eh, it’s life.  but it’s frustrating.
21:12 muraiki yeah, there's uilleann pipes to be bought!
21:14 colomon We’d probably buy a concertina first.
21:14 colomon hmm… http://www.concertinas.ca/
21:14 colomon and ha!  Frank’s got a video of Asher playing one of Frank’s concertinas.
21:15 muraiki I borrowed a concertina from a friend briefly... the whole "different notes on pull and push" is a bit of a mind-bender at first
21:16 colomon muraiki: I’ve gotten very marginally competent on button accordion, which is the same thing with push and pull.  it really is wildly different from most other instruments.
21:16 * colomon will have to go offline in a minute, probably suddenly.
21:17 colomon when you find a groove with it, it’s really, really nice.  :)
21:17 pmurias joined #perl6
21:17 dalek nqp/js: 2c3d2ac | (Pawel Murias)++ | src/vm/js/ (3 files):
21:17 dalek nqp/js: Pass test 67.
21:17 dalek nqp/js:
21:17 dalek nqp/js: Implement nqp::setcontspec with code_pair.
21:17 dalek nqp/js: review: https://github.com/perl6/nqp/commit/2c3d2acbcd
21:22 * _itz returns from ypc pool party
21:28 RabidGravy dj good?
21:29 n0tjack joined #perl6
21:32 _itz yeah tony de vit
21:33 _itz not really but there was mucho free beer
21:34 dha Ok, all undocumented items under doc/lib have TODO comments now. Unless I missed some.
21:40 colomon joined #perl6
21:42 thou joined #perl6
21:45 RabidGravy dha++ # do that stuff
21:50 AlexDaniel joined #perl6
21:51 AlexDaniel m: sub foo { my %h = <one two three four>; return (%h, 'test'); }; say foo<one>;
21:51 camelia rakudo-moar e6f360: OUTPUT«postcircumfix:<{ }> not defined for type Parcel␤  in block <unit> at /tmp/sircczOUAe:1␤␤Actually thrown at:␤  in block <unit> at /tmp/sircczOUAe:1␤␤»
21:51 GLRelia rakudo-moar a6bb0b: OUTPUT«postcircumfix:<{ }> not defined for type List␤  in block <unit> at /tmp/9JlS7i2hbH:1␤␤Actually thrown at:␤  in block <unit> at /tmp/9JlS7i2hbH:1␤␤»
21:58 RabidGravy it's the comma
21:59 RabidGravy m: sub foo { my %h = <one two three four>; return %h.push(test => 1); }; say foo<one>
21:59 camelia rakudo-moar e6f360: OUTPUT«two␤»
21:59 GLRelia rakudo-moar a6bb0b: OUTPUT«two␤»
21:59 raiph m: =foo blah blah␤␤$=pod.grep(*.name eq 'foo').map(*.contents[0].contents.say); # see http://stackoverflow.com/a/27936867/1077672
21:59 camelia rakudo-moar e6f360: OUTPUT«blah blah␤»
21:59 GLRelia rakudo-moar a6bb0b: OUTPUT«[blah blah]␤»
22:00 RabidGravy aaaaaaaaaaah!
22:00 AlexDaniel RabidGravy: ah no, I just wondered if it would act on the first element of the list
22:00 rurban joined #perl6
22:00 RabidGravy :)
22:01 RabidGravy raiph :) nice
22:02 virtualsue Soo DrForr has somehow managed to land himself in hospital in Granada (before he got he pissed!)
22:02 RabidGravy boo
22:02 virtualsue he's joking a bit on FB
22:02 RabidGravy how did he achieve that?
22:03 virtualsue but Wendy says he broke his leg quite badly
22:03 virtualsue trying to find out some details -- nobody knows except him and (possibly) the paramedics
22:04 jdv79 did the night seem unfulfilled that nobody got thrown in the pool?
22:04 virtualsue yes. i was pondering having a swim
22:04 jdv79 it was so close for so long.  i thought at least someone would have fallen in at least
22:05 virtualsue but i think that was the beer/sangria talking
22:05 _itz I wanted to find the python-perl guy :)
22:05 virtualsue bad _itz!  we are an inclusive community!!
22:05 virtualsue we love everyone -- even the unlovable ones!
22:06 virtualsue like python types
22:06 jdv79 how did DrForr manage this?
22:06 n0tjack joined #perl6
22:06 RabidGravy Just seen miyagawa's pictures no-one in the pool
22:06 dalek rakudo-star-daily: df33519 | coke++ | log/ (9 files):
22:06 dalek rakudo-star-daily: today (automated commit)
22:06 dalek rakudo-star-daily: review: https://github.com/coke/rakudo-star-daily/commit/df33519c3a
22:06 jdv79 yeah , the pool was a bust
22:07 virtualsue there was absolutely no swimming despite the wonderful on-demand availability of food and drink
22:07 RabidGravy I think I should have been there then
22:08 virtualsue yes clearly
22:08 virtualsue i should have push _itz in
22:08 RabidGravy :)
22:09 [Coke] japhb: (nqp-coldfusion) I am not going to encourage them.
22:09 virtualsue he's fat enough to float
22:09 RabidGravy actually on this picture it looks like everyone is *avoiding* the pool
22:09 RabidGravy aw poor itz
22:09 jdv79 what pic?
22:10 virtualsue i couldn't do that - he can't swim
22:10 _itz I did consider changing the the $yapc[0]="room" signs to @
22:11 virtualsue ++
22:11 _itz the signs sould be inclusive perl
22:11 RabidGravy miyagawa's pic on FB kind of taken with balconies to the left
22:12 RabidGravy _itz++
22:12 AlexDaniel m: my UInt $x = 25; my Int $y = 30; $x -= $y
22:12 camelia rakudo-moar e6f360: OUTPUT«Type check failed in assignment to '$x'; expected 'UInt' but got 'Int'␤  in block <unit> at /tmp/i4b_nrNvbh:1␤␤»
22:12 GLRelia rakudo-moar a6bb0b: OUTPUT«Type check failed in assignment to '$x'; expected 'UInt' but got 'Int'␤  in block <unit> at /tmp/JE0HUc4VLu:1␤␤»
22:12 AlexDaniel isn't it less than awesome?
22:12 dha joined #perl6
22:13 jdv79 i don't do the fb so not sure what you mean
22:13 RabidGravy tricky as there could be thousands
22:14 RabidGravy anyway time to crash
22:14 AlexDaniel m: my UInt $x = 0; $x--;
22:14 camelia rakudo-moar e6f360: OUTPUT«Type check failed in assignment to '$x'; expected 'UInt' but got 'Int'␤  in block <unit> at /tmp/tYBHNhQrI0:1␤␤»
22:14 GLRelia rakudo-moar a6bb0b: OUTPUT«Type check failed in assignment to '$x'; expected 'UInt' but got 'Int'␤  in block <unit> at /tmp/G1WL659Vmd:1␤␤»
22:14 AlexDaniel hm, maybe it is good enough
22:16 [Coke] .seen lizmat
22:16 yoleaux I saw lizmat 18:54Z in #perl6: <lizmat> dinner&
22:16 [Coke] .seen jnthn
22:16 yoleaux I saw jnthn 27 Aug 2015 17:34Z in #perl6: <jnthn> So may need bringing in line with what actually got done.
22:19 virtualsue pretty sure jnthn is going to be offline for a day or two
22:21 mohij tadzik: https://github.com/patzim/rakudobrew
22:21 larion joined #perl6
22:23 mohij .tell tadzik https://github.com/patzim/rakudobrew
22:23 yoleaux mohij: I'll pass your message to tadzik.
22:23 mohij .tell tadzik Supports shell local switching and dynamically determining the target version.
22:23 yoleaux mohij: I'll pass your message to tadzik.
22:25 skids joined #perl6
22:30 Sgeo joined #perl6
22:32 AlexDaniel m: subset MyInt of Int where * < 0; my $x = MyInt(5);
22:32 camelia rakudo-moar e6f360: OUTPUT«Cannot invoke this object (REPR: Uninstantiable, cs = 0)␤  in block <unit> at /tmp/nlqKsKV3MR:1␤␤»
22:32 GLRelia rakudo-moar a6bb0b: OUTPUT«Cannot invoke this object (REPR: Uninstantiable, cs = 0)␤  in block <unit> at /tmp/ukCrHHvrhj:1␤␤»
22:32 AlexDaniel what is “cs = 0”?
22:33 virtualsue looks like a trivial problem
22:34 AlexDaniel virtualsue: you think I should submit an issue?
22:35 virtualsue i'd guess 'cs=0 ' some sort of debugging output - i'm about to pull and build glr now anyway
22:35 virtualsue sure
22:36 virtualsue but i wouldn't mark it as high priority, since the issue is more "give me a better error" rather than a regression or something serious
22:36 dha Well, arguably, you don't know, because you don't have a better error. :-)
22:37 virtualsue yes, you do know
22:37 virtualsue he declared myInt to be the negative ints, and he tried to set it to a positive int
22:37 virtualsue that's a fail
22:38 dha Oh fine. *pout*
22:38 japhb [Coke]: Don't think of it as "encouragement".  Think of it as "abstracting away".
22:38 virtualsue heh
22:38 n0tjack joined #perl6
22:40 _itz src/core/frame.c|1460 col 81| MVM_exception_throw_adhoc(tc, "Cannot invoke this object (REPR: %s, cs = %d)",src/core/frame.c|1460 col 81| MVM_exception_throw_adhoc(tc, "Cannot invoke this object (REPR: %s, cs = %d)",
22:40 _itz oops twice
22:40 AlexDaniel m: subset MyInt of Int where * < 0; my $x = MyInt(-10);
22:40 camelia rakudo-moar e6f360: OUTPUT«Cannot invoke this object (REPR: Uninstantiable, cs = 0)␤  in block <unit> at /tmp/ubzNBIPCmM:1␤␤»
22:40 GLRelia rakudo-moar a6bb0b: OUTPUT«Cannot invoke this object (REPR: Uninstantiable, cs = 0)␤  in block <unit> at /tmp/MSfFBHi8wP:1␤␤»
22:41 AlexDaniel virtualsue: not that it works with negative ints…
22:41 * skids was just looking at RT#124442 which also complains about this error message.
22:42 AlexDaniel oh!
22:42 skids It was not getting it for the same reasons though.
22:43 AlexDaniel ok, I almost hit the send button
22:43 AlexDaniel but looks like a duplicate, sooo…
22:43 skids Well, no, not really.
22:43 skids But there might be one in there let me search,
22:47 AlexDaniel skids: so, do you want me to submit it? :)
22:47 virtualsue i'm not skids but i think submit and let someone mark it as a duplicate if it is one
22:47 AlexDaniel whatever
22:47 skids Yes do I could not find anythng.
22:48 virtualsue err on over not under reporting
22:48 n0tjack joined #perl6
22:48 skids AlexDaniel++
22:48 virtualsue AlexDaniel++  # QA
22:49 AlexDaniel :)
22:49 * virtualsue waits slow hotel wifi that is very slow
22:49 _itz rakudo-jvm: subset MyInt of Int where * < 0; my $x = MyInt(-10);
22:49 GLRelia rakudo-jvm a6bb0b: OUTPUT«Can't open perl script "/home/steve/rakudo-inst/bin/eval-client.pl": No such file or directory␤»
22:49 camelia rakudo-jvm e6f360: OUTPUT«Can not invoke this object␤  in block <unit> at /tmp/1fEwYvQavY:1␤␤»
22:50 virtualsue haha
22:50 virtualsue broken code is broken
22:50 virtualsue \o/
22:50 _itz rakudo-jvm: subset MyInt of Int where * < 0; my MyInt $x = -10
22:50 GLRelia rakudo-jvm a6bb0b: OUTPUT«Can't open perl script "/home/steve/rakudo-inst/bin/eval-client.pl": No such file or directory␤»
22:50 camelia rakudo-jvm e6f360: ( no output )
22:51 _itz rakudo-jvm: subset MyInt of Int where * < 0; my MyInt $x = 10
22:51 GLRelia rakudo-jvm a6bb0b: OUTPUT«Can't open perl script "/home/steve/rakudo-inst/bin/eval-client.pl": No such file or directory␤»
22:51 camelia rakudo-jvm e6f360: OUTPUT«Type check failed in assignment to '$x'; expected 'MyInt' but got 'Int'␤  in block <unit> at /tmp/925Svvlc6x:1␤␤»
22:51 * virtualsue wonders why GLRelia is having perms issues and thinks _itz might be able to fix that
22:52 AlexDaniel m: subset MyInt of Int where -20 < * and * < 0; my MyInt $x = 666; say $x;
22:52 camelia rakudo-moar e6f360: OUTPUT«666␤»
22:52 GLRelia rakudo-moar a6bb0b: OUTPUT«666␤»
22:52 AlexDaniel I know that I can do chaining here, but…
22:52 AlexDaniel what is the right way to do that without chaining ops?
22:53 japhb virtualsue: I don't think it's having permissions problems; rather I think r-j just wasn't built for GLRelia.
22:54 virtualsue ah -
22:54 _itz yeah I never bothered .. its a stop jap until glr becomes master .. I should have commented out more targets I guess
22:54 virtualsue poor DrForr - he doesn't know what hospital he's in. suspect that's because he has some Good Drugs
22:55 * virtualsue watches rakudobrew compile finally (again: this is the hotel wifi,not p6 :-) )
22:56 AlexDaniel m: subset MyInt of Int where (-20 < * and * < 0); my MyInt $x = 666; say $x;
22:56 camelia rakudo-moar e6f360: OUTPUT«Type check failed in assignment to '$x'; expected 'MyInt' but got 'Int'␤  in block <unit> at /tmp/2HhqI9NC0F:1␤␤»
22:56 GLRelia rakudo-moar a6bb0b: OUTPUT«Type check failed in assignment to '$x'; expected 'MyInt' but got 'Int'␤  in block <unit> at /tmp/s71luAaiZJ:1␤␤»
22:57 AlexDaniel oh, so it needs ()
22:57 AlexDaniel I don't like that without () it is so silent…
22:59 AlexDaniel m: subset MyInt of Int where (* < 0 and * > 0); my MyInt $x = 100; say $x;
22:59 camelia rakudo-moar e6f360: OUTPUT«100␤»
22:59 GLRelia rakudo-moar a6bb0b: OUTPUT«100␤»
22:59 AlexDaniel uhmmmmm
23:02 AlexDaniel m: subset MyInt of UInt where  * < 0; my MyInt $x; say $x;
23:02 camelia rakudo-moar e6f360: OUTPUT«(MyInt)␤»
23:02 GLRelia rakudo-moar a6bb0b: OUTPUT«(MyInt)␤»
23:04 [Coke] japhb: thankfully, the official CF version runs on the jvm... so nqp-j is fine. Just need mojo6 on jvm, done.
23:05 frobisher joined #perl6
23:10 n0tjack joined #perl6
23:13 skids moritz: PR#522 will likely fix the bug mentioned in roast c6b955cf (but the test add there should be "ok" not "say").
23:21 skids Oh, nm, the PR does not fix it.
23:22 skids wait... somethings up in my tree.
23:23 * timotimo barks up skids' tree
23:23 skids o/
23:26 skids Ah, ok, yes, that PR does fix that.  For some reason "make spectest" will rebuild but not install?  Or something.
23:35 dalek roast/glr: d6a9f7c | skids++ | S32-list/seq.t:
23:35 dalek roast/glr: skip new test code that was aborting the test file
23:35 dalek roast/glr:
23:35 dalek roast/glr: Also, fix the test to actually be a test.
23:35 dalek roast/glr:
23:35 dalek roast/glr: Also, mention the PR that will fix the bug.
23:35 dalek roast/glr: review: https://github.com/perl6/roast/commit/d6a9f7c310
23:37 skids .tell moritz see roast/glr commit d6a9f7c
23:37 yoleaux skids: I'll pass your message to moritz.
23:41 timotimo i'm kinda confused/surprised by people mentioning "my %d" having "state-like behaviour" in -n one-liners :|
23:42 n0tjack joined #perl6
23:59 dalek doc: cbb84c8 | (David H. Adler)++ | lib/Language/5to6.pod:
23:59 dalek doc: Added entry for Perl-ToPerl6 to lib/Language/5to6.pod
23:59 dalek doc:
23:59 dalek doc: Spelling correction in the entry for Mad in 5to6.pod as well.
23:59 dalek doc: review: https://github.com/perl6/doc/commit/cbb84c87f1

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

Perl 6 | Reference Documentation | Rakudo