»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, std:, or /msg camelia p6: ... | irclog: irc.perl6.org | UTF-8 is our friend!
Set by masak on 12 May 2015.
00:03 dha left 00:04 prevost joined 00:08 woolfy joined
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
dha: plus, others are working on bringing the post-GLR-problem-solving-results back to the main branch.
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
dha: so thanks, and accept the dha++
mst he's not online 00:15
he generally isn't except when directly connected, sadly
00:17 sufrostico left 00:18 skids joined, cbk1090 joined
cbk1090 Is this the correct form to test if a key is fond in a hash? if %list{ $keySearch }: exists {...} 00:21
because I get this error when I do it: Odd number of elements found where hash initializer expected
ugexe m: my %h; %h<b> = 1; say %h<a>:exists; say %h<b>:exists 00:22
camelia rakudo-moar d8ef5e: OUTPUT«False␤True␤»
GLRelia rakudo-moar 57b7eb: OUTPUT«False␤True␤»
cbk1090 ugexe, ok I'll try that 00:23
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␤»
GLRelia rakudo-moar 57b7eb: OUTPUT«exists␤»
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␤»
GLRelia rakudo-moar 57b7eb: OUTPUT«doesnt exist␤»
ugexe that will still get you on the string '' though
woolfy mst, thanks, I will re-write this to him when he gets back online and I see him. 00:26
mst woolfy: best way, yeah 00:27
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:29
00:30 grondilu joined
grondilu Hello 00:30
m: class A { has @.x }; my @x; @x[2] = 1; say A.new(:@x).x; # this works
camelia rakudo-moar d8ef5e: OUTPUT«(Any) (Any) 1␤»
GLRelia rakudo-moar 57b7eb: OUTPUT«[(Any) (Any) 1]␤»
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␤␤»
GLRelia rakudo-moar 57b7eb: OUTPUT«Type check failed in assignment to '@!x'; expected 'Real' but got 'Any'␤ in block <unit> at /tmp/1UmhK3veCV:1␤␤»
grondilu I can golf it more maybe
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␤␤»
GLRelia rakudo-moar 57b7eb: OUTPUT«Type check failed in assignment to '$!x'; expected 'Real' but got 'Any'␤ in block <unit> at /tmp/ECUtPJARlw:1␤␤»
grondilu m: class A { has Real $.x }; say A.new(:x(my Real $)).x;
camelia rakudo-moar d8ef5e: OUTPUT«(Real)␤»
GLRelia rakudo-moar 57b7eb: OUTPUT«(Real)␤»
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␤␤»
GLRelia rakudo-moar 57b7eb: OUTPUT«Type check failed in assignment to '$'; expected 'Real' but got 'Any'␤ in block <unit> at /tmp/8liVZA1Uqs:1␤␤»
grondilu this last one makes it look a bit more sensible
woolfy masak: lizmat and I are in Hotel Granada Center, and I've been drinking the water without any ill effects.
mst tastes fine to me too 00:34
but, uh, I'm generally impervious
00:37 dalek left
grondilu on the other hand : 00:37
00:37 dalek joined, ChanServ sets mode: +v dalek
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␤␤»
GLRelia rakudo-moar 57b7eb: OUTPUT«Type check failed in assignment to '@!x'; expected 'Real' but got 'Any'␤ in block <unit> at /tmp/dwUXq0J5v7:1␤␤»
grondilu ^this I can't explain
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)␤»
GLRelia rakudo-moar 57b7eb: OUTPUT«Array[Real].new(Real, Real, 1)␤»
[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. :)
gooooooooodnight, folks. 00:40
00:43 virtualsue joined 00:46 laouji joined
muraiki :) 00:47
00:47 virtualsue left
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
colomon for what? 00:59
ugexe whatever you are using to send test reports to testers.perl6.org
colomon you mean panda?
ugexe panda seems to send others test reports ok 01:01
01:01 prevost left
ugexe i thought you used something else, and used Panda::Builder 01:01
colomon yes, emmentaler (the smoke tester), but it’s just calling into panda to do all the work — literally try $panda.resolve($p) 01:03
ugexe looking at emmentaler source, it sets the values to report itself. panda does not 01:07
line 70 add %log<build-output> = '', or init it some other way 01:08
01:11 muraiki left
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:13
ugexe okay. go to 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:15
all the other test reports do not have this problem, but i believe everyone else uses panda or zef directly 01:17
01:35 BenGoldberg joined 01:45 ilbot3 left 01:47 ilbot3 joined
colomon goes searching through the panda code... 01:48
01:48 prevost joined 01:50 laouji left, laouji joined 01:57 dayangkun joined 02:11 noganex_ joined 02:13 noganex left
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:32
02:51 laouji left, kaare_ joined 02:53 laouji joined 02:54 JimmyZ_ joined 02:57 yqt left
ugexe github.com/tadzik/panda/blob/maste...ter.pm#L57 ? 03:01
03:03 prevost left
ugexe colomon: here is a report from not long ago that shows "" instead of null: testers.perl6.org/reports/71799.html So maybe its specific to glr 03:10
a report from you^
including the version of the module installer in the test reports could help solve such things 03:12
somehow this fellow was getting ok results from panda as of 2 days ago testers.perl6.org/reports/74217.html 03:15
03:16 grondilu left 03:18 grondilu joined 03:22 aborazmeh left 03:28 BenGoldberg left 03:33 blackcat_ joined 03:38 skids left 03:40 fling_ joined, diakopter left 03:42 diakopter joined 03:43 fling_ is now known as fling, aborazmeh joined, aborazmeh left, aborazmeh joined
ugexe their report has build-passed = true and build-output = ''. maybe they patched it themselves 03:45
03:45 laouji left 03:48 JimmyZ_ left
ugexe make it is better to change how the testers site handles null, since failures are specifically 'false' 03:55
s/make/maybe/
04:26 tinyblak joined 04:30 tinyblak left 04:31 telex left 04:32 khw left, telex joined 04:40 laouji joined 04:49 tinyblak joined, asdf12z_ joined 05:00 cgfbee left 05:01 cgfbee joined 05:12 silug left, silug joined 05:22 orbusbak joined 05:26 orbus left 05:35 tinyblak left 05:38 silug left, silug joined 05:41 Calibellus left, lolisa joined
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 05:54 aborazmeh left
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:02 zz448 left 06:09 diana_olhovik joined 06:10 xfix joined, FROGGS left 06:12 rurban joined 06:15 [TuxCM] left 06:26 mr-foobar left 06:27 mr-foobar joined 06:31 RabidGravy joined
masak morning, #perl6 06:46
masak heads over to the venue
ShimmerFairy Is there another thing so soon after SPW? (YAPC::EU?) 06:48
moritz ShimmerFairy: yes, YAPC::EU
ShimmerFairy ah, ok :) 06:49
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:56
06:57 FROGGS joined
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␤»
GLRelia rakudo-moar 57b7eb: OUTPUT«(xy => [c b a 1] xa => [c a z 4])␤»
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]};
camelia rakudo-moar d8ef5e: OUTPUT«xy => c b a 1 xa => c a z 4␤»
GLRelia rakudo-moar 57b7eb: OUTPUT«(xy => [c b a 1] xa => [c a z 4])␤»
TimToady --> venyoo
ShimmerFairy .value is singular when dealing with Pairs :)
07:02 kjs_ joined 07:04 [Sno] left 07:06 bioexpress joined
bioexpress hello, this is a test 'p6: say "test"' 07:09
blackcat_ thks. :)
bioexpress hello, this is a test p6: say "test"
p6: say "test"
camelia rakudo-moar d8ef5e: OUTPUT«test␤»
GLRelia rakudo-moar 57b7eb: OUTPUT«test␤»
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␤␤»
GLRelia ( no output )
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
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]};
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␤»
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])␤»
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
07:12 [Sno] joined
blackcat_ i see now.. 07:12
moritz after the "m:", in fact 07:17
07:17 larion left
blackcat_ .values[0] is (Array) ,and .values is (List) 07:18
bioexpress Hi! "my $filenames = dir( $*HOME ).race( batch => 10 );": I've found similar code in www.youtube.com/watch?v=JpqnNCx7wVY. But when i run it, it doesn't work. Was this way to use race removed? 07:19
p6: my $filenames = dir( $*HOME ).race( batch => 10 );
camelia rakudo-moar d8ef5e: OUTPUT«Method 'race' not found for invocant of class 'List'␤ in block <unit> at /tmp/tmpfile:1␤␤»
GLRelia ( no output )
ShimmerFairy moritz: whoops :)
bioexpress: ah, features like .race are only implemented on the 'glr' branch of rakudo at the moment 07:21
07:21 masak_venue joined
bioexpress Could you tell me what the glr branch is? 07:21
moritz m: say dir( $*HOME ).race( batch => 10 );
camelia rakudo-moar d8ef5e: OUTPUT«Method 'race' not found for invocant of class 'List'␤ in block <unit> at /tmp/gIzmObp8FN:1␤␤»
GLRelia rakudo-moar 57b7eb: OUTPUT«HyperSeq.new␤»
moritz bioexpress: it's a branch of the rakudo compiler 07:22
07:22 rurban left
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?
moritz RabidGravy: presumably, yes
bioexpress Thx for the info. 07:23
masak_venue exciting :)
ShimmerFairy That reminds me, I should push my allomorphic/val branch (which is based on nom, as it happens) :)
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:24
TEttinger RabidGravy: "summer ain't over til I say it's over!" 07:25
RabidGravy :)
07:25 xiaomiao left
TEttinger I'm glad all the hard GLR work is finally wrapping up 07:25
BooK looking at larry's keynote (the hobbit/lotr one), I tried one example, and was surprised 07:26
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␤»
GLRelia rakudo-moar 57b7eb: OUTPUT«Cannot call shift(Seq); none of these signatures match:␤ (@a)␤ in block <unit> at /tmp/tmpfile:1␤␤»
BooK I'm surprised that I can call shift on a constant
moritz BooK: there's no concept of deep immutability in Perl 6 07:28
BooK: constant just means that you cannot assign to
BooK ok 07:29
masak_venue "deep immutability" is interesting and problematic
it's basically an ongoing research topic
BooK I can imagine it is :-)
moritz BooK: same in perl 5, fwiw
perl -wE 'use constant a => [1, 2, 3]; say shift @{+a}'
1
BooK yes, but I know what references are in perl 5 :-)
07:29 bioexpress left
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 kjs_ left, xiaomiao joined
BooK btw, in * + *, how is the ordering of the whatever done? 07:30
e.g. when the op is not commutative 07:31
moritz BooK: from left to right
m: say (*-*)(5, 2)
camelia rakudo-moar d8ef5e: OUTPUT«3␤»
GLRelia rakudo-moar 57b7eb: OUTPUT«3␤»
moritz m: constant @a = 1, 2, 3; say @a.^name 07:32
camelia rakudo-moar d8ef5e: OUTPUT«Parcel␤»
GLRelia rakudo-moar 57b7eb: OUTPUT«List␤»
moritz fwiw I'd argue this is a bug in both cases
array assignment should be coercive
BooK I don't understand how "left to right" applies to the fib definition, though 07:33
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␤»
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
ShimmerFairy * + * generates a WhateverCode object equivalent to the closure I used just now 07:34
07:35 kjs_ joined, kjs_ left
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
BooK: so it passes the last two arguments in the existing list to the generator
BooK: and adds the value it got to the list
BooK ok
so using $^c instead of $^b wouldn't change anything (still only using two arguments) 07:39
masak_venue right 07:40
BooK if I wanted to defined a sequence as Un = Un-1 + Un-3
07:40 zakharyas joined
BooK I'd need something like {$^b;$^a + $^c} 07:40
masak_venue yep.
BooK i.e. actually take three and ignore one
very cool
moritz m: say (1, 2, 3 ... -> $a, $b, $c { $a + $c })[^10]
camelia rakudo-moar d8ef5e: OUTPUT«1 2 3␤»
GLRelia rakudo-moar 57b7eb: OUTPUT«(1 2 3)␤»
ShimmerFairy The only thing that matters for $^-declared parameters is alphabetical order, IIRC. Nothing else is magical about them.
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␤»
GLRelia rakudo-moar 57b7eb: OUTPUT«(1 2 3 4 6 9 13 19 28 41)␤»
moritz m: sub gap($a, $b, $c { $a + $c }; say (0, 0, 1, &gap ... *)[^15]
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 ... *)[^␤»
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 ... *)[^␤»
moritz m: sub gap($a, $b, $c) { $a + $c }; say (0, 0, 1, &gap ... *)[^15] 07:42
camelia rakudo-moar d8ef5e: OUTPUT«0 0 1 1 1 2 3 4 6 9 13 19 28 41 60␤»
GLRelia rakudo-moar 57b7eb: OUTPUT«(0 0 1 1 1 2 3 4 6 9 13 19 28 41 60)␤»
masak_venue kind of a delayed fibonacci :) 07:44
BooK of course, this defintion is kinda confusing: @f = 1, 2, * * * ... *;
masak_venue .oO( the fi..acci sequence )
07:44 kjs_ joined
masak_venue BooK: I agree. I think people like it mostly for the slight confusion it causes. 07:44
BooK heh 07:45
masak_venue BooK: I prefer to write * * * as either &[*] or &infix:<*>
BooK well, it's no more confusing than <=><=><=> in perl 5 :-)
masak_venue heh
m: say <=> <=> <=>
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:…»
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:…»
ShimmerFairy WhateverCodes are just a simpler use case for closures are just a simpler use case for defined subs :P 07:46
BooK metacpan.org/pod/perlsecret#Space-fleet
masak_venue BooK++ # perlsecret 07:48
07:50 slavik left
BooK ShimmerFairy: are you saying that almost everything in perl6 is simpler than something else in perl6 ? :-) 07:51
probably less scary than "there's a more complex version of whatever"
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:52
nine I has Wifi! 07:53
yoleaux 1 Sep 2015 18:12Z <japhb> nine: Given the machine-native guts of 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.
nine .tell japhb That sounds like some low hanging fruit indeed! 07:55
yoleaux nine: I'll pass your message to japhb.
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 kudo/nom: 0b1d15b | (Kamil Kułaga)++ | docs/running.pod:
perl -e is strict
kudo/nom: 26abf57 | (Kamil Kułaga)++ | src/Perl6/Compiler.nqp:
perl -e is strict
kudo/nom: 22303ff | (Kamil Kułaga)++ | docs/running.pod:
Merge pull request #2 from teodozjan/patch-4

perl -e is strict
kudo/nom: 00be1e8 | lizmat++ | / (2 files):
Merge pull request #521 from teodozjan/patch-5

Perl -e is strict by default
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) {
yoleaux nine: I'll pass your message to japhb.
moritz nine: str:D looks a bit redundant; natives are always defined
ShimmerFairy lizmat: didn't we already have that? Or was it disabled again when I wasn't looking? 08:00
oh, I see, just documentation stuff :) 08:02
08:07 kjs_ left, sjn left 08:11 lizmat joined
masak_venue BooK: at metacpan.org/pod/perlsecret under "Bang bang", "Eskimo greeting", and "Inchworm", there's an empty grey box instead of the secret operator 08:11
DrForr That's why it's secret ) 08:12
masak_venue hee 08:13
DrForr s/.$/:)
08:13 leont joined, sjn joined
lizmat m: END say my $foo; END $foo = 42 # cute 08:17
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
camelia rakudo-moar d8ef5e: OUTPUT«42␤»
GLRelia rakudo-moar 57b7eb: OUTPUT«42␤»
lizmat .tell FROGGS will do so! Thanks!
yoleaux lizmat: I'll pass your message to FROGGS.
masak_venue lizmat: wow, that is cute :)
08:18 darutoko joined
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␤»
GLRelia rakudo-moar 57b7eb: OUTPUT«0␤1␤2␤3␤4␤5␤6␤7␤8␤9␤»
lizmat [Coke]: +1 on non-release announcement :) 08:20
masak_venue oh, +1
nine Yes, please lets get a release out of the door to make space for a glr merge :) 08:25
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
but I agree that emitting *some* signal out of the echo chamber looks better than silence
FROGGS o/
yoleaux 08:17Z <lizmat> FROGGS: will do so! Thanks!
masak_venue FROGGS: \o 08:27
coffee break &
08:27 masak_venue left 08:28 zakharyas left, Ven joined
dalek c: 13d6631 | (Kamil Kułaga)++ | lib/Type/Temporal.pod:
Replaced decimal separator with / to make it true

5.2 looks like copy paste mistake because sleep 5.2 won't sleep for 2.5 seconds changed to 5/2 that gives 2.5 and seems to be real author intention
08:32
08:35 rindolf joined
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:44
08:44 Ven left 08:46 leont left 08:47 larion joined
dalek Heuristic branch merge: pushed 21 commits to rakudo/nom by ShimmerFairy 08:47
ast: 7def790 | ShimmerFairy++ | S02-literals/quoting.t:
Correct «» interpolation test.

There's no evidence in the synopses that interpolated variables in «» lists should ever be not-flat, and with the new allomorphic-based implementation of these things in rakudo, they are in fact always a flat e6b961b | ShimmerFairy++ | S02-literals/allomorphic.t: Unfudge these allomorphic tests
I somehow forgot about them as I got into introducing val() and allomorphic types for rakudo.
08:48
08:48 dalek left
ShimmerFairy There go my allomorphic type and val() changes, merged into nom :) 08:48
08:48 dalek joined, ChanServ sets mode: +v dalek
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:49
08:51 Ven joined 08:52 kjs_ joined
moritz nqp::bindattr(nqp::decont($obj), Int, '$!value', $newvalue) 08:54
08:55 lolisa left, espadrine_ joined 08:58 andreoss joined
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:58
moritz ShimmerFairy: did you try the nqp::bindattr above? 08:59
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:00
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:01
moritz uhm, $!value is a bigint, so it needs to be bindattr_I, no? 09:02
erm no, that doesn't exist 09:03
09:03 leont joined, masak_venue joined
moritz nqp::bindattr(SELF, Int, '$!value', nqp::getattr(nqp::decont($i), Int, '$!value')); 09:06
moritz tries
ShimmerFairy You're welcome to a segfault with that :) 09:07
moritz m: say nqp::getattr(53, Int, '$!value').^name 09:08
camelia rakudo-moar 00be1e: OUTPUT«bigint␤»
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:…»
lizmat I'm thinking about merging nom into glr (again) 09:09
ShimmerFairy BOOTSTRAP.nqp line 62 has my knowhow bigint is repr('P6bigint') { }
lizmat: there's talk of doing a merge the opposite way soon, so I'd recommend waiting and asking around first :)
moritz lizmat: nah, the other way round :-)
lizmat anybody against that at this time ?
masak_venue tux is sitting next to me, saying that his IO::String should be core 09:10
I can't think of any strong arguments for *or* against :)
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
lizmat wasn't it the plan to *rename* glr to "master" ? 09:12
and thus, would need an up-to-date nom in there?
09:12 rurban joined
masak_venue lizmat: makes sense. if we're mergin anyway, we probably want a merge in that direction. 09:13
moritz lizmat: ah, yes
ShimmerFairy lizmat: any chance to suggest a more -Ofun name than master though? :P
lizmat re: IO::String, we need support in the VM for it 09:14
FROGGS "servant" :o)
masak_venue ShimmerFairy: you think it's cute today 09:15
lizmat and I'd like to see some syntactic sugar for IO::String
masak_venue ShimmerFairy: for years we've ditched the benefits of having a "master" that people would just know to default to
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 :)
masak_venue no it wouldn't
09:16 andreoss left
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
ShimmerFairy well, it's sad for me, in an "aw man" kind of way
masak_venue if you want, you can still call the branch something else in your local repository 09:19
may I recommend the name "idiosynchratic" ? :)
ShimmerFairy Like I said, I wouldn't actually mind, it's just boring :)
masak_venue cratic* 09:20
09:21 lizmat_ joined, xiaomiao left, leont left, leont joined 09:23 [TuxCM] joined 09:24 lizmat left, lizmat_ is now known as lizmat 09:25 pecastro left, rarara left 09:27 emilbarton joined
emilbarton Hello, is there a way to get the client ip address from a connection to a IO::Socket::INET server? 09:28
09:31 [TuxCM] left, Ven left 09:32 pecastro joined
lizmat nom does merge cleanly into glr but doesn't build... testing a fix now 09:34
09:37 xiaomiao joined
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 :)
lizmat emilbarton: maybe moritz can help you
ShimmerFairy: yeah, that wss it
but you left a message there how to deal with it in the GLR
:-)
I assume val is tested in the spectest" 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.
Yes, val() is tested, as well as string numification (which has been changed to use val() internally)
lizmat cool, then I propose I merge nom into glr + fix
bartolin lizmat: [Coke]++ asked about merging glr into nom yesterday: 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
bartolin lizmat: so, not merging nom into glr, but the other way around
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?
ShimmerFairy lizmat: S32-str/numeric.t does a _lot_ of Str.Numeric tests, so that alone should be decent enough to check val() :)
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 irclog.perlgeek.de/perl6/2015-09-01#i_11154524 : wasn't it the idea that we rename glr to master ?
yoleaux lizmat: I'll pass your message to [Coke].
ShimmerFairy Yeah, I did add S02-literals/allomorphic.t :)
bartolin lizmat: IIRC it was proposed to do that [renaming to master] in a second step 09:42
09:42 espadrine_ left, espadrine_ joined
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 :-(
moritz once we have a decision, it's easy enough to implement
emilbarton moritz, I'd be glad but it may be too difficult for me. Where would you start?
[ptc] moritz: jnthn isn't here...
lizmat moritz: jnthn is *not* on Granada
ShimmerFairy lizmat: oh, whoops :(
lizmat ShimmerFairy: and it has many failures and bombs out
[ptc] rename-glr-to-master++ 09:44
ShimmerFairy lizmat: I just ran the .t and it's fine. Weird.
lizmat on the glr ?
moritz :(
09:44 rmgk_ joined, rmgk is now known as Guest68216, Guest68216 left, rmgk_ is now known as rmgk
moritz emilbarton: oh, it looks like remote_address simply isn't implemented 09:45
emilbarton: and I don't know how to do that; maybe FROGGS or timotimo have an idea
lizmat ShimmerFairy: and most of the tests are skipped ??
ShimmerFairy lizmat: yes, that test was written before I started my work, and I forgot about the file as I went on, unfortunately :(
lizmat ok, then I propose for testing purposes, I merge nom into glr now 09:46
and postpone the "master" decision until jnthn emerges from a few well deserved days completely offline :-) 09:47
moritz lizmat: sounds sane
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
lizmat until it gets fixed
ShimmerFairy lizmat: I'll do that then :)
[ptc] looks for a power outlet...
dalek Heuristic branch merge: pushed 30 commits to rakudo/glr by lizmat
roast/glr: 7def790 | ShimmerFairy++ | S02-literals/quoting.t: 09:51
roast/glr: Correct «» interpolation test.
roast/glr:
roast/glr: There's no evidence in the synopses that interpolated variables in «»
roast/glr: lists should ever be not-flat, and with the new allomorphic-based
09:51 dalek left
lizmat sorry dalek 09:51
09:51 dalek joined, ChanServ sets mode: +v dalek
dalek kudo/nom: 18f5d25 | ShimmerFairy++ | t/spectest.data:
Add allomorphic.t to spectest.data

Somehow forgot about this file, lizmat++ for reminding me :) .
09:51
09:54 z448 joined 09:55 masak_venue left, leont left 09:56 skids joined 09:57 CIAvash joined 09:58 andreoss joined 10:00 z448 left 10:04 Averna joined
andreoss what data structure in Perl6 is most suitable for a stack? array? 10:04
nine andreoss: yes
TimToady generally, yes
lizmat andreoss: yes
TimToady that's why Array defines .push and .pop 10:05
lizmat brrt to be on shortly...
andreoss using nested pairs for stack is a bad idea? 10:06
10:06 skids left 10:07 dayangkun left 10:08 Ven joined
lizmat andreoss: ?? 10:09
TimToady tends to fragment memory more than a contiguous stack
andreoss m: my $tail = 1 => 2 => 3; my ($head, $tail) = $tail.key, $tail.value; say $tail.key
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…»
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…»
lizmat m: dd 1 => 2 => 3 => 4 10:10
camelia rakudo-moar 00be1e: OUTPUT«1 => 2 => 3 => 4␤»
GLRelia rakudo-moar 467b79: OUTPUT«1 => 2 => 3 => 4␤»
andreoss m: my $tail = 1 => 2 => 3; my $head; ($head, $tail) = $tail.key, $tail.value; say $tail.key
camelia rakudo-moar 00be1e: OUTPUT«2␤»
GLRelia rakudo-moar 467b79: OUTPUT«2␤»
10:11 emilbarton left, skids joined
timotimo ShimmerFairy: you create a bigint object by nqp::box_I (or box_i?) with the value you want, iirc 10:20
10:20 leont joined
FROGGS m: say Signature.^methods 10:21
camelia rakudo-moar 00be1e: OUTPUT«<anon> <anon> <anon> <anon> arity count params returns ACCEPTS perl gist␤»
GLRelia rakudo-moar 467b79: OUTPUT«(<anon> <anon> <anon> <anon> arity count params returns ACCEPTS perl gist)␤»
lizmat FROGGS: glr and nom are the same atm...
FROGGS lizmat: ahh cool :o) 10:22
I'm not testing diffs between those atm anyway
lizmat ah, ok :-)
timotimo there are probably no live streams of yacp::eu?
nine Do we actually have a master branch right now? 10:23
timotimo: seems like there's not even recording going on :(
timotimo WHAT 10:24
ShimmerFairy timotimo: box_i doesn't work :( (and box_I doesn't exist. p6box_i fails too)
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:25
timotimo damn 10:26
oh, how about creating the object in the first place with nqp::radix_I?
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
at least in "using the thing as an Int" we rely on the "box_target" to be set properly for that
rather than access to an attribute
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 :)
dalek line-Perl6/glr: 4e6aabc | (Stefan Seifert)++ | lib/Inline/Perl6.pm:
Update docs due to done -> done-testing change
10:29
10:29 lizmat left
timotimo does it work properly for NumStr? 10:29
ShimmerFairy AFAIK, yes 10:30
timotimo cool :)
ShimmerFairy timotimo: here's where they are: github.com/rakudo/rakudo/blob/nom/...rphs.pm#L1 10:31
10:32 Ven left
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.
timotimo: yeah, but try 'bindattr' and you'll get a repr mismatch :) 10:34
timotimo yeah
oh
how about this
10:34 rurban left
timotimo nqp::add_I($i, 0, IntStr) 10:34
that way you should be able to get the bigint out of the other thing properly
and put it into an IntStr
(this would replace nqp::create)
10:36 skids left
FROGGS wow, this is awesome! 10:36
ShimmerFairy++
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:37
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 :)
moritz nqp::add_I($intstr, 0, Int)
timotimo it's icky and not very performant :)
10:38 skids joined
ShimmerFairy yeah, add_I works too :) 10:38
moritz once you've got a shiny new hammer...
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
FROGGS .tell japhb all tests pass now on my linux box... 10:41
yoleaux FROGGS: I'll pass your message to japhb.
timotimo [ptc]: ^5 10:42
dalek osystem: 53fbf91 | RabidGravy++ | META.list:
Add XDG::BaseDirectory
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)
timotimo ShimmerFairy: the thing is it's not the same thing internally :) 10:44
and nqp is meant to give you close access to the underlying vm, or at least that's how i think of it 10:46
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 :)
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 kudo/cpp3: bb21848 | FROGGS++ | / (21 files):
re-apply patch to add C++/NativeCall support
10:49 Alina-malina left 10:51 Alina-malina joined
lizmat ShimmerFairy: ok, I guess we need to figure out what that is :-) 10:51
10:51 telex left 10:52 telex joined
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:52
lizmat ShimmerFairy: but that would mean slower compilation, not execution? 10:53
10:53 laouji left
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)
cdc m: my $a = (^6).map(* + 1); $a Z=== (1 ... 6)
camelia ( no output )
GLRelia ( no output )
RabidGravy been sitting on that one for ages, thought I'd let it free
ShimmerFairy lizmat: probably, though I never noticed a significant change in parse time
cdc m: my $a = (^6).map(* + 1); say $a Z=== (1 ... 6)
camelia rakudo-moar 00be1e: OUTPUT«False␤»
GLRelia rakudo-moar 467b79: OUTPUT«(True True True True True True)␤»
cdc m: my $a = (^6).map(* + 1).hyper; say $a Z=== (1 ... 6)
camelia rakudo-moar 00be1e: OUTPUT«Method 'hyper' not found for invocant of class 'List'␤ in block <unit> at /tmp/MlBkNYgQ5A:1␤␤»
GLRelia rakudo-moar 467b79: OUTPUT«()␤»
cdc why this doesn't work with hyper? 10:55
ShimmerFairy m: my $a = (^6).hyper.map(* + 1); say $a Z=== (1 ... 6)
camelia rakudo-moar 00be1e: OUTPUT«Method 'hyper' not found for invocant of class 'Range'␤ in block <unit> at /tmp/02MH1kz2fJ:1␤␤»
GLRelia rakudo-moar 467b79: OUTPUT«(True True True True True True)␤»
ShimmerFairy The .hyper needs to be before the thing you want to hyper into :)
cdc ShimmerFairy: oh, thanks! 10:56
ShimmerFairy cdc: think of ».map, which is the same thing as .hyper.map :)
10:57 laouji joined
cdc ok :) 10:57
10:57 TEttinger left
moritz .tell FROGGS any ideas regarding github.com/perl6/DBIish/issues/17 ? 10:59
yoleaux moritz: I'll pass your message to FROGGS.
FROGGS .tell moritz let me take a look :P 11:00
yoleaux 10:59Z <moritz> FROGGS: any ideas regarding github.com/perl6/DBIish/issues/17 ?
FROGGS: I'll pass your message to moritz.
lizmat lunch& 11:01
11:01 lizmat left 11:02 dalek left, dalek joined, ChanServ sets mode: +v dalek, oha left 11:03 oha joined
colomon Hi gang. First compete GLR model smoke run completed overnight. The results are up at smoke.perl6.org/report. 11:04
moritz colomon++
yoleaux 11:00Z <FROGGS> moritz: let me take a look :P
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.
Looks like, I dunno, about half the modules fail under GLR.
11:06 leont left
colomon people can get a handy list of their own modules by looking at (for instance) smoke.perl6.org/report/colomon 11:06
RabidGravy well mine are going to stay all failing until the merge is done 11:09
cdc colomon: do we have access to tests outputs? 11:10
11:15 domidumont joined, cognominal joined, kjs_ left
dalek kudo/nom: a15b0ef | ShimmerFairy++ | src/core/allomorphs.pm:
Make IntStr properly handle bigints

Thanks to timotimo++ for showing me the add_I trick that makes it possible.
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
dalek ast: be1f8da | ShimmerFairy++ | / (3 files):
Un-skip these bigint-using tests.
11:17
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 camelia left
timotimo mhh 11:18
or add multi-boxing ops to the p6ops :)
11:19 camelia joined, domidumont left
ShimmerFairy timotimo: you mean something like nqp::p6boxes_I($val, Int, IntStr) ? :) 11:19
timotimo oh 11:20
11:20 domidumont joined
ShimmerFairy or did you mean something else by "multi-boxing" ? 11:20
timotimo no, more like nqp::p6box_Is($Ival, $Sval, Intstr)
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…»
..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␤»
..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:20 ChanServ sets mode: +v camelia
timotimo >_< 11:21
RabidGravy boom
ShimmerFairy
.oO(I think the shopkeeper was lying 'bout that Norwegian Blue)
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. :)
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
cdc colomon: I think this is because smoke is powered by a Linux kernel < 3.8
timotimo huh? that shouldn't give us problems 11:26
colomon cdc: bugs in the smoker are also very spossible
it’s running on hack.p6c.org.
(in terms of Linux)
cdc: what module?
11:26 xinming_ left
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?
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.
timotimo cool
cdc RabidGravy, timotimo: right. Kains relies on Linux kernel namespaces
11:27 xinming joined
timotimo ah 11:28
i hadn't seen the mention of Kains
and ... actually don't know what that is
cdc colomon: smoke.perl6.org/project/Kains
11:28 pat_js joined
cdc timotimo: just a project of mine 11:28
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:30
colomon cdc: gist.github.com/colomon/3aa697092a560952b61e 11:31
highlight seems to be 11:32
Error: unshare(0x10020000): Operation not permitted
It seems your system doesn't support user namespaces.
cdc colomon: right!
RabidGravy: could you share such a code, please?
colomon: thanks for the tests output, anyway. 11:33
RabidGravy cdc, e.g. github.com/jonathanstowe/Audio-Con...r/Build.pm - you'd need to make the equivalent of LibraryCheck to find the appropriate feature or kernel version 11:35
11:35 perigrin joined 11:36 Ven joined
cdc RabidGravy: thanks! 11:37
RabidGravy actually, somethinng that did that could be a generally useful module - i.e assert a required kernel feature 11:40
11:40 perigrin left
bartolin cdc: hack.p6c runs with kernel 3.16.0-4-amd64 11:40
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:43 Ven left
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: rt.perl.org/rt3/Public/Bug/Display...l?id=76698
camelia rakudo-moar 00be1e: OUTPUT«(Parcel)␤»
GLRelia rakudo-moar 467b79: OUTPUT«(List)␤»
11:48 RabidGravy left
ShimmerFairy There was a Seq() way back when? Weeeeird O_o 11:49
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)␤»
GLRelia rakudo-moar 467b79: OUTPUT«(List)␤(List)␤»
timotimo "way back when"? at that time Seq didn't exist :)
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?
FROGGS bartolin: it very much seems fixed
ShimmerFairy bartolin: not to mention GLR has thrown a wrench in any list-related ticket :)
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
camelia rakudo-moar 00be1e: OUTPUT«["so", "funny"]␤»
GLRelia rakudo-moar 467b79: OUTPUT«["so", "funny"]␤»
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
camelia rakudo-moar 00be1e: OUTPUT«["this", "is", "so", ["so", "funny"]]␤»
GLRelia rakudo-moar 467b79: OUTPUT«["this", "is", "so", ["so", "funny"]]␤»
FROGGS a slice returns a list, and it stays a list, which is correct
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
camelia rakudo-moar 00be1e: OUTPUT«["this", "is", "so", $("so", "funny")]␤»
GLRelia rakudo-moar 467b79: OUTPUT«["this", "is", "so", ("so", "funny")]␤»
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")]␤»
GLRelia rakudo-moar 467b79: OUTPUT«["this", "is", "so", ("so", "hurz")]␤»
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
camelia rakudo-moar 00be1e: OUTPUT«Index out of range. Is: 2, should be in 0..1␤ in block <unit> at /tmp/sJUcb_oX1H:1␤␤»
GLRelia rakudo-moar 467b79: OUTPUT«Attempted to STORE to Nil.␤ in block <unit> at /tmp/wWV1nUQLz9:1␤␤»
FROGGS :S
I like camelia's output better
11:56 CIAvash left 11:59 agentzh joined, agentzh left, agentzh joined 12:04 kjs_ joined 12:06 Ven joined, orbusbak left
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␤␤»
GLRelia rakudo-moar 467b79: OUTPUT«Attempted to STORE to Nil.␤ in block <unit> at /tmp/o9_DeZFRmB:1␤␤»
12:08 telex left
FROGGS [Coke]: I'm sorry, just opened two RT tickets :S 12:09
Ven
.oO( The wrath of [Coke] )
12:10
[Coke] yawns, and is almost ready to grab more koohii.
yoleaux 09:41Z <lizmat> [Coke]: wrt irclog.perlgeek.de/perl6/2015-09-01#i_11154524 : wasn't it the idea that we rename glr to master ?
12:10 telex joined
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:11
12:12 mprelude joined
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
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)
[Coke] catching up; let's not do the master rename as part of the glr merge.
FROGGS Ven: well, no hurry, I'd just like to get results within O(days) 12:13
bbiab 12:14
12:14 FROGGS left
[Coke] so did lizmat++ do some merging? 12:14
ShimmerFairy nom into glr, as I recall 12:15
12:20 cognominal left 12:24 dayangkun joined 12:26 [particle]1 joined 12:27 jordman left, rhr joined 12:28 zacts left 12:29 jordman joined, zacts joined 12:32 sufrostico joined 12:34 lizmat joined 12:38 laouji left 12:40 Ven left
lizmat yeah, nom into glr + some allomorphic fixes 12:40
12:46 [TuxCM] joined
[TuxCM] When pre-compiling a module, its dependencies must be pre-compiled first. 12:46
Please pre-compile /pro/3gl/CPAN/rakudobrew/moar-nom/install/share/perl6/site/lib/Slang/Tuxic.pm 12:47
that is fine. But *HOW* do I precompile something installed with panda?
m: my $a = ""; say +$a;
camelia rakudo-moar 00be1e: OUTPUT«0␤»
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…»
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....)
[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
but it's ok if we do the september release off nom.
lizmat [TuxCM]: at the moment, maybe we should not precompile modules at all 12:50
[TuxCM] ok.
12:50 RabidGravy joined
[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
lizmat m: +"" # ShimmerFairy 12:52
camelia rakudo-moar 00be1e: OUTPUT«WARNINGS:␤Useless use of "+" in expression "+\"\"" in sink context (line 1)␤»
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…»
[Coke] colomon: I'd like glr to get merged back to nom today.
lizmat ShimmerFairy: on GLR this breaks... it should just give 0
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.
I don't know why camelia let it through O_o
colomon [Coke]: that would certainly simplify matters… but also cause massive ecoysystem breakage.
ShimmerFairy $ perl6 -e 'say +""' 12:53
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 ⏏
yeah, something's up with camelia perhaps
[Coke] colomon: yes. we need to break things asap.
lizmat ShimmerFairy: but what is the point of warning *AND* dieing ?
[Coke] otherwise we cannot fix them.
colomon [Coke]: okay, I can live with that as a policy, I guess…
DrForr Make sure it's right during a live demo :)
[Coke] plus, everyone is distracted at yapc::eu. :)
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.
[Coke] we only have 2 weeks until the september release.
lizmat yeah, and with ShimmerFairy's changes breaking Inline::Perl5 as well
I'm not comfortable merging glr into nom
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" :)
[Coke] lizmat: why not? 12:55
what is your preferred course of action then?
lizmat because I hear reports of all sorts of failures here at YAPC::EU
ShimmerFairy camelia is on 00be1e, which is before my merge, so it doesn't have the right changes
[Coke] we can back out shimmeryfairy's change if there isn't concensus on that.
ShimmerFairy m: say val("42")
camelia rakudo-moar 00be1e: OUTPUT«5===SORRY!5=== Error while compiling /tmp/WUhgqqIvWm␤Undeclared routine:␤ val used at line 1␤␤»
GLRelia rakudo-moar 467b79: OUTPUT«val("42")␤»
lizmat like Inline::Perl5 not working on either nom or glr atm
or Text::CSV being broken on both 12:56
[Coke] lizmat: failures where?
ok.
lizmat and they are canaries for the ecosystem to me
[Coke] Pro on merge: we only have to fix these things once.
ShimmerFairy I can push the branch pointers I've got for rakudo and roast, if consensus says a branch would be better for now
[TuxCM] [Coke] I got the same error in nom that GLRelia just showed
lizmat [TuxCM]: the +"" error ? 12:57
[TuxCM] error was in Text::CSV. I just pushed a fix for that one
ye
s
[Coke] ShimmerFairy: if you can postpone your changes until we have nom vs. glr sorted, that would be helpful.
12:57 vendethiel joined
[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:57
lizmat [Coke]: haven't seen it either.... thought it was discussed 12:58
12:58 inokenty left
[TuxCM] $attr = $v ~~ Bool ?? $v ?? 1 !! 0 !! $v.defined ?? $v eq "" ?? 0 !! +$v !! 0; 12:58
ShimmerFairy [Coke]: they're already there
[TuxCM] I just added the bold part
[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?
ShimmerFairy: postpone = "remove and maybe put back later."
lizmat [Coke]: sounds like a plan :-)
[TuxCM] do you need a sit-in somewhere to analyse what is still needed? 12:59
12:59 Sgeo_ left
[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
(I have about an hour, but am already at $dayjob)
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 :)
(I'd also be fine adding a deprecation to +"" for a while)
lizmat ShimmerFairy: maybe it should return Nil ? 13:00
13:00 rindolf left, pochi joined
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:01 lizmat left 13:02 domidumont left 13:04 masak_venue joined, [TuxCM] left
[Coke] I actually prefer it returning 0. 13:05
prior art.
ShimmerFairy: did you discuss this change with anyone before pushing it?
masak masak_venue: get out 13:08
13:08 kjs_ left, masak_venue left, lizmat joined
moritz masak: be kind :-) 13:08
cdc ShimmerFairy: about irclog.perlgeek.de/perl6/2015-09-02#i_11158078, is » supposed to return an HyperSeq?
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 )
moritz ... and to your original, if you're a clone :-)
cdc m: (^2)».map(+*).perl.say
camelia rakudo-moar 00be1e: OUTPUT«((0,), (1,))␤»
GLRelia rakudo-moar 467b79: OUTPUT«((0).Seq, (1).Seq)␤»
masak moritz: I almost kicked masak_venue, but it turned out I needed to be op, and I couldn't be bothered
cdc m: (^2).hyper.map(+*).perl.say
camelia rakudo-moar 00be1e: OUTPUT«Method 'hyper' not found for invocant of class 'Range'␤ in block <unit> at /tmp/atbdWD1YZg:1␤␤»
GLRelia rakudo-moar 467b79: OUTPUT«HyperSeq.new␤»
lizmat ShimmerFairy: apart from all the breakage, I'm *really* disappointed losing 25% bare startup time :-( 13:10
ShimmerFairy: I'd really like to know TimToady's pov wrt +"" throwing a failure 13:11
13:11 brrt joined
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
13:11 kjs_ joined, araujo_ joined
masak we lost 25% startup time? :( 13:11
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
[Coke]: And let me say I was *really* surprised with finding that +"" -> 0 . That feels as wrong as ?"0" -> False to me.
lizmat masak: yeah, on power, we're now at 128 msecs, before it was 94 msecs
ShimmerFairy I will momentarily revert my merge and push the branch pointer as an alternative :)
13:12 araujo_ left, FROGGS joined
moritz masak: I know, I know 13:12
13:13 dayangkun left, araujo left 13:17 Averna left, hernanGOA joined 13:19 leont joined 13:22 [TuxCM] joined
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:22
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 :)
hoelzro o/ #perl6 13:28
ShimmerFairy++ # implementing val()
dalek kudo/nom: e4b5fb3 | ShimmerFairy++ | / (10 files):
Revert "Merge branch 'allomorphs' into nom"

This reverts commit b516e64c570a1af0982730334b92a2fdcb558aee, reversing changes made to 00be1e89dca669f5da082b96e8205c1a832d8c4f.
For better or worse, there are other major changes that prevent this merge from being more helpful than hurtful for now. So this revert is in the interesting of waiting for a better time :)
13:30
ast: da3f450 | ShimmerFairy++ | / (13 files):
Revert "Merge branch 'allomorphs'"

This reverts commit b5b4a29d7a1f9bf7f61e09c21b455a911b4ae4b5, reversing changes made to 61048741deb34d2a818e74de705bcfea9fec7a62.
Wait to make these modifications to the test files.
13:31
13:32 rindolf joined
mrf qgitqwq 13:32
fail
lizmat m: <<a "{40+2}" c>>.perl.say
camelia rakudo-moar 00be1e: OUTPUT«("a", "42", "c")␤»
GLRelia rakudo-moar 467b79: OUTPUT«("a", IntStr.new(42, "42"), "c")␤»
masak mrf: do you actually have a `qgitqwq` command? :P 13:34
(because that's awesome and slightly disturbing)
ShimmerFairy lizmat: for some reason camelia is stuck before the merge (though at this moment it doesn't matter so much :P) 13:35
moritz ./perl6-j --target=jar --output=lib/Test.pm.jar -Ilib lib/Test.pm 13:36
Unhandled exception: java.lang.StackOverflowError
mrf masak: thats about three commands strung together
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, araujo left
mrf ok I have removed some whitespace from docs/announce/2015.md. How do I commit this. 13:37
mrf makes his first foray into the perl6 core by fixing some trailing whitespace in docs :D 13:38
moritz mrf: you make a pull request 13:39
mrf moritz: new branch?
moritz mrf: yes
mrf awesome 13:40
[TuxCM] current checkout for nom: ☑ 🐼, ☑ Slang::Tuxic, ☑ Inline::Perl5 13:41
masak .u 🐼 13:42
yoleaux U+1F43C PANDA FACE [So] (🐼)
masak [TuxCM]: meaning that it all works? 13:43
hoelzro +1 to merging glr into nom
we're going to have to break it eventually
[TuxCM] now testing Text::CSV
All tests successful. 13:44
13:44 muraiki joined
lizmat hoelzro: I'm testing merging nom into glr (again) after ShimmerFairy's revert 13:44
[TuxCM] sits next to lizmat - waiting for decisions
hoelzro yaaay lizmat++
lizmat quite some fails :-(
[TuxCM] but with current checkout of nom all still passes, which might be an OK reference point
hoelzro =( 13:45
muraiki what does the "nom" in the nom branch indicate?
oh, that's the default branch 13:46
cdc muraiki: new object model
lizmat New Object Model
muraiki thanks :)
dalek kudo/nom: 630102f | (Mike Francis)++ | docs/announce/2015.08.md:
Remove trailing whitespace in anounce docs
kudo/nom: e6f3602 | masak++ | docs/announce/2015.08.md:
Merge pull request #523 from ungrim97/trailing-whitespace

Remove trailing whitespace in anounce docs
mrf woot first pull request :D
masak mrf: merged.
mrf \0/
masak \Ω/
mrf showoff 13:47
masak \🐼/
jdv79 are we still doing version strings as spec'd?
masak jdv79: ...yes...?
13:47 inokenty joined
jdv79 so 1.05 and v1.05 are equivalent and fine? 13:48
RabidGravy so anyway I reached the 100 day streak on github
I can give up programming now
lizmat RabidGravy-- # on giving up programming :-) 13:49
RabidGravy++ # for 100 day streak 13:50
masak RabidGravy: you will be missed.
RabidGravy no, I'm just going to Ibiza for a couple of weeks
;-) 13:51
pink_mist RabidGravy++ # since I don't think RabidGravy+=100 works
dalek kudo/glr: 18f5d25 | ShimmerFairy++ | t/spectest.data:
Add allomorphic.t to spectest.data

Somehow forgot about this file, lizmat++ for reminding me :) .
13:53
13:53 dalek left 13:54 dalek joined, ChanServ sets mode: +v dalek
lizmat ok, so I merged nom into glr again 13:55
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
mrf qqmake test 13:58
[TuxCM] building nom …
building glr …
mrf Apparently I can't type in the right window today
moritz brrt: it's a fast-forward merge, not a no-op :-)
masak apparently, mrf can give commands to [TuxCM] over IRC :P
13:59 kjs_ left
[TuxCM] panda fails on glr 13:59
brrt moritz: fair enough
dalek ast/glr: e6b961b | ShimmerFairy++ | S02-literals/allomorphic.t:
Unfudge these allomorphic tests

I somehow forgot about them as I got into introducing val() and allomorphic types for rakudo.
colomon [TuxCM]: it was working earlier today.
ast/glr: be1f8da | ShimmerFairy++ | / (3 files):
Un-skip these bigint-using tests.
ast/glr: da3f450 | ShimmerFairy++ | / (13 files):
Revert "Merge branch 'allomorphs'"

This reverts commit b5b4a29d7a1f9bf7f61e09c21b455a911b4ae4b5, reversing changes made to 61048741deb34d2a818e74de705bcfea9fec7a62.
Wait to make these modifications to the test files.
ast/glr: 235c664 | lizmat++ | / (16 files):
Merge branch 'master' into glr
lizmat was panda supposed to work on glr now ? 14:00
14:00 kjs_ joined
colomon lizmat: yes 14:00
indeed, I tried it again just now and it worked 14:01
14:01 kjs_ left
jdv79 why is license in META6.json a scalar? 14:01
what about "GPL or Artistic"?
[TuxCM] fails with liz too 14:02
masak jdv79: because making it an array would be needless complexity?
jdv79: (besides, the Artistic license is already a superset of GPL)
lizmat jdv79: no particular reason, really
flussence just split on spaces if it needs to be parsed, that's what Gentoo's format does 14:03
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
colomon lizmat: whoops, may have wandered back to nom
14:04 orbus joined
lizmat colomon: huh? 14:04
I wanted to have ShimmerFairy's reverts in glr as well 14:05
andreoss m: $_ for ^10**7
camelia ( no output )
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.
GLRelia rakudo-moar a6bb0b: OUTPUT«(timeout)»
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
Done, built panda for moar-glr
lizmat colomon :-(
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.
I think glr + modules will be fine in the short term, it’s just not fine at this instant. 14:07
panda seems to be working okay under GLR for me.
andreoss $ time perl6-glr -e '$_ for ^10**7' 14:08
1m8.191s
$ time perl6-nom -e '$_ for ^10**7'
0m23.335s
$ time perl5 -E '$_ for 0..10**7'
0m0.332
10**7 doesn't seem like a lot
14:09 FROGGS_ joined
moritz patches welcome :-) 14:09
14:12 FROGGS left
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 :)
dalek ast/glr: 6c044ce | lizmat++ | S02-literals/quoting.t:
Revert some more allomorphic changes breaking GLR
14:14
lizmat FWIW, lock.t now consistently fails on OS X with "Abort trap: 6" 14:16
14:16 Possum left
timotimo mhm 14:16
14:16 andreoss left, kjs_ joined
hoelzro yikes, that's probably my fault 14:17
but then again, I don't think the test was correct earlier
lizmat: is that on GLR or nom? 14:18
lizmat either
hoelzro builds and tries on Arch
14:20 go|dfish joined
hoelzro I never thought I'd say this, but crap, it passes =/ 14:21
RabidGravy wahay! 14:23
colomon did we change Test’s done to something else? I know there was muttering about it... 14:24
RabidGravy done-testing
PerlJam colomon: done-testing
14:25 coke__ joined
colomon well, that was the sole actual GLR failure on Math::Vector. :) 14:25
14:25 coke__ is now known as webcoke, leont left
hoelzro lizmat: is it test 7 or 8 that aborts? 14:26
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␤»
GLRelia rakudo-moar a6bb0b: OUTPUT«True␤»
masak m: sub foo($bar:(Int --> Bool)) { say bar(42) }; sub bar(Int $x) { ?$x }; foo(&bar)
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␤␤»
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␤␤»
masak I just explained nested signatures to lichtkind++
but then I couldn't understand why it doesn't work when I do &bar --> $bar 14:29
any simple explanation for that?
hoelzro commute & 14:30
moritz masak: uhm, what doesn't work?
masak moritz: my second eval.
PerlJam bar is not $bar 14:31
masak oh argh
PerlJam m: sub foo(&bar:(Int --> Bool)) { say bar(42) }; sub bar(Int $x) { ?$x }; foo(&bar) # how I would have probably done it :)
camelia rakudo-moar e6f360: OUTPUT«True␤»
GLRelia rakudo-moar a6bb0b: OUTPUT«True␤»
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␤»
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:32 webcoke left
[TuxCM] Grrrrrrrr, panda builds under glr, but the master branch, not the glr branch. *confusing* 14:34
colomon Cannot .elems a lazy list 14:35
hmmm
YuviPanda so any vague ideas when GLR will be merged into master? in the order of 'weeks' / 'months'?
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
YuviPanda aaaah
ok :D
what does rakudobrew build?
a version based off nom? 14:37
[TuxCM] Slang::Tuxic pas on glr (skipping Inline::Perl5 for the moment)
RabidGravy which woould be cool as I may have 14 modules to remedy before I go on holiday 14:38
14:38 brrt left
colomon YuviPanda: builds nom by default, but to get glr you just say rakudobrew build moar glr 14:38
(this is true for any branch / tag / commit of rakudo) 14:39
(not just glr)
YuviPanda ah nice
lizmat moving again& 14:40
14:40 lizmat left
colomon so… under GLR, why can’t I .elems a lazy list? 14:41
m: say (1..3).map(*+2).elems 14:42
camelia rakudo-moar e6f360: OUTPUT«3␤»
GLRelia rakudo-moar a6bb0b: OUTPUT«3␤»
moritz mostly to guard against accidental reification
m: say (1..*).map(*+2).elems
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␤␤»
moritz nom hangs 14:43
camelia rakudo-moar e6f360: OUTPUT«(timeout)»
14:43 Possum joined
moritz colomon: fwiw this is only for most-likely-infinite lists 14:43
colomon sure, if lazy means infinite
hurm…. pre-glr, Math::Polynomial worked, ergo it didn’t hang. 14:44
now it dies with Cannot .elems a lazy list
m: say 1..5 Z+ 1 xx * 14:48
GLRelia rakudo-moar a6bb0b: OUTPUT«(2 3 4 5 6)␤»
camelia rakudo-moar e6f360: OUTPUT«2 3 4 5 6␤»
14:48 kjs_ left, [TuxCM] left
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␤␤»
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␤»
colomon there, that’s the problem 14:49
m: say 1..5 Z+ 1 xx *
camelia rakudo-moar e6f360: OUTPUT«2 3 4 5 6␤»
GLRelia rakudo-moar a6bb0b: OUTPUT«(2 3 4 5 6)␤»
colomon m: say 1 xx * Z+ 1..5
GLRelia rakudo-moar a6bb0b: OUTPUT«(2 3 4 5 6)␤»
camelia rakudo-moar e6f360: OUTPUT«2 3 4 5 6␤»
colomon m: say 0, 1 xx * Z+ 1..5
camelia rakudo-moar e6f360: OUTPUT«1 3 4 5 6␤»
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:51 inokenty left 14:52 rarara joined 14:53 kjs_ joined 14:54 andreoss joined
andreoss m: $_ for ^10**9 14:54
camelia rakudo-moar e6f360: OUTPUT«Memory allocation failed; could not allocate 10240 bytes␤»
andreoss hangs laptop for me
GLRelia rakudo-moar a6bb0b: OUTPUT«(timeout)» 14:55
14:56 inokenty joined 15:04 kjs_ left 15:05 perl6_newbee joined 15:11 diana_olhovik left 15:12 khw left
RabidGravy boom 15:13
15:13 masak_venue joined
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␤»
GLRelia rakudo-moar a6bb0b: OUTPUT«AB␤»
masak_venue S12 specifies that AB wins here, right? 15:15
TimToady m: $_ for ^(10**9)
15:15 leont joined
camelia rakudo-moar e6f360: OUTPUT«Memory allocation failed; could not allocate 10240 bytes␤» 15:15
masak_venue I was reading design.perl6.org/S12.html#Multisub_Resolution but I couldn't find the phrase that says that AB wins instead of tieing.
GLRelia rakudo-moar a6bb0b: OUTPUT«(timeout)»
rarara m: say (flat(0, (1 xx *))) Z+ 1..5
camelia rakudo-moar e6f360: OUTPUT«1 3 4 5 6␤»
GLRelia rakudo-moar a6bb0b: OUTPUT«(1 3 4 5 6)␤»
rarara colomon: ^ 15:16
15:17 hahainternet joined 15:19 MilkmanDan left, dha joined 15:21 larion left
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:23
.oO( we should write a python import-sorter! )
15:24
^ I'm afraid that's not really doable in Perl6, "sadly"
timotimo huh? 15:26
15:26 MilkmanDan joined
timotimo parameter names *are* exposed to the user 15:26
nine Aah..my slides are finally done :)
15:27 araujo joined, araujo left
dha nine - congratulations. 15:28
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
masak_venue vendethiel: I remember discussing it with jnthn in St Petersburg. 15:30
ShimmerFairy m: sub foo(Int $a) { }; say &foo.signature; # and yet you still can, fwiw 15:32
camelia rakudo-moar e6f360: OUTPUT«(Int $a)␤»
GLRelia rakudo-moar a6bb0b: OUTPUT«(Int $a)␤»
RabidGravy yeah
vendethiel timotimo: I'm talking about named args vs positional args. but yes
15:33 leont left, domidumont joined 15:35 bioexpress joined 15:36 bioexpress left
timotimo oh, you mean because you can pass all args as nameds in python or something like that? 15:37
vendethiel timotimo: yes 15:39
timotimo i forgot about that
vendethiel I think c# stole that from python, as well
15:41 diakopter left
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!
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)␤»
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)␤»
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) {
10:41Z <FROGGS> japhb: all tests pass now on my linux box...
japhb nine: Ah, gotcha. 15:43
FROGGS: Woot!
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)␤»
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)␤»
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 :)
(none of the errors I wrote start with "base-10 number...")
japhb ShimmerFairy: What makes you think that? 15:46
ShimmerFairy japhb: S02
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
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
colomon nine: that error is coming inside METAOP_ZIP
japhb Yes, roast I can see is incomplete.
ShimmerFairy japhb: no, I mean that there are tests explicitly against negative denoms in Rat literals :)
15:49 CIAvash joined
japhb Who added them? (I certainly did not.) 15:49
ShimmerFairy m: say <-1/2>.perl; say <1/-2>.perl
camelia rakudo-moar e6f360: OUTPUT«-0.5␤"1/-2"␤»
GLRelia rakudo-moar a6bb0b: OUTPUT«-0.5␤"1/-2"␤»
ShimmerFairy TimToady, I believe
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.
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.
I'm terrible at naming things, and like to only do it sparingly :P
nine colomon: what does the code triggering that looking like?
japhb m: '-62/15'.Numeric.perl.say 15:51
camelia rakudo-moar e6f360: OUTPUT«<-62/15>␤»
GLRelia rakudo-moar a6bb0b: OUTPUT«<-62/15>␤»
ShimmerFairy japhb: well, I took my cues writing val() from how integers are handled as literals in Perl6 :)
m: say "62/-15".Numeric.perl
japhb ShimmerFairy: ^^ You don't need <...> to make a Rat.
camelia rakudo-moar e6f360: OUTPUT«<-62/15>␤»
GLRelia rakudo-moar a6bb0b: OUTPUT«<-62/15>␤»
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
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
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)
japhb ShimmerFairy: I guess my question is: Why re-implement Str.Numeric. It worked. Well. All that was missing was allomorphism.
15:53 kjs_ left
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.
japhb You *stripped out functionality* 15:54
TimToady the intent is that val() support :# as well
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.
japhb Right, but you NYI something that was *ALREADY IMPLEMENTED*
ShimmerFairy and :#<num*num**num> produces a Num, which is not allowed for Rat literals.
TimToady sorry, a bit distracted by lightening talks at the moment :) 15:55
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.
ShimmerFairy (also, I will point out that my work has been temporarily unmerged, so camelia won't be showing the results of my work)
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.
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.
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?
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"
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 .
(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. :-)
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.
PerlJam skids: Aye, see S02:856
synbot6 Link: design.perl6.org/S02.html#line_856
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.
heh
16:02 kjs_ joined
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:02
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
grondilu guesses he must implement the Numeric role or something
16:03 raiph left, kjs_ left, raiph joined 16:04 skids left
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.
TimToady well, the grammar engine is still a lot slower than it should be
TimToady has at least 3 optimizations in mind
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:05
TimToady ovid keynoting now... 16:06
japhb TimToady: How big an effect do you think those will have?
TimToady dunno 16:07
ShimmerFairy
.oO(How would you choose which optimization to try first? Longest Timespan Minimizer?)
RabidGravy or you could take stuff out until it can't parse perl anymore and then put the last bit back. 16:08
japhb RabidGravy: *snrk* 16:09
16:12 raiph left 16:13 raiph joined 16:19 dwarring left
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:19
masak_venue Ovid++ 16:22
16:26 hernanGOA left 16:29 dha left
ShimmerFairy g'night, #perl6 o/ I'll think more on val()-related stuff tomorrow :) 16:30
RabidGravy Ovid++ # dunno why, but he's alright anyway 16:31
16:31 larion joined 16:34 raiph left
hoelzro night ShimmerFairy 16:34
16:35 raiph joined 16:36 hernanGOA joined 16:38 andreoss` joined 16:39 andreoss left 16:40 kjs_ joined
japhb ShimmerFairy: I do understand, and thank you. :-) 16:42
Oh, I guess since he went to bed ... 16:43
16:43 n0tjack joined
japhb .tell ShimmerFairy I do understand, and thank you. :-) 16:43
yoleaux japhb: I'll pass your message to ShimmerFairy.
japhb *she
PerlJam s/she/fae/ ;)
16:44 cognominal joined
RabidGravy they 16:44
dalek ast: 4747cd4 | usev6++ | S06-traits/is-copy.t:
Add test for RT #122220
synbot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=122220
RabidGravy simplifies
japhb PerlJam: Is that a joke, or her actual prefered pronoun?
PerlJam totally a joke.
japhb Ah, OK
muraiki haha
japhb has always been bad with names, and is apparently now bad with pronouns too ... 16:45
RabidGravy this is why I just call everyone sweety and ignore the gender issue 16:46
japhb winces
PerlJam RabidGravy: ah ... a taste-based nouning. :) 16:47
16:47 andreoss` left
PerlJam er, pronouning 16:47
muraiki I guess RabidGravy would have to go by "savory" then 16:48
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
RabidGravy it was a blog post by Ovid that made me jump back in to perl 6, so maybe that should be negative karma ;-) 16:58
16:59 kjs_ left
masak_venue PerlJam: he said a lot of sage things about Perl, Perl 5 and Perl 6. 17:00
PerlJam: I can probably summarize better later. :)
17:00 masak_venue left 17:06 espadrine_ is now known as espadrine
dalek rl6-roast-data: 0344f33 | coke++ | / (10 files):
today (automated commit)
17:07
[Coke] Boy, after two days back at $dayjob, I miss hanging out with everyone at the SPW. :| 17:10
jdv79 [Coke]: how cold is the fusion today? 17:11
colomon [Coke]: didn’t take two days for me. :) 17:12
[Coke] colomon: today is just particularly bad. 17:13
colomon ah
17:13 cognominal left, cognominal joined 17:14 rarara left, pat_js left 17:15 virtualsue joined 17:18 araujo joined, araujo left, araujo joined, araujo left 17:20 [Sno] left 17:21 araujo joined, [Sno] joined 17:22 araujo left 17:26 diana_olhovik joined 17:27 diana_olhovik_ left
n0tjack r: say [1..10]; 17:32
GLRelia rakudo-moar a6bb0b: OUTPUT«[1 2 3 4 5 6 7 8 9 10]␤»
..rakudo-jvm a6bb0b: OUTPUT«Can't open perl script "/home/steve/rakudo-inst/bin/eval-client.pl": No such file or directory␤»
camelia rakudo-{moar,jvm} e6f360: OUTPUT«1 2 3 4 5 6 7 8 9 10␤»
17:34 virtualsue left
[Coke] sighs, and heads back to the meeting. 17:37
17:37 skids joined
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, diana_olhovik_ joined
japhb [Coke]: I'm somewhat surprised that you haven't just created an nqp-coldfusion and been done with it. ;-) 17:47
17:47 diana_olhovik left
mohij What's the reason for merging glr back to nom if nom will be the legacy branch and glr the new master? 17:48
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:49
RabidGravy m: role F { }; sub (:$foo) { } does F ; # why does this work ? 17:50
camelia ( no output )
GLRelia ( no output )
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
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␤»
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␤»
japhb (Due to previous declaration that initial spec will be slushy-frozen this month.)
colomon Is Phaser::ATEXIT in any way useful today?
17:51 diana_olhovik___ joined 17:52 diana_olhovik_ left
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
colomon the biggest issue I’m seeing so far is the switch from done to done-testing. 17:55
17:58 xiaomiao left 18:02 xiaomiao joined 18:03 lizmat joined
dalek ast: 6e925d7 | usev6++ | S14-roles/parameterized-mixin.t:
Add test for RT #123511
18:04
synbot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=123511
18:08 diana_olhovik_ joined, FROGGS_ is now known as FROGGS, sufrostico left, diana_olhovik___ left
FROGGS japhb: btw, the C++ stuff works so war on linux/gcc and windows/msvc 18:09
s/gcc/g++/
18:11 rangerprice left 18:12 diana_olhovik___ joined 18:13 diana_olhovik_ left
n0tjack I saw the async test-runner linked from the p6 news blog (bit.ly/1JBMLvV) 18:13
is there any syntactic sugar that to create non-reentrant procs like maybe-run-tests() there? 18:14
rather than doing it manually with a global flag?
18:17 araujo joined 18:18 perl6_newbee left
dalek kudo/cpp3: 87da75e | FROGGS++ | t/04-nativecall/1 (2 files):
skip test file when we cannot compile C++
18:19
18:19 diana_olhovik___ left
_itz 18:20
18:21 dwarring joined 18:22 skids left
muraiki 18:22
18:22 espadrine left, diana_olhovik_ joined
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
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 +"";
camelia rakudo-moar e6f360: OUTPUT«0␤»
GLRelia rakudo-moar a6bb0b: OUTPUT«0␤»
TimToady so arguably the correct representation of 0 is actually "" :) 18:28
FROGGS japhb: cpp3 also works on my 32bit linux, though that has the same g++ version as my dev machine... 4.8.4 18:31
japhb: os / g++ version do you have access to? 18:32
18:32 hernanGOA left
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> <>␤»
GLRelia rakudo-moar a6bb0b: OUTPUT«<42> <>␤»
18:33 CIAvash left 18:35 diana_olhovik_ left
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
japhb goes to pick up lunch before meeting 18:38
18:39 yqt joined
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:41
moritz m: my @n = "*"; @n[1..2] = "*@*".split("*") 18:42
camelia ( no output )
GLRelia rakudo-moar a6bb0b: OUTPUT«This Seq has already been iterated, and its values consumed␤ in block <unit> at /tmp/CGi12jt6cW:1␤␤»
moritz GLR bug, I think
m: my @n = "*"; @n[1..2] = <a b>.sort
camelia ( no output )
GLRelia rakudo-moar a6bb0b: OUTPUT«This Seq has already been iterated, and its values consumed␤ in block <unit> at /tmp/b0JNaSJFCe:1␤␤»
moritz m: my @n = "*"; @n[1, 2] = <a b>.sort
camelia ( no output )
GLRelia rakudo-moar a6bb0b: OUTPUT«This Seq has already been iterated, and its values consumed␤ in block <unit> at /tmp/96SIbgG5UU:1␤␤»
18:43 larion left
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…»
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…»
moritz m: my @n = "*"; @n[1, 2] = <a b>
camelia ( no output )
GLRelia ( no output )
moritz m: my @n = "*"; @n[1, 2] = <a b>.sort
camelia ( no output )
GLRelia rakudo-moar a6bb0b: OUTPUT«This Seq has already been iterated, and its values consumed␤ in block <unit> at /tmp/Y43rv70jju:1␤␤»
moritz m: my @n = "*"; @n[1..2] = <a b>
camelia ( no output )
GLRelia ( no output )
18:47 sjn_phone_ left
moritz m: my @n; @n[0, 1] = <a b>.sort 18:47
camelia ( no output )
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
st_iron hello 18:47
moritz hi st_iron 18:48
dalek ast/glr: c6b955c | moritz++ | S32-list/seq.t:
Add failing test for a GLR regression

assignment of a Seq to an array slice dies with "This Seq has already been iterated"
18:49
st_iron I just realized that it is the time to really start playing with perl6 until Christmas 18:51
tadzik it is :)
then you still get your chance at finding something that really needs fixing before christmas comes 18:52
18:52 sufrostico joined, sufrostico left
st_iron absolutely 18:53
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:54 lizmat left
hoelzro (on that note, I discovered that it's because libuv is allocating too many file handles for use with kqueue) 18:55
will continue researching after (work&meetup)
18:57 DavidIAm joined
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 www.lucidchart.com/techblog/2015/0...r-science/ 18:58
tadzik hoelzro: I'll have another patch to linenoise!
for M-d
hoelzro tadzik++ 19:00
19:08 dha joined 19:13 raiph left, raiph joined
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:15
that doesn't get us around everything, but it helps prevent some errors 19:16
DavidIAm yeah, I can see that.
arnsholt m: class A {}; multi foo(A:D $) { say "defined" }; multi foo(A:U $) { say "undef" }; foo(A); foo(A.new) # DavidIAm
camelia rakudo-moar e6f360: OUTPUT«undef␤defined␤»
GLRelia rakudo-moar a6bb0b: OUTPUT«undef␤defined␤»
arnsholt The A:D form requires the parameter to be defined (so a "Just a" in Haskell terms), while A:U requires undefined 19:17
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:18
19:18 telex left, domidumont left
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.
RabidGravy yes 19:20
DavidIAm Or require that it be passed. But that doesn't really function from the opposite end
when you're holdin gsomething that you want to operate on that might not be defined?
19:20 telex joined
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␤␤»
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␤␤»
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
muraiki man, that's a really nice error message 19:21
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␤␤»
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␤␤»
muraiki hrm, that's not really what I wanted. well, you get the point
19:22 dha left
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
19:23 khw joined
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␤»
GLRelia rakudo-moar a6bb0b: OUTPUT«not defined␤defined␤»
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.
muraiki where's that presentation... 19:26
jnthn.net/papers/2015-fosdem-static-dynamic.pdf
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
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
at the very least its' more safety than clojure will give you ;)
DavidIAm relative improvements are certainly not nothing.
bartolin m: my $x; my @a = 1,2; $x = Array.new(@a) => 'x'; @a.pop(); say $x; # is that change with glr known/wanted
camelia rakudo-moar e6f360: OUTPUT«1 => x␤» 19:28
GLRelia rakudo-moar a6bb0b: OUTPUT«[1 2] => x␤»
bartolin m: my $x; my @a = 1,2; $x = @a => 'x'; @a.pop(); say $x;
camelia rakudo-moar e6f360: OUTPUT«1 => x␤» 19:29
GLRelia rakudo-moar a6bb0b: OUTPUT«[1] => x␤»
DavidIAm have there been any presentation decks that have to do with the discussion of nothings within perl 6? 19:30
moritz Mu
muraiki I think he means undef, not Mu :) 19:31
moritz muraiki: Mostly Undef, then :-)
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
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:33
moritz muraiki: or use die() 19:35
try it. It's awesome.
muraiki well, without terminating the whole thing :)
RabidGravy :)
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
muraiki well yeah
moritz you can also use a subroutine, and return or fail at various points
which also naturally limits the scope of the failure
DavidIAm m: my $x; $x.stupendousmethod()
camelia rakudo-moar e6f360: OUTPUT«Method 'stupendousmethod' not found for invocant of class 'Any'␤ in block <unit> at /tmp/IlnFyVPkbN:1␤␤»
GLRelia rakudo-moar a6bb0b: OUTPUT«Method 'stupendousmethod' not found for invocant of class 'Any'␤ in block <unit> at /tmp/JPhKjkrGLT:1␤␤»
DavidIAm hmm.
moritz DavidIAm: if you break a promise, it'll never be fulfilled
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?
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
moritz DavidIAm: correct
DavidIAm: doc.perl6.org/type/Promise
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:38
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") }
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…»
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…»
DavidIAm heh.
DavidIAm mumbles while looking up try/catch. 19:42
ugexe its not going to work with a non-existent method either
muraiki DavidIAm: this has a good intro to promises in p6: jnthn.net/papers/2013-npw-conc.pdf
ugexe oh duh, thats the point! 19:43
DavidIAm :D
19:44 st_iron left
DavidIAm m: my $x; sub breakable ($prom, $x) { $prom.keep($x.dereferencethis()); CATCH { $prom.break("No can do") } } 19:44
GLRelia ( no output )
camelia ( no output )
DavidIAm there's obviously something I don't get there. Huh.
make the promise be a promise maybe will help. 19:45
ugexe you have to call the sub 19:46
say breakable(Promise.new, ::('asdf')).perl or some such 19:48
DavidIAm ah, yes. of course. 19:49
dalek c: d227b15 | (David H. Adler)++ | lib/Type/IO/Spec/ (4 files):
Added TODO comments to the pod files in lib/Type/IO/Spec to be in line
19:50
muraiki hrm yeah, I'm having trouble figuring out the right way to catch the failure when calling a non-existent method 19:51
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
GLRelia rakudo-moar a6bb0b: OUTPUT«Planned␤»
camelia rakudo-moar e6f360: OUTPUT«Planned␤»
ugexe m: class A {}; my $x = A.new; say $x.?blargh() 19:52
camelia rakudo-moar e6f360: OUTPUT«Nil␤»
GLRelia rakudo-moar a6bb0b: OUTPUT«Nil␤»
DavidIAm Nil? That's a new one on me.
moritz muraiki: the CATCH block must be inside the try { } block
muraiki whoops, thanks mortiz
moritz*
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…»
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…»
muraiki yay failure to copy correct
maybe I should do this in a text editor instead of via perl6 - e
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
ok I give up. I am just spamming the channel now. but you get the point, DavidIAm
DavidIAm I'm working on understanding. 19:54
oh, there IS a try block. okay.
what's the default block?
muraiki yeah the exceptions page doesn't actually explain the try block :(
RabidGravy dha, cheers I actually thought I did that but clearly not
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, (␤»
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, (␤»
muraiki DavidIAm: you can match on the exception type, such as CATCH { when X::FooException { ... } }
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
camelia rakudo-moar e6f360: OUTPUT«Broken␤»
GLRelia rakudo-moar a6bb0b: OUTPUT«Broken␤»
DavidIAm so 'default' is a parallel level with 'when' for a switch type statement sequence
muraiki DavidIAm: if you dno't provide a default, the then exception propagates
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
DavidIAm Ahhhhhhhhhhhh!
moritz DavidIAm: and if none of the blocks match, the exception is rethrown
DavidIAm I think that sounds clever.
no need for manual rethrowing. guut.
moritz and try { } is like having a CATCH { default { } } inside a block
so, a catch-all 19:57
DavidIAm without hte try the scope is the full app?
moritz no, the outer scope of the CATCH block
if 42 { CATCH {... }; only here }; not here
DavidIAm UNDO? hm. 19:58
Oh, alright moritz, note.d
moritz UNDO runs on unsuccessful scope exit
muraiki nice
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
camelia rakudo-moar e6f360: OUTPUT«Broken␤»
GLRelia rakudo-moar a6bb0b: OUTPUT«Broken␤»
moritz since there's a CATCH block in here, the 'try' is redundant 19:59
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
camelia rakudo-moar e6f360: OUTPUT«Broken␤»
GLRelia rakudo-moar a6bb0b: OUTPUT«Broken␤»
DavidIAm Unable to parse expression in argument list; couldn't find final ')' <-- can't quite get that.
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
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:00 frobisher is now known as dha
DavidIAm moritz - no worries, thanks though. learning curve. 20:01
moritz depends on the size of the "blah" 20:02
if it's short, one line is fine; if it's a paragraph, several lines
dha right. e.g. "TODO: publish_method_cache"
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
to define a class WITH a nope method. is class Z { sub nope { 1 } } inadequate?
dha Hm. or... maybe those should be turned into headings and then given TODO comments.
muraiki DavidIAm: use "method nope" 20:04
DavidIAm Just so! Thank you muraiki
RabidGravy dha, that looks like it could be made into a stub =head2 ....\n\n=comment TODO buut I guess not all like that
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.
moritz RabidGravy: the docs should be readable to the user
dha so... s/could/should/ ? :-)
moritz RabidGravy: and I don't find empty headings very readable
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:06
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:07
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?
I don't see why we should apply a lower standard in our docs
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.
An empty heading indicates that something is there, if not actually fleshed out yet.
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)
What RabidGravy said.
20:10 darutoko left
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...
then I'd rather not find that document in the first place
YMMV :-) 20:11
dha Hm. are many people searching for P6 docs on google?
And, even if people are doing that, what about the people who are reading the docs at, e.g. doc.perl6.org?
moritz there's significant traffic from google, yes 20:12
muraiki I search for docs via google
muraiki is one data point
moritz (last I looked into the stats)
RabidGravy as a programmer I tend to go what can I do with this thing, so knowing that there is a method helps
dha muraiki - in which direction?
RabidGravy plus obviously this isn't the desired end state
I would say it would be bad if it was still like that after we hit 6.0.0 20:13
20:13 colomon left
RabidGravy just looks in the source :-\ 20:14
20:14 kaare_ left
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:14
In which case, maybe it would be better to hide undocumented things. But I'm unsure about this. :-/ 20:15
moritz 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
dha wow, yeah.
RabidGravy but maybe people find them once and just bookmark 20:17
muraiki points at Sep/2015 3: there's me!
yeah, that's interesting
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
:-)
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:21
20:21 blackcat_ left
moritz until then, folks who write stuff decide on a case-by-case base 20:22
thou ugexe: Thanks for all your help the other day, sorry if I came off like a jerk. 20:23
dalek c: 829ef12 | (David H. Adler)++ | lib/Type/Metamodel/PrivateMethodContainer.pod:
Cleaned up TODO comment in
dha moritz - indeed, that is true. I happen to find that a bit of a problem, but I have no viable solution. *shrug*
...and now I come across a "=for comment". *sigh* 20:25
Unless anyone has an objection, I'm going to change that to a =begin/=end 20:26
DavidIAm its a comment that shouldn't be int he POD output? 20:28
RabidGravy I find myself type =for comment 20:29
20:29 xfix left
RabidGravy DavidIAm, that syntax is P5 pod 20:29
20:30 colomon joined
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.
RabidGravy: is this change in perl6 then, format purpose is not a thing in pod any more?
RabidGravy not sure it even parses in P6
20:30 SamuraiJack left
RabidGravy it's =begin ,.. =end now 20:31
20:31 rindolf left
RabidGravy so =begin pod ... =end pod 20:31
dha actually, perl6 --doc doesn't spit up on =for comment 20:32
RabidGravy fair enough 20:33
dha But I'm changing it. HA! I HAVE THE POWER!
pink_mist the power of greyskull!
dalek c: b3fec16 | (David H. Adler)++ | lib/Type/MixHash.pod:
Changed =for comment to =begin/=end comment in lib/Type/MixHash.pod
20:34
dha pink_mist++
RabidGravy It would be cool if the "=begin FOO" -> $=FOO thing was implemented, is it just the pod parser not doing it? 20:38
dha dunno. 20:40
pink_mist what is this "=begin FOO" -> $=FOO thing?
dha just assumes RabidGravy has been drinking. 20:41
:-)
flussence the $=pod thing? Yeah, I kinda want that too...
RabidGravy the content of a =begin FOO .. =end FOO block goes in a $= variable
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...)
pink_mist for 100 days straight then, RabidGravy? :P
dha Oh, I meant in general. :-)
RabidGravy pink_mist, I'm not sure I've had a day this year I didn't have *some* beer :) 20:43
20:45 cognominal left, blackcat_ joined
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:47
but then I thought I'd get 10,000 listens on soundcloud 20:48
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. :)
dha What the...? 20:51
RabidGravy colomon, linky?
dha is there really a method in the Submethod class called "flurb"?
colomon soundcloud.com/solomon-foster-1
dha I note the documentation for flurb says "method description here" 20:52
colomon Woah, RabidGravy, that was fast! :)
RabidGravy :)
colomon cannot listen at the moment, alas. 20:53
dha I'm putting a TODO comment under flurb. 20:54
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.
dalek c: d4e7d73 | (David H. Adler)++ | lib/Type/Submethod.pod:
Added TOTO comment to lib/Type/Submethod.pod
20:55 TEttinger joined
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:56
RabidGravy I think it's unlikely you'd be into my stuff - a whole alternative unoiverse of noise 20:57
but good stuff 20:58
:)
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
oh hey, he’s on soundcloud too: soundcloud.com/asherperkins
(he’s a fantastic button accordion player, was part of the band at my wedding reception when he was in middle school.) 21:00
RabidGravy keep meaning to hack up an accordionMIDI controller 21:02
muraiki this does not sound like button accordion 21:03
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?)
colomon yes, that’s me
muraiki :D
colomon danke 21:05
muraiki someday I'll get a set of uilleann pipes...
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:05 Woodi left
RabidGravy muraiki, I think I have something in the region of thirty distinct types of musical instrument, there's always time :) 21:07
muraiki RabidGravy: do you play any brass instruments? because that's eaten up all of my shakuhachi time, hehe 21:08
with brass it's like you miss 2 days practice and a week's worth of learning is gone
colomon muraiki: www.bensonandcorneliuspipes.com/
RabidGravy No brass, saxophone when my lungs let me though
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
colomon: I feel like somehow we've talked about pipes before and you linked this to me. hehe
colomon muraiki: I was thinking the same, but you still haven’t bought a set. ;)
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
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:11
muraiki colomon: not fun :( 21:12
colomon eh, it’s life. but it’s frustrating.
muraiki yeah, there's uilleann pipes to be bought!
colomon We’d probably buy a concertina first. 21:14
hmm… www.concertinas.ca/
and ha! Frank’s got a video of Asher playing one of Frank’s concertinas.
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:15
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.
when you find a groove with it, it’s really, really nice. :) 21:17
21:17 pmurias joined
dalek p/js: 2c3d2ac | (Pawel Murias)++ | src/vm/js/ (3 files):
Pass test 67.

Implement nqp::setcontspec with code_pair.
21:17
21:18 colomon left
_itz returns from ypc pool party 21:22
RabidGravy dj good? 21:28
21:28 n0tjack left 21:29 n0tjack joined
_itz yeah tony de vit 21:32
not really but there was mucho free beer 21:33
dha Ok, all undocumented items under doc/lib have TODO comments now. Unless I missed some. 21:34
21:39 thou left 21:40 colomon joined 21:42 thou joined 21:43 muraiki left
RabidGravy dha++ # do that stuff 21:45
21:49 dha left 21:51 AlexDaniel joined
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␤␤»
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:51 n0tjack left
RabidGravy it's the comma 21:58
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␤»
GLRelia rakudo-moar a6bb0b: OUTPUT«two␤»
raiph m: =foo blah blah␤␤$=pod.grep(*.name eq 'foo').map(*.contents[0].contents.say); # see stackoverflow.com/a/27936867/1077672
camelia rakudo-moar e6f360: OUTPUT«blah blah␤»
GLRelia rakudo-moar a6bb0b: OUTPUT«[blah blah]␤»
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
RabidGravy :) 22:00
raiph :) nice 22:01
virtualsue Soo DrForr has somehow managed to land himself in hospital in Granada (before he got he pissed!) 22:02
RabidGravy boo
virtualsue he's joking a bit on FB
RabidGravy how did he achieve that?
virtualsue but Wendy says he broke his leg quite badly 22:03
trying to find out some details -- nobody knows except him and (possibly) the paramedics
jdv79 did the night seem unfulfilled that nobody got thrown in the pool? 22:04
virtualsue yes. i was pondering having a swim
jdv79 it was so close for so long. i thought at least someone would have fallen in at least
virtualsue but i think that was the beer/sangria talking 22:05
_itz I wanted to find the python-perl guy :)
virtualsue bad _itz! we are an inclusive community!!
we love everyone -- even the unlovable ones!
like python types 22:06
jdv79 how did DrForr manage this?
22:06 n0tjack joined
RabidGravy Just seen miyagawa's pictures no-one in the pool 22:06
dalek kudo-star-daily: df33519 | coke++ | log/ (9 files):
today (automated commit)
jdv79 yeah , the pool was a bust
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
virtualsue yes clearly 22:08
i should have push _itz in
RabidGravy :)
[Coke] japhb: (nqp-coldfusion) I am not going to encourage them. 22:09
virtualsue he's fat enough to float
RabidGravy actually on this picture it looks like everyone is *avoiding* the pool
aw poor itz
jdv79 what pic?
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 n0tjack left
virtualsue ++ 22:11
_itz the signs sould be inclusive perl
RabidGravy miyagawa's pic on FB kind of taken with balconies to the left
_itz++ 22:12
AlexDaniel m: my UInt $x = 25; my Int $y = 30; $x -= $y
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␤␤»
GLRelia rakudo-moar a6bb0b: OUTPUT«Type check failed in assignment to '$x'; expected 'UInt' but got 'Int'␤ in block <unit> at /tmp/JE0HUc4VLu:1␤␤»
AlexDaniel isn't it less than awesome?
22:12 dha joined
jdv79 i don't do the fb so not sure what you mean 22:13
RabidGravy tricky as there could be thousands
anyway time to crash 22:14
AlexDaniel m: my UInt $x = 0; $x--;
camelia rakudo-moar e6f360: OUTPUT«Type check failed in assignment to '$x'; expected 'UInt' but got 'Int'␤ in block <unit> at /tmp/tYBHNhQrI0:1␤␤»
GLRelia rakudo-moar a6bb0b: OUTPUT«Type check failed in assignment to '$x'; expected 'UInt' but got 'Int'␤ in block <unit> at /tmp/G1WL659Vmd:1␤␤»
AlexDaniel hm, maybe it is good enough
[Coke] .seen lizmat 22:16
yoleaux I saw lizmat 18:54Z in #perl6: <lizmat> dinner&
[Coke] .seen jnthn
yoleaux I saw jnthn 27 Aug 2015 17:34Z in #perl6: <jnthn> So may need bringing in line with what actually got done.
22:18 RabidGravy left
virtualsue pretty sure jnthn is going to be offline for a day or two 22:19
mohij tadzik: github.com/patzim/rakudobrew 22:21
22:21 larion joined
mohij .tell tadzik github.com/patzim/rakudobrew 22:23
yoleaux mohij: I'll pass your message to tadzik.
mohij .tell tadzik Supports shell local switching and dynamically determining the target version.
yoleaux mohij: I'll pass your message to tadzik.
22:25 skids joined 22:30 Sgeo joined 22:31 pmurias left
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␤␤»
GLRelia rakudo-moar a6bb0b: OUTPUT«Cannot invoke this object (REPR: Uninstantiable, cs = 0)␤ in block <unit> at /tmp/ukCrHHvrhj:1␤␤»
AlexDaniel what is “cs = 0”?
virtualsue looks like a trivial problem 22:33
AlexDaniel virtualsue: you think I should submit an issue? 22:34
virtualsue i'd guess 'cs=0 ' some sort of debugging output - i'm about to pull and build glr now anyway 22:35
sure
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. :-)
virtualsue yes, you do know 22:37
he declared myInt to be the negative ints, and he tried to set it to a positive int
that's a fail
dha Oh fine. *pout* 22:38
japhb [Coke]: Don't think of it as "encouragement". Think of it as "abstracting away".
virtualsue heh
22:38 rurban left, n0tjack joined
_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
oops twice
AlexDaniel m: subset MyInt of Int where * < 0; my $x = MyInt(-10);
camelia rakudo-moar e6f360: OUTPUT«Cannot invoke this object (REPR: Uninstantiable, cs = 0)␤ in block <unit> at /tmp/ubzNBIPCmM:1␤␤»
GLRelia rakudo-moar a6bb0b: OUTPUT«Cannot invoke this object (REPR: Uninstantiable, cs = 0)␤ in block <unit> at /tmp/MSfFBHi8wP:1␤␤»
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.
AlexDaniel oh! 22:42
skids It was not getting it for the same reasons though.
AlexDaniel ok, I almost hit the send button 22:43
but looks like a duplicate, sooo…
skids Well, no, not really.
But there might be one in there let me search,
22:46 n0tjack left
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
AlexDaniel whatever
skids Yes do I could not find anythng.
virtualsue err on over not under reporting 22:48
22:48 n0tjack joined
skids AlexDaniel++ 22:48
virtualsue AlexDaniel++ # QA
AlexDaniel :) 22:49
virtualsue waits slow hotel wifi that is very slow
_itz rakudo-jvm: subset MyInt of Int where * < 0; my $x = MyInt(-10);
GLRelia rakudo-jvm a6bb0b: OUTPUT«Can't open perl script "/home/steve/rakudo-inst/bin/eval-client.pl": No such file or directory␤»
camelia rakudo-jvm e6f360: OUTPUT«Can not invoke this object␤ in block <unit> at /tmp/1fEwYvQavY:1␤␤»
virtualsue haha 22:50
broken code is broken
\o/
_itz rakudo-jvm: subset MyInt of Int where * < 0; my MyInt $x = -10
GLRelia rakudo-jvm a6bb0b: OUTPUT«Can't open perl script "/home/steve/rakudo-inst/bin/eval-client.pl": No such file or directory␤»
camelia ( no output )
_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␤»
camelia rakudo-jvm e6f360: OUTPUT«Type check failed in assignment to '$x'; expected 'MyInt' but got 'Int'␤ in block <unit> at /tmp/925Svvlc6x:1␤␤»
virtualsue wonders why GLRelia is having perms issues and thinks _itz might be able to fix that
AlexDaniel m: subset MyInt of Int where -20 < * and * < 0; my MyInt $x = 666; say $x; 22:52
camelia rakudo-moar e6f360: OUTPUT«666␤»
GLRelia rakudo-moar a6bb0b: OUTPUT«666␤»
AlexDaniel I know that I can do chaining here, but…
what is the right way to do that without chaining ops?
22:52 n0tjack left
japhb virtualsue: I don't think it's having permissions problems; rather I think r-j just wasn't built for GLRelia. 22:53
22:53 xnrand is now known as tumblr
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
virtualsue poor DrForr - he doesn't know what hospital he's in. suspect that's because he has some Good Drugs
virtualsue watches rakudobrew compile finally (again: this is the hotel wifi,not p6 :-) ) 22:55
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␤␤»
GLRelia rakudo-moar a6bb0b: OUTPUT«Type check failed in assignment to '$x'; expected 'MyInt' but got 'Int'␤ in block <unit> at /tmp/s71luAaiZJ:1␤␤»
AlexDaniel oh, so it needs () 22:57
I don't like that without () it is so silent…
22:57 Possum left 22:59 tumblr is now known as xnrand
AlexDaniel m: subset MyInt of Int where (* < 0 and * > 0); my MyInt $x = 100; say $x; 22:59
camelia rakudo-moar e6f360: OUTPUT«100␤»
GLRelia rakudo-moar a6bb0b: OUTPUT«100␤»
AlexDaniel uhmmmmm
m: subset MyInt of UInt where * < 0; my MyInt $x; say $x; 23:02
camelia rakudo-moar e6f360: OUTPUT«(MyInt)␤»
GLRelia rakudo-moar a6bb0b: OUTPUT«(MyInt)␤»
[Coke] japhb: thankfully, the official CF version runs on the jvm... so nqp-j is fine. Just need mojo6 on jvm, done. 23:04
23:05 frobisher joined 23:08 dha left 23:10 n0tjack joined 23:12 mohij left, virtualsue left
skids moritz: PR#522 will likely fix the bug mentioned in roast c6b955cf (but the test add there should be "ok" not "say"). 23:13
23:15 n0tjack left
skids Oh, nm, the PR does not fix it. 23:21
wait... somethings up in my tree. 23:23
timotimo barks up skids' tree
skids o/
Ah, ok, yes, that PR does fix that. For some reason "make spectest" will rebuild but not install? Or something. 23:26
23:26 mr-foobar left 23:28 thou left, frobisher is now known as dha 23:33 vendethiel left 23:35 mprelude left
dalek ast/glr: d6a9f7c | skids++ | S32-list/seq.t:
skip new test code that was aborting the test file

Also, fix the test to actually be a test.
Also, mention the PR that will fix the bug.
23:35
skids .tell moritz see roast/glr commit d6a9f7c 23:37
yoleaux skids: I'll pass your message to moritz.
timotimo i'm kinda confused/surprised by people mentioning "my %d" having "state-like behaviour" in -n one-liners :| 23:41
23:42 n0tjack joined 23:47 n0tjack left 23:54 AlexDaniel left
dalek c: cbb84c8 | (David H. Adler)++ | lib/Language/5to6.pod:
Added entry for Perl-ToPerl6 to lib/Language/5to6.pod

Spelling correction in the entry for Mad in 5to6.pod as well.
23:59