»ö« 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:00 lizmat joined, lizmat left 00:08 TEttinger joined 00:16 BenGoldberg joined
BenGoldberg m: (sub { [6, 7, 8] })->().perl.say; 00:17
camelia rakudo-moar 6a1879: OUTPUT«5===SORRY!5=== Error while compiling /tmp/qbf1LzsYcH␤Unsupported use of ->(), ->{} or ->[] as postfix dereferencer; in Perl 6 please use .(), .[] or .{} to deref, or whitespace to delimit a pointy block␤at /tmp/qbf1LzsYcH:1␤------> 3(sub { [6, 7…»
GLRelia rakudo-moar b1db8a: OUTPUT«5===SORRY!5=== Error while compiling /tmp/9lsMzCSTlr␤Unsupported use of ->(), ->{} or ->[] as postfix dereferencer; in Perl 6 please use .(), .[] or .{} to deref, or whitespace to delimit a pointy block␤at /tmp/9lsMzCSTlr:1␤------> 3(sub { [6, 7…»
BenGoldberg m: (sub { [6, 7, 8] }).().perl.say; 00:18
camelia rakudo-moar 6a1879: OUTPUT«[6, 7, 8]␤»
GLRelia rakudo-moar b1db8a: OUTPUT«[6, 7, 8]␤»
00:23 vendethiel left 00:34 cognominal joined
ugexe m: sprintf(1,2,3,4,5) # why doesn't this report the line number or what the problem is? 00:35
camelia rakudo-moar 6a1879: OUTPUT«Directives specify 0 arguments, but 4 arguments were supplied␤␤»
GLRelia rakudo-moar b1db8a: OUTPUT«Directives specify 0 arguments, but 4 arguments were supplied␤␤»
00:37 tinyblak joined 00:39 smls left 00:42 tinyblak left 00:46 llfourn joined 00:50 llfourn left 01:04 cognominal left
[Coke] its coming from nqp. 01:06
you can get a slight better error there if you run perl6 with --l
--ll-exception, but you shouldn't have to. 01:07
01:15 vendethiel joined, seQui joined, seQui left, skids joined
ugexe heh thats how i discovered what the error actually was 01:15
01:17 aborazmeh joined, aborazmeh left, aborazmeh joined
BenGoldberg m: srand(42); my @o = 0x202D.chr, 0x202E.chr; print @o.pick, $_ for ('A'..'Z','_').join.trans("ADFIJMNOQRUWYZ_XVTSPLKHGECB" => "Just Another Unibidi Hacker").comb; 01:19
camelia rakudo-moar 6a1879: OUTPUT«‭J‮r‮e‭u‮k‭s‮c‮a‭t‭ ‮H‮ ‭A‭n‭o‮i‭t‭h‮d‮i‭e‮b‭r‮i‭ ‭U‮n»
GLRelia rakudo-moar b1db8a: OUTPUT«‭J‮ ‮r‭ ‮e‭ ‮u‮ ‭k‭ ‮s‮ ‭c‭ ‭a‮ ‭t‭ ‮ ‮ ‭H‮ ‭ ‮ ‭A‭ ‮n‭ ‭o‭ ‮i‮ ‭t‭ ‮h‮ ‮d‭ ‮i‮ ‮e‮ ‭b‮ ‮r‭ ‭i‮ ‮ ‭ ‭U‭n»
BenGoldberg m: my @x = 'Just Another Perl/Bidi Hacker,'.comb; print(chr(8237) ~ @x.shift ~ chr(8238) ~ @x.pop) while @x; 01:21
camelia rakudo-moar 6a1879: OUTPUT«‭J‮,‭u‮r‭s‮e‭t‮k‭ ‮c‭A‮a‭n‮H‭o‮ ‭t‮i‭h‮d‭e‮i‭r‮B‭ ‮/‭P‮l‭e‮r»
GLRelia rakudo-moar b1db8a: OUTPUT«‭J‮,‭u‮r‭s‮e‭t‮k‭ ‮c‭A‮a‭n‮H‭o‮ ‭t‮i‭h‮d‭e‮i‭r‮B‭ ‮/‭P‮l‭e‮r»
BenGoldberg m: srand(123); [ (0..9).pick xx 10 ];
camelia ( no output )
GLRelia ( no output )
01:21 tinyblak joined
BenGoldberg m: srand(123); [ (0..9).pick xx 10 ].say; 01:21
camelia rakudo-moar 6a1879: OUTPUT«1 8 5 2 7 2 7 7 1 9␤»
GLRelia rakudo-moar b1db8a: OUTPUT«[1 8 5 2 7 2 7 7 1 9]␤»
BenGoldberg m: srand(123); [ (0..9).pick xx 10 ].say;
camelia rakudo-moar 6a1879: OUTPUT«1 8 5 2 7 2 7 7 1 9␤»
GLRelia rakudo-moar b1db8a: OUTPUT«[1 8 5 2 7 2 7 7 1 9]␤»
BenGoldberg m: my @o = 1, 2; print @o.pick for 1..10; 01:23
camelia rakudo-moar 6a1879: OUTPUT«1121121212»
GLRelia rakudo-moar b1db8a: OUTPUT«1212211122»
BenGoldberg m: my @o = 1, 2; print @o.pick for 1..10;
camelia rakudo-moar 6a1879: OUTPUT«1111211211»
GLRelia rakudo-moar b1db8a: OUTPUT«1222121211»
BenGoldberg m: srand 1; my @o = 1, 2; print @o.pick for 1..10;
camelia rakudo-moar 6a1879: OUTPUT«1221112211»
GLRelia rakudo-moar b1db8a: OUTPUT«1221112211»
BenGoldberg m: srand(42); my @o = '<', '>'; print @o.pick, $_ for ('A'..'Z','_').join.trans("ADFIJMNOQRUWYZ_XVTSPLKHGECB" => "Just Another Unibidi Hacker").comb; 01:25
camelia rakudo-moar 6a1879: OUTPUT«<J>r>e<u>k<s>c>a<t< >H> <A<n<o>i<t<h>d>i<e>b<r>i< <U>n»
GLRelia rakudo-moar b1db8a: OUTPUT«<J> >r< >e< >u> <k< >s> <c< <a> <t< > > <H> < > <A< >n< <o< >i> <t< >h> >d< >i> >e> <b> >r< <i> > < <U<n»
BenGoldberg m: print ++$ for 'abcd'.comb; 01:26
camelia rakudo-moar 6a1879: OUTPUT«1234»
GLRelia rakudo-moar b1db8a: OUTPUT«1234»
BenGoldberg Why is GLRelia adding those spaces?
m: srand(42); my @o = '<', '>'; print @o.pick, $_ for ('A'..'Z','_').join('').trans("ADFIJMNOQRUWYZ_XVTSPLKHGECB" => "Just Another Unibidi Hacker").comb; 01:27
camelia rakudo-moar 6a1879: OUTPUT«<J>r>e<u>k<s>c>a<t< >H> <A<n<o>i<t<h>d>i<e>b<r>i< <U>n»
GLRelia rakudo-moar b1db8a: OUTPUT«<J> >r< >e< >u> <k< >s> <c< <a> <t< > > <H> < > <A< >n< <o< >i> <t< >h> >d< >i> >e> <b> >r< <i> > < <U<n»
01:34 larion left
ShimmerFairy m: say ('A'..'Z','_').join('').trans("ADFIJMNOQRUWYZ_XVTSPLKHGECB" => "Just Another Unibidi Hacker").comb.perl; 01:54
camelia rakudo-moar 6a1879: OUTPUT«("J", "r", "e", "u", "k", "s", "c", "a", "t", " ", "H", " ", "A", "n", "o", "i", "t", "h", "d", "i", "e", "b", "r", "i", " ", "U", "n")␤»
GLRelia rakudo-moar b1db8a: OUTPUT«("J", " ", "r", " ", "e", " ", "u", " ", "k", " ", "s", " ", "c", " ", "a", " ", "t", " ", " ", " ", "H", " ", " ", " ", "A", " ", "n", " ", "o", " ", "i", " ", "t", " ", "h", " ", "d", " ", "i", " ", "e", " ", "b", " ", "r", " ", "i", " ", " ", " ", "U", …»
ShimmerFairy m: say ('A'..'Z', '_').join('').perl 01:56
camelia rakudo-moar 6a1879: OUTPUT«"ABCDEFGHIJKLMNOPQRSTUVWXYZ_"␤»
GLRelia rakudo-moar b1db8a: OUTPUT«"A B C D E F G H I J K L M N O P Q R S T U V W X Y Z_"␤»
ShimmerFairy m: say ('A'...'Z', '_').join('').perl
camelia rakudo-moar 6a1879: OUTPUT«"ABCDEFGHIJKLMNOPQRSTUVWXYZ_"␤»
GLRelia rakudo-moar b1db8a: OUTPUT«"ABCDEFGHIJKLMNOPQRSTUVWXYZ_"␤»
ShimmerFairy m: say ('A'..'Z').join('').perl
camelia rakudo-moar 6a1879: OUTPUT«"ABCDEFGHIJKLMNOPQRSTUVWXYZ"␤»
GLRelia rakudo-moar b1db8a: OUTPUT«"ABCDEFGHIJKLMNOPQRSTUVWXYZ"␤»
ShimmerFairy BenGoldberg: the problem appears to stem from .join() and .. as part of a list of things
m: say ('A'..'Z','_').join('~').perl; 01:57
camelia rakudo-moar 6a1879: OUTPUT«"A~B~C~D~E~F~G~H~I~J~K~L~M~N~O~P~Q~R~S~T~U~V~W~X~Y~Z~_"␤»
GLRelia rakudo-moar b1db8a: OUTPUT«"A B C D E F G H I J K L M N O P Q R S T U V W X Y Z~_"␤»
ShimmerFairy ^ clearer illustration
m: say (|('A'..'Z'),'_').join('~').perl; 01:58
camelia rakudo-moar 6a1879: OUTPUT«5===SORRY!5=== Error while compiling /tmp/KDv3KPhcB8␤Arg-flattening | is only valid in an argument list␤at /tmp/KDv3KPhcB8:1␤------> 3say (|7⏏5('A'..'Z'),'_').join('~').perl;␤»
GLRelia rakudo-moar b1db8a: OUTPUT«"A~B~C~D~E~F~G~H~I~J~K~L~M~N~O~P~Q~R~S~T~U~V~W~X~Y~Z~_"␤»
ShimmerFairy turning the range into a Slip fixes the issue :)
02:05 sufrostico left 02:15 noganex joined 02:18 noganex_ left 02:24 vendethiel left
dalek osystem: 7d356d5 | PerlJam++ | META.list:
Add IO::Notification::Recursive
02:34
02:35 dj_goku_ joined
skids 6? wow. 02:36
yoleaux 29 Aug 2015 21:33Z <ab6tract> skids: thanks for looking into it! I really appreciate it :)
02:42 dayangkun joined
BenGoldberg m: srand(42); my @o = '<', '>'; print @o.pick, $_ for ('A'...'Z','_').join('').trans("ADFIJMNOQRUWYZ_XVTSPLKHGECB" => "Just Another Unibidi Hacker").comb; 02:45
GLRelia rakudo-moar b1db8a: OUTPUT«<J>r>e<u>k<s>c>a<t< >H> <A<n<o>i<t<h>d>i<e>b<r>i< <U>n»
camelia rakudo-moar 6a1879: OUTPUT«<J>r>e<u>k<s>c>a<t< >H> <A<n<o>i<t<h>d>i<e>b<r>i< <U>n»
BenGoldberg m: srand(42); my @o = 0x202D.chr, 0x202E.chr; print @o.pick, $_ for ('A'...'Z','_').join.trans("ADFIJMNOQRUWYZ_XVTSPLKHGECB" => "Just Another Unibidi Hacker").comb; 02:46
camelia rakudo-moar 6a1879: OUTPUT«‭J‮r‮e‭u‮k‭s‮c‮a‭t‭ ‮H‮ ‭A‭n‭o‮i‭t‭h‮d‮i‭e‮b‭r‮i‭ ‭U‮n»
GLRelia rakudo-moar b1db8a: OUTPUT«‭J‮r‮e‭u‮k‭s‮c‮a‭t‭ ‮H‮ ‭A‭n‭o‮i‭t‭h‮d‮i‭e‮b‭r‮i‭ ‭U‮n»
BenGoldberg ShimmerFairy++
ShimmerFairy BenGoldberg: And that's probably intended new behavior, though I suppose there could be argument that Ranges should flatten in a list :P (I imagine <[A..Z_]> would be involved in that argument) 02:47
02:48 dayangkun left 03:03 CQ_ joined
colomon [Coke]: woah 03:04
03:05 CQ left, CQ_ is now known as CQ 03:09 bin_005 left 03:12 llfourn joined 03:16 llfourn left 03:18 llfourn joined 03:23 llfourn left
colomon [Coke]: you up? 03:31
03:41 colomon_ left 03:51 aborazmeh left 03:54 colomon left 04:00 CQ left, CQ joined 04:04 BenGoldberg left 04:07 aborazmeh joined, aborazmeh left, aborazmeh joined 04:11 average left 04:36 abaugher left 04:37 abaugher joined 04:46 llfourn joined 05:01 khw left 05:02 xenowoolfy joined 05:05 xenowoolfy left, llfourn left 05:06 llfourn joined 05:19 aborazmeh left
moritz \o 05:32
m: say (flat 5).^name
camelia rakudo-moar 6a1879: OUTPUT«List␤»
GLRelia rakudo-moar b1db8a: OUTPUT«List␤»
05:34 kaare_ joined 05:36 Sgeo joined 05:40 tinyblak left 05:57 rurban joined
dalek kudo/glr: 9a67ca9 | moritz++ | src/core/Str.pm:
Hardcore flattening in Str.trans

makes S05-transliteration/trans.t pass
06:05
06:05 cognominal joined 06:11 thou joined 06:28 thou left 06:31 FROGGS[mobile] joined
FROGGS[mobile] breakfast /o/ 06:31
good morning #perl6 06:32
dalek ast/glr: 8b4b825 | (Jimmy Zhuo)++ | integration/99problems-21-to-30.t:
fixed warning
06:34
06:53 lolisa left
[Coke] waves from the flughafen. 06:54
ShimmerFairy I have to ask: is there a better way to debug rakudo's Perl6/ portion than to liberally sprinkle my own 'say' statements all over the place? :P 06:58
maettu waves from Olten. Thank you, heroes, for coming, and all you do for Perl 6! 07:01
[Coke] maettu: thank you! 07:03
ShimmerFairy Also, fun fact that src/core/precedence.pm is *very* sensitive to changes in quoting constructs and their behavior :) (I've run up it a few times already) 07:04
07:10 darutoko joined 07:16 abaugher left 07:17 abaugher joined 07:20 rangerprice left 07:21 skids left
cdc_ smls++ # blog post 07:21
07:24 xfix joined 07:25 liztormato joined
nine ShimmerFairy: I use note ;) 07:25
maettu: thank you for everything!
ShimmerFairy is there note in nqp? I'm not sure.
nine Oh, I don't know that 07:26
timotimo god damn it, timo 07:27
nine timotimo!
timotimo get an alarm clock that doesn't shut itself off after 45 minutes
(or a more annoying noise)
nine timotimo: we were just wondering
still at breakfast btw
timotimo good 07:28
i just exited the shower
07:28 liztormato left 07:30 llfourn left
timotimo i missed hoelzro departing, didn't i? his flight leaves at 10am? :( 07:31
07:32 liztormato joined
hoelzro timotimo: no, I'm still here! 07:33
I just have to leave the hotel at 10
timotimo wow!
hoelzro much still here. 07:34
such haven't left yet
timotimo even though i'm euphoric because of the opportunity to say goodbye, i'll *still* put on clothes before i come rushing down 07:35
hoelzro hahahha
07:37 vendethiel joined 07:38 liztormato left 07:43 rindolf joined 07:45 abaugher left 07:46 abaugher joined 07:49 laben joined
laben \o #perl6 07:49
07:50 FROGGS left 07:51 RabidGravy joined 07:56 virtualsue joined 07:58 FROGGS joined 08:00 vendethiel left
laben seems there's a problem with latest rakudo, it fails a subtest in t/01-sanity/19-say.t 08:00
08:01 llfourn joined 08:02 laouji joined
FROGGS laben: well, the output of say() has changes yesterday, so the test probably just needs adaption 08:02
08:04 vendethiel joined
laben those are written differently from normal tests, i don't understand how they test, but it seems the n°4 say of a list is not working correctly 08:05
m: ('ok', ' ', '4').say 08:06
camelia rakudo-moar 6a1879: OUTPUT«ok 4␤»
GLRelia rakudo-moar 9a67ca: OUTPUT«(ok 4)␤»
laben yep, that's it
FROGGS m: ('ok', '4').say
camelia rakudo-moar 6a1879: OUTPUT«ok 4␤»
GLRelia rakudo-moar 9a67ca: OUTPUT«(ok 4)␤»
laben but i dont know if it's intended. seems strange to include the parens
FROGGS it is intended AFAIK
laben m: ['ok', ' ', '4'].say 08:07
camelia rakudo-moar 6a1879: OUTPUT«ok 4␤»
GLRelia rakudo-moar 9a67ca: OUTPUT«[ok 4]␤»
laben m: say gather { take 'ok'; take ' '; take '4'; } 08:08
camelia rakudo-moar 6a1879: OUTPUT«ok 4␤»
GLRelia rakudo-moar 9a67ca: OUTPUT«(ok 4)␤»
laben how do i change what it expects so that it doesn't fail anymore? 08:10
FROGGS since it is just saying it, and say calls .gist which adds parens, you can potentially just turn it into a listop 08:11
m: say 'ok', ' ', '4'
camelia rakudo-moar 6a1879: OUTPUT«ok 4␤»
GLRelia rakudo-moar 9a67ca: OUTPUT«ok 4␤»
laben n°5 is already like that 08:12
FROGGS then remove number 4
laben but wouldn't it be better to change what's expected from 4 to the current one? i could also add the array one 08:13
ShimmerFairy those tests, AFAICT, are specifically designed to mimic proper test output as a sign of success, so I'm not sure the sanity tests are the right place for .gist behavior involving () and such :) 08:14
*for testing .gist behavior
08:15 laouji left
laben ShimmerFairy: you mean remove the 4th test and check the ().say and [].say stuff in the roast testsuite? 08:15
ShimmerFairy yeah 08:16
FROGGS laben: then you would need is-run() from t/spec/packages/Test/Util.pm which exceeds the meaning of the sanity tests
laben: there are tests in roast for that already 08:17
laben: so you can just remove it from 'make test'
laben FROGGS: i see, but it's better if you do it yourself, as i don't have commit rights and making a PR just for removing a single line feels... wasteful 08:18
FROGGS mkay
dalek kudo/nom: cb9b821 | FROGGS++ | t/01-sanity/19-say.t:
remove test of say() that does not work with .gist, laben++
08:22
FROGGS ups
wrong branch :S
damnit
hmpf
and I made this on the github page to not have to change branches :/ 08:24
laben *phew* at least there was not much nocturnal (for my timezone) activities and panda still works fine
dalek kudo/glr: faeda44 | FROGGS++ | t/01-sanity/19-say.t:
remove test of say() that does not work with .gist, laben++
08:25
FROGGS timotimo++ # is helping here
dalek kudo/nom: cf3b24c | timotimo++ | t/01-sanity/19-say.t:
Revert "remove test of say() that does not work with .gist, laben++"

Was supposed to be on the glr branch
This reverts commit cb9b821b08095c6d4c1157085e7fc2084f2dd72d.
08:26
ShimmerFairy FROGGS: to be fair, it's not like nom _needs_ that sanity test so much that it can't stand to lose it too :P 08:27
FROGGS ShimmerFairy: :o) 08:28
ShimmerFairy I'm just thinking, if we want to do something with branch structure post-Christmas or post-RC (which I've heard talk of before), and change our default/main development branch from "nom" as part of it, I think I'd like if it had a better name than boring ol' "master" :) 08:29
FROGGS master-of-the-universe? 08:30
ShimmerFairy ("doctor" comes to mind as an idea, though it has nothing to do with development, and everything to do with allying with the Doctor instead of the Master :P)
FROGGS hehe
servant perhaps fits better the Perl 6 mood :o)
ShimmerFairy The Doctor is quite friendly, unless you're, say, a dalek. :) 08:31
(uh oh)
FROGGS m: use Test; say Test 08:32
camelia rakudo-moar 6a1879: OUTPUT«(Test)␤»
GLRelia rakudo-moar faeda4: OUTPUT«(Test)␤»
timotimo hm 08:37
08:41 tinyblak joined 08:45 tinyblak left 08:46 virtualsue left 08:52 FROGGS left
timotimo ShimmerFairy: there is note in nqp! i was pleasantly surprised my own self when jnthn pointed that out ~a month ago 08:53
ShimmerFairy timotimo: it's not in docs/ops.markdown; is it available as nqp::note() ? 08:55
09:00 FROGGS[mobile] left 09:09 mprelude joined 09:10 Loren joined
timotimo no, a regulär sub in the nqp setting 09:16
until then i used sayfh and getstderr 09:17
froggs and me are hanging out at the train station now
how many test files and tests are still to be fixed?
09:21 brrt joined 09:22 whiskey-drinking joined 09:23 espadrine joined
whiskey-drinking :::Matrix::: $M = [[1, 2, 3, 4], [-20, 30, 40, 50], [33, 44, 55, 80], [-1, -20, -9, 0]]; $M[1,3] :delete; dd $M; #$M = [[1, 2, 3, 4], Any, [33, 44, 55, 80]] How to compress $M ? 09:26
09:39 whiskey-drinking left
timotimo in order to throw out parts, you have to use $M.splice 09:39
otherwise you can grep by *.defined
09:40 perln00b joined 09:41 rmgk left, rmgk_ joined, rmgk_ is now known as rmgk 09:46 brrt left
dalek ast/glr: 16773a5 | (Stefan Seifert)++ | S03-sequence/misc.t:
Fix test for invalid sequence not throwing exception due to lazyness
09:58
ast/glr: f57897f | (Stefan Seifert)++ | S06-other/pairs-as-lvalues.t:
Remove no longer needed try statement modifier

Somehow prevents the test from passing even though the functionality is now implemented.
kudo/glr: 433e265 | (Stefan Seifert)++ | src/core/List.pm:
Fix binding a List to a Signature not recognizing Pairs as named args

Parcel used to look for Pairs in its list and upgrade them to named arguments when being coerced to a Capture. Parcel has been replaced by List, so List needs to do the same now.
Fixes :(:t($t), :m($m)) := (t => 1, m => 'a');
10:02
nine And another one down :) 10:03
Just took a while till I had network again
timotimo hey nine 10:04
i regret that i couldn't say goodbye properly :|
nine timotimo: please clean up the fallout from your nom revert on glr. When we merge nom into glr we will merge that revert as well
timotimo: will you be at YAPC?
timotimo i will not
nine a shame
timotimo oh, wha was the fallout? i just did what froggs asked me to and didn't pay attention :S 10:05
laben nine: could it be Hash needs a treatment of the same style? if i understood moritz somewhat
nine laben: same treatment as what?
laben as List
timotimo when turning Hash into .Capture?
laben m: say \(Hash) ~~ :(*@a) 10:06
camelia rakudo-moar cf3b24: OUTPUT«True␤»
GLRelia rakudo-moar faeda4: OUTPUT«Invocant requires an instance of type Hash, but a type object was passed. Did you forget a .new?␤ in block <unit> at /tmp/6H7DJzCtdq:1␤␤»
nine m: my $t; my $m; :(:m($m), :t($t)) := {t => 1, m => 2}; say $t;
camelia rakudo-moar cf3b24: OUTPUT«1␤»
GLRelia rakudo-moar faeda4: OUTPUT«1␤»
laben say \(List) ~~ :(*@a)
m: say \(List) ~~ :(*@a)
camelia rakudo-moar cf3b24: OUTPUT«True␤»
GLRelia rakudo-moar faeda4: OUTPUT«Invocant requires an instance of type List, but a type object was passed. Did you forget a .new?␤ in block <unit> at /tmp/eTzmwvbjMm:1␤␤»
laben GLRelia not updated with your commit yet 10:07
nine laben: completely different issue. You're creating a Capture there containing a Hash or List type object as single positional argument. My fix was for coercing a List to a Capture.
laben O.o sorry for the noise then, i thought you could have solved that. i dont understand much of this Capture/Binder stuff 10:08
timotimo hm, wouldn't you want to reverse that ~~, laben?
m: say :(*@a) ~~ \(Hash) 10:09
camelia rakudo-moar cf3b24: OUTPUT«False␤»
GLRelia rakudo-moar faeda4: OUTPUT«False␤»
timotimo m: say :(*@a) ~~ \(Array)
camelia rakudo-moar cf3b24: OUTPUT«False␤»
GLRelia rakudo-moar 433e26: OUTPUT«False␤»
timotimo m: say :(*@a) ~~ \(1, 2, 3)
camelia rakudo-moar cf3b24: OUTPUT«False␤»
GLRelia rakudo-moar 433e26: OUTPUT«False␤»
timotimo hm
laben isnt ACCEPTS implemented by the rhs?
timotimo it is 10:10
ah, so it'd be the other way around from :(...) := (...)
laben so i wanted to check if the signature accepts the capture, so i did capture ~~ sig
10:10 rurban left
laben sorry the other way (?) 10:10
timotimo heh 10:11
nine FWIW the :(...) := (...) trick is probably what was meant in panda's code.
laben anyway it's how i golfed down "sub foo(*@a) {}; foo(Hash)"
m: sub foo(*@a) {}; foo(Hash) 10:12
camelia ( no output )
GLRelia rakudo-moar 433e26: OUTPUT«Invocant requires an instance of type Hash, but a type object was passed. Did you forget a .new?␤ in sub foo at /tmp/VyNE52GmLM:1␤ in block <unit> at /tmp/VyNE52GmLM:1␤␤»
laben m: sub foo(*@a) {}; foo(List)
camelia ( no output )
GLRelia rakudo-moar 433e26: OUTPUT«Invocant requires an instance of type List, but a type object was passed. Did you forget a .new?␤ in sub foo at /tmp/v0WMtdBsuw:1␤ in block <unit> at /tmp/v0WMtdBsuw:1␤␤»
laben or maybe this way was clearer after all?
nine spectesting the fix
laben: well at least it's clearer _why_ you would want to do that at all ;) 10:14
dalek kudo/glr: 68bb3ea | (Stefan Seifert)++ | src/core/List.pm:
Fix binding type objects to slurpies

Fixes say \(Hash) ~~ :(*@a) and sub foo(*@a) {}; foo(Hash)
Thanks to laben++ and moritz++ for golfing and reporting!
10:15
laben with nine++ around, bugs get little rest XD 10:16
nine Turns out, even binder issues have rather mundane origins
Still haven't done any work on my YAPC talk though :/ 10:17
laben i was reading where the exception came from and didnt understand why it considered that an invocant. godspeed nine++ for your talk!
nine Btw. I do have a fix for zip-latest.t. I would really like to understand the problem before committing that though. 10:18
10:18 llfourn left
timotimo i'd like to see how you fixed it 10:19
nine More like worked around it :/
timotimo: $res.emit( ([,] @values).item ); in src/core/Supply.pm line 805 10:20
10:21 rurban joined
nine m: my @a = 1, 2; use nqp; say nqp::getattr(@a, List, '$!reified').WHERE; say nqp::getattr(@a.clone, List, '$!reified'); 10:29
camelia rakudo-moar cf3b24: OUTPUT«P6opaque: no such attribute '$!reified'␤ in block <unit> at /tmp/mLJpk2TGB2:1␤␤»
GLRelia rakudo-moar 68bb3e: OUTPUT«140333515000976␤IterationBuffer.new␤»
nine m: my @a = 1, 2; use nqp; say nqp::getattr(@a, List, '$!reified').WHERE; say nqp::getattr(@a.clone, List, '$!reified').WHERE;
camelia rakudo-moar cf3b24: OUTPUT«P6opaque: no such attribute '$!reified'␤ in block <unit> at /tmp/YxKwBM6Tpd:1␤␤»
GLRelia rakudo-moar 68bb3e: OUTPUT«140052650100648␤140052650100648␤»
nine So much for cloning. The clone has the same $!reified!
m: my @a = 1, 2; my $b = List.from-iterator(@a.iterator); say @a[0].WHERE; say $b[0].WHERE; 10:37
camelia rakudo-moar cf3b24: OUTPUT«Method 'from-iterator' not found for invocant of class 'List'␤ in block <unit> at /tmp/bTycr2DHNC:1␤␤»
GLRelia rakudo-moar 68bb3e: OUTPUT«140213960216456␤140213960216456␤»
nine List.from-iterator manages to create a new $!reified buffer but assigns the same scalar containers. So when the value is changed in the array, it will be changed in the list, too. 10:38
.tell lizmat I figured out what's wrong with zip-latest.t! It's just that every way we tried to fix the issue hit an underlying bug. Array.clone re-uses the same $!reified buffer for the clone and List.from-iterator creates a new $!reified but uses the same scalar containers for the values. So they are still linked. 10:39
yoleaux nine: I'll pass your message to lizmat.
timotimo wow, the internet connection has re-appeared! 10:41
nine timotimo: backlog's worth reading ;)
timotimo ah 10:43
ouch :)
nine Luckily things like .clone are specified very well with completely sufficient half sentences leaving almost nothing up to interpretation 10:45
timotimo argh
ShimmerFairy m: say <a b>.WHICH 10:49
camelia rakudo-moar cf3b24: OUTPUT«Parcel|(Str|a)(Str|b)␤»
GLRelia rakudo-moar 68bb3e: OUTPUT«List|(Str|a)(Str|b)␤»
ShimmerFairy m: say <a b>.map({$_}).WHICH
camelia rakudo-moar cf3b24: OUTPUT«List|57036352␤»
GLRelia rakudo-moar 68bb3e: OUTPUT«Seq|48375888␤»
ShimmerFairy I wonder if .map should be returning something with a different kind of WHICH like that. (I just broke a test because of it) 10:50
masak good afternoon, #perl6 10:51
yoleaux 29 Aug 2015 12:34Z <[Coke]> masak: do we really need to fix 113954, or is it: DIHWIDT ?
nine ShimmerFairy: what WHICH would you expect?
timotimo froggs was right; as soon as i cross the border from swiss to germany, the quality of the mobile network drastically decreases 10:52
masak [Coke]: it still looks worth fixing to me.
ShimmerFairy nine: the one that lets me compare things on === . I'm working on val() and broke something because my implementation breaks <a b> === <a b> :P
masak [Coke]: it's not nice to receive an usage message telling you to do what you just did.
timotimo oh, val! 10:53
that's cool
ShimmerFairy nine: I could fix my code of course, but it's something I noticed and am wondering about
timotimo i didn't even notice when the travel direction changed from forwards to backwards 10:54
ShimmerFairy timotimo: hopefully I can merge my work back into nom and push it sometime soon. It's how I found out that src/core/precedence.pm _really_ doesn't like having the Q lang messed with :)
vendethiel o/, masak 10:55
10:56 JaderDias joined
ShimmerFairy m: sub infix:«☃☄» { } &infix:«☃☄» # this is the error message I got from precedence.pm, but not how the error happened. I did find this quirk in parsing while investigating it, though 10:56
camelia rakudo-moar cf3b24: OUTPUT«5===SORRY!5=== Error while compiling /tmp/EHlE_2s09f␤Undeclared routine:␤ infix:«☃☄» used at line 1. Did you mean 'infix:<☃☄>'?␤␤»
GLRelia rakudo-moar 68bb3e: OUTPUT«5===SORRY!5=== Error while compiling /tmp/9_L4m7YwSh␤Undeclared routine:␤ infix:«☃☄» used at line 1. Did you mean 'infix:<☃☄>'?␤␤» 10:57
timotimo the Q lang! are you going to change anything about how O works?
oh, of course O uses < >, right?
ShimmerFairy add the missing semicolon, add an argument list, or use <>, and that quirk in parsing doesn't complain like that :)
timotimo oh, wait, o is in the grammar, not in the core setting 10:58
10:58 domidumont joined
ShimmerFairy timotimo: the issue I found was that the LongName assembler $*W method (forget its name) didn't account for the &val call wrapping <> and «» in my branch, unsurprisingly :) 10:58
timotimo: but my fix feels a bit hackish, since I'd prefer to make <longname> produce the same kind of ast <deflongname> does (<deflongname> will handle colonpair'd names with nibble_to_str, which I updated previously, but <longname> has no actions method currently) 10:59
And that parsing quirk I showed up above? I've not investigated that yet, but it's weird for sure :) 11:00
m: sub infix:<☃☄> { } &infix:<☃☄>
camelia ( no output )
GLRelia ( no output )
ShimmerFairy m: sub infix:<☃☄>($a, $b) { say "Where's the ;?" } &infix:<☃☄>(1, 2) 11:01
camelia rakudo-moar cf3b24: OUTPUT«Where's the ;?␤»
GLRelia rakudo-moar 68bb3e: OUTPUT«Where's the ;?␤»
ShimmerFairy m: sub infix:<☃☄>($a, $b) { say "Where's the ;?" } 1 ☃☄ 2 # finally
camelia rakudo-moar cf3b24: OUTPUT«5===SORRY!5=== Error while compiling /tmp/hxK2XD_P4Y␤Strange text after block (missing semicolon or comma?)␤at /tmp/hxK2XD_P4Y:1␤------> 3ix:<☃☄>($a, $b) { say "Where's the ;?" }7⏏5 1 ☃☄ 2 # finally␤ expecting any of:␤ …»
GLRelia rakudo-moar 68bb3e: OUTPUT«5===SORRY!5=== Error while compiling /tmp/pbic0Ok2Ff␤Strange text after block (missing semicolon or comma?)␤at /tmp/pbic0Ok2Ff:1␤------> 3ix:<☃☄>($a, $b) { say "Where's the ;?" }7⏏5 1 ☃☄ 2 # finally␤ expecting any of:␤ …»
timotimo the way we do levenshtein suggestions is fragile 11:02
11:02 domidumont left
ShimmerFairy timotimo: the issue is that <deflongname> normalizes colonpairs to trimmed, space-separated, and <>-surrounded colonpairs, but <longname> doesn't get that. So, like the error I've shown here, there are problems that arise from this 11:03
11:03 domidumont joined
timotimo it tries to match a longname and if something else is wrong and causes the match to fail, we immediately jump into the "suggest longname" token instead 11:03
ShimmerFairy m: sub infix:«☃☄» { } &infix:<☃☄> # deflongname turns that into infix:<☃☄>, and they match, so this passes
camelia ( no output )
GLRelia ( no output )
ShimmerFairy m: sub infix:<☃☄> { } &infix:«☃☄» # longname isn't transformed, and the names don't match on account of the bracket change 11:04
camelia rakudo-moar cf3b24: OUTPUT«5===SORRY!5=== Error while compiling /tmp/FumzqhKRdC␤Undeclared routine:␤ infix:«☃☄» used at line 1. Did you mean 'infix:<☃☄>'?␤␤»
GLRelia rakudo-moar 68bb3e: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Z30h8gJsPD␤Undeclared routine:␤ infix:«☃☄» used at line 1. Did you mean 'infix:<☃☄>'?␤␤»
timotimo why can you do that without a ; in between? 11:05
i mean it's fine that we can define something with :«...» and call it with <> 11:06
ShimmerFairy timotimo: the most frustrating thing is that explain_mystery's thrown object can't be constructed during CORE (at least right after precedence.pm), and none of its named hash args are stringifiable by the fallback error handler. Took a while for me to think to throw a debug say in there to get at the problem.
timotimo i think i'm misunderstanding you
ah, i see
that's a bit tricky; maybe we're re-using longname where we shouldn't be
damn, my ssh is so sluggish, i can't even see the last four line si've written
will they ever arrive? who knows!
ShimmerFairy timotimo: the missing ; is what I'm interested in, and I definitely think it's an error that the brackets can't be mixed as syntactically appropriate :)
I discovered the missing ; trick there purely as a result of a typo accidentally leaving it out (while playing in perl6 -e to golf an error I was getting) :P 11:08
[ptc]
.oO( the train is flying, but the network is crawling... )
11:09 domidumont left
ShimmerFairy (And, like you can mix brackets, I think we should also be able to define "aliases" for operators, so that you can properly link unicode ops and their texas equivalents, and make overriding them easier (pick either form to override, instead of both or figuring out the right one to change)) 11:10
11:11 perln00b left
dalek kudo/glr: c6a428c | (Stefan Seifert)++ | src/core/Array.pm:
Make sure that @arr.List creates a completely disconnected List

  @arr.clone creates a shallow clone that contains the same $!reified
  buffer, so changes to the original would change the clone as well.
Just using List.from-iterator(self.iterator) would ensure that we get a fresh $!reified buffer, but the items still share the containers. So when we assign to the array items, we still change the list's items as well.
We're now deconting the Array's values when pushing them into the new List's $!reified. This makes $list.Array.List a bit more symmetrical, since .Array itemizes all values. However, if the values were items to begin with, we now decont them anyway. So it's not completely symmetrical, but should hopefully give fewer surprises overall.
11:12
kudo/glr: 36ea477 | (Stefan Seifert)++ | src/core/Supply.pm:
Fix Supply.zip-latest flattening the returned value.
nine There's now only 2 GLR related spec test failures: Sequences do not yet throw the correct exceptions on invalid input and one of the advent tests is not properly GLRed yet. 11:13
vendethiel wow!
oetiker cheers 11:15
timotimo holy hell, that's very good!
ShimmerFairy: could it perhaps be parsing the & as infix:<&> and then just infix:<snowman> afterwards? 11:16
m: infix:<+>(1, 2)
camelia rakudo-moar cf3b24: OUTPUT«WARNINGS:␤Useless use of "infix:<+>(1, 2)" in expression "infix:<+>(1, 2)" in sink context (line 1)␤»
GLRelia rakudo-moar 36ea47: OUTPUT«WARNINGS:␤Useless use of "infix:<+>(1, 2)" in expression "infix:<+>(1, 2)" in sink context (line 1)␤»
timotimo m: sub test { } & infix:<+>(1, 2)
camelia ( no output )
GLRelia ( no output )
timotimo m: sub test { } &infix:<+>(1, 2)
camelia ( no output )
GLRelia ( no output )
jdv79 unbelievable
ShimmerFairy m: sub test { } & 5
camelia ( no output )
GLRelia ( no output )
timotimo inconsievebel!
ShimmerFairy timotimo: that seems to be it. The error message still illustrates the longname/deflongname discrepancy, however :) 11:17
timotimo yup
ShimmerFairy timotimo: by the way, to answer your question: my biggest change to the Q lang itself is making it so that it supports multiple "post-processing" adverbs; e.g. q:x:w used to be eqv. to q:w , but now is basically q[].run.words :) 11:19
timotimo i don't know what the fallout from my reverted commit was :|
11:19 rindolf left
timotimo is it just that the revert will be merged into glr later on? 11:19
ShimmerFairy timotimo: and that's because <> and «» are q:w:v and qq:ww:v, respectively, so that kinda has to work :) 11:20
timotimo ah, that's good. i think i stumbled upon that same problem when i wanted to implement :chomp
[ptc] nine++! # no. of GLR test failures 11:21
ShimmerFairy timotimo: it wasn't easy. I ran into the precedence.pm fragility during that (though I managed to skirt around it until today), and for a while I had weird bugs with repeated usages of the same base construct that was fixed by parameterizing the role I made :P
timotimo 362880 test failures ?!?!? 11:22
jdv79 ugexe: could you give a use case of the manifest/resources issue you mentioned last night. i don't get it.
ShimmerFairy nine: with my map question earlier, .map(...).eager does seem to get what I want, at least on GLR :) (on nom, where I am, I currently have to then convert it to the original type as well) 11:23
11:24 TEttinger left
timotimo i wonder if we still desire to turn Perl6::Grammar.O(...) into something that constructs the information at build time and serializes it into the .moarvm file rather than being run at INIT time during every startup 11:27
maybe i'll put in something that measures how much time it takes
but i imagine it's pretty efficient
[ptc] tadzik: interesting issue I just found in File::Find 11:29
tadzik: my $etc-symlinks = find(dir => '/etc/', type => 'symlink', keep-going => True); gives the error Failed to get the directory contents of '/etc/.git': chdir failed: Unknown system error
tadzik: I use etckeeper on my box, and it looks like `find` is barfing on the chdir instead of keeping going 11:30
timotimo however, it does allocate objects when it's run and if we can postpone the very first gc run for user code, we'll be able to offer completely free allocation for many short scripts
[ptc] tadzik: just thought you'd like to know :-)
nine timotimo: We're still almost two orders of magnitude away from perl 5's startup speed. Every bit helps.
timotimo fair enough
though of course it's a good idea to improve expensive things first 11:31
11:31 JaderDias left
nine of course :) 11:31
11:32 silug left, telex left
timotimo i can -e '.say for 1..313' and it'll finish just after the very first GC run 11:32
interesting. -e '.say for 1 xx 302' is the same way, but the gc occurs a tiny bit earlier as you can see 11:33
nine There's not much to allocate for a simple for loop
Not any more at least :) 11:34
11:34 telex joined
nine Btw. I can now confirm that t/spec/S02-literals/numeric.t and t/spec/S17-procasync/many-processes-no-close-stdin.t do fail on nom, too. 11:36
.tell hoelzro You added many-processes-no-close-stdin.t to spectest data. Is it supposed to pass? It passes neither on nom nor on glr here. 11:37
yoleaux nine: I'll pass your message to hoelzro.
JimmyZ nine: there is a branch for it, and didn't get merged 11:38
iirc
nine So why is the spec test file run?
11:38 whiskey-drinking joined
whiskey-drinking :::Matrix::: $M = [[1, 2, 3, 4], [-20, 30, 40, 50], [33, 44, 55, 80], [-1, -20, -9, 0]]; $M[1,3] :delete; dd $M; ### $M = [[1, 2, 3, 4], Any, [33, 44, 55, 80]] How to compress $M ? 11:39
nine whiskey-drinking: sounds like you want splice 11:40
pink_mist weren't you told that 3 hours ago? oh no, I see you quit right before being told that 11:41
nine ShimmerFairy: S02-literals/numeric.t fails since your roast commit cf775d3ae9adfdb07c6b57a3d3f06f8439d7976c 11:42
ShimmerFairy nine: yeah, I cleaned up some tests there that weren't testing the right thing
nine So why are those failing tests not fudged? 11:43
timotimo net again
nine: all the early .O's took 0.00326180458068848
^- think it's worth improving already? ;)
nine, whiskey-drinking, an alternative is to $M = $M.grep(*.defined), that should also work 11:44
nine timotimo: that's 16 % of perl5's startup time
timotimo yeah, fair enough, but how much of perl6's? ;)
once we reach 2x perl5's startup time, we can consider this 11:45
until then, there's bigger fish to fry
11:45 silug joined
timotimo well, or 10x perl5's, then it'll reach ~1% 11:48
all the curried binds took 8.58306884765625e-06 11:53
nine wonders what the margin of error of these measurements actually is
timotimo here's another potentially great saving! (once we've cut the startup time by a few exponents of 10)
switching trains soon
and t
the second train ride will only be a few minutes
then a minute by car, and a few hours by sofa :) 11:54
[ptc] timotimo: where are you atm? I just arrived at Franfurt West
*Frankfurt
timotimo just about to reach karlsruhe hbf
[ptc] ah, ok, not far behind then :-) 11:55
11:55 rindolf joined
dalek line-Perl5/glr: 1048ed0 | (Stefan Seifert)++ | t/ (11 files):
Test::done is now done-testing
11:55
[ptc] adds done-testing to his mental list of ecosystem deprecation tests
11:56 wtw joined 12:02 whiskey-drinking left
dalek line-Perl5/glr: 186fb99 | (Stefan Seifert)++ | lib/Inline/Perl5.pm6:
Adopt new Perl 6 semantics with regard to Sets
12:03
12:04 wtw left
timotimo iit is rather hit in Karlsruhe 12:05
just like in Olen
olten
ShimmerFairy timotimo: what are the biggest offenders to rakudo's start-up time, do you know? 12:06
12:09 tinyblak joined
timotimo don't know 12:10
12:13 wtw joined 12:14 llfourn joined 12:17 smls joined 12:19 wtw left 12:22 kaare_ left
timotimo there's alot of stuff we deserialize, of course 12:25
that's mostly how we reach 60 megs of ram used for the empty program
did you see the nfa_to_statelist branch? 12:30
masak what is deserialization at this point? is it just a memcpy? I recall people saying that at some point, it could be that. 12:31
mrf 21qq
ShimmerFairy Huh, interestingly I currently fail on say val("42") cmp val("42") , saying it's an ambiguous call. I suppose I should go define some equality ops for the allomorphic types, then :P
timotimo that was a reaction to finding out that the single most common thing that got deserialized was NQPArray and a big chunk of those were the statelists that were serialized along with NFA objects and those are redundant with the NFA object itself
masak: hm, deserialization decompresses things quite a bit; for example we implemented "varint" storage for things that are usually small numbers 12:32
and cross-references between objects have to be restored post-deserialize 12:33
or during
12:33 BenGoldberg joined 12:34 dayangkun joined
ShimmerFairy question: should equality ops like === be defined between allomorphic types and their direct superclasses? That is, define IntStr === IntStr, IntStr === Int, and IntStr === Str? 12:35
12:38 Loren left
laben if i wanted to use X with a binary function, not an operator, how can i write it? the specs suggest .crosswith and .cross, but those methods dont exist 12:38
ShimmerFairy m: sub foo($a, $b) { $a * $b }; say (1,2,3) X[&foo] (4,5,6) 12:39
camelia rakudo-moar cf3b24: OUTPUT«4 5 6 8 10 12 12 15 18␤»
GLRelia rakudo-moar 36ea47: OUTPUT«(4 5 6 8 10 12 12 15 18)␤»
ShimmerFairy laben: ^ :)
laben oh cool
12:40 Loren joined 12:41 domidumont joined 12:43 wtw joined 12:47 domidumont left 12:49 tinyblak left 12:50 tinyblak joined, perl6_newbee joined
dalek line-Perl5/glr: 5c2bdb4 | (Stefan Seifert)++ | lib/Inline/Perl5.pm6:
Fix passing on _no_ positional args when invoking a P6 method from P5

  |%hash<non-existing> returns Any and no longer vanishes in an argument
list. Have both keys fall back to [] to fix that case.
12:50
nine Ok, Inline::Perl5 is GLR ready, too now.
timotimo \o/ 12:51
[ptc] \o/ 12:54
13:01 dayangkun left
[ptc] how is rakudobrew going to handle not using nom anymore? I mean, if, after the glr merge, one wanted to build Rakudo-2015.07, rakudobrew would still need to know that it should get nom, but for later versions it would have to use glr (or hopefully master) 13:02
just trying to see if I can work out what the fallout will be from the glr merge on the ecosystem
laben [ptc]: i cant say anything about star releases, but on latest tip, panda and its deps, along with some other modules, work fine on glr 13:11
i'm trying to help maintainers fix up their modules to be ready for glr 13:12
probably i should aim for all the star-include modules first
ShimmerFairy I just read that 'cmp' is supposed compare on "eqv semantics", yet the default implementation of 'cmp' in rakudo bases itself on stringified version of its arguments. Does the equivalent of 'leg' suffice for "eqv semantics" ? 13:25
[ptc] laben: if you need help with updating the modules and submitting PRs, just let me know
13:28 kaare_ joined
laben [ptc]: thanks. i would be grateful if someone else does the docs checking, as on my underpowered laptop it's quite the task. as of now i need to fixup Pod::To::Html 13:29
ShimmerFairy (though I suppose you'd have to figure out what the 'eqv' versions of <, >, <=, and >= are to do 'cmp' justice :P) 13:34
13:35 Loren_ joined 13:37 Loren left
laben ShimmerFairy: iirc you said you would tentatively write a new version of the rakudo internal Pod::To::Text, or was it Pod::To::Html? 13:39
ShimmerFairy laben: I don't recall saying anything about that, but for testing output it would almost certainly be Pod::To::Text, for simplicity's sake :) 13:40
laben ShimmerFairy: sorry, i remembered wrong then, was it the pod parser then?
ShimmerFairy yeah, it's the parser I've been working on
timotimo [ptc]: if you ask rakudobrew for 2015.07, it'll fetch that tag 13:43
at that point, the branch won't matter :) 13:44
laben pod::to::html has not survived glr, investigating... 13:46
13:50 khw joined
[ptc] timotimo: hrm, that sounds good. Then hopefully I don't need to worry about how Travis builds Rakudo after the glr merge. 13:52
timotimo: Although it's probably pragmatic to restrict module builders and testers using Travis to the post glr merge versions...
13:55 perl6_newbee left
TimToady sitting in Barcelona airport 13:58
ShimmerFairy o/ 14:02
TimToady with 30 minutes free WiFi, so generous of them 14:03
14:05 larion joined 14:07 araujo left, araujo_ joined, tinyblak left 14:08 araujo_ left 14:09 araujo_ joined
timotimo mhm 14:10
14:12 araujo_ left
timotimo for some people, it only takes 30 minutes of free wifi access to change the world 14:12
ShimmerFairy Working on val() has brought up a couple interesting questions already. For example, should :{42 => "OK"}<42> return the string "OK"? :) 14:13
TimToady ooh, val() :) 14:16
14:17 tinyblak joined
ShimmerFairy TimToady: most interesting bit so far, I think, has been the need to check for a &val QAST::Op in some places now :) 14:17
TimToady excellent question, but I think the answer is that object hashes need an exact type match, and that's not one 14:18
unless we allow coercive types there
14:18 araujo joined, araujo left, araujo joined, araujo left
masak better not, I think. 14:19
ShimmerFairy Too bad the spec is quite sparse on the allomorphic types. I've been going by a minimal implementation, preferring to let the mentioned Str/Int ambiguity (for IntStr, for example) run free in most places, only adding to pass the spectest.
masak when people are asking for object hashes, the probably expect to be opting into type discipline.
coercing wouldn't be Least Surprise. 14:20
TimToady but I'm glad someone's working on that; I'll download the backlog in my 30 min and study it
ShimmerFairy String access still works though:
$ ./perl6 -e 'say {42 => "OK"}<42>'
OK
masak ShimmerFairy: yes, sure.
TimToady masak: I mean a hash declared with a coercive type, not with :{}
ShimmerFairy TimToady: the branch is still sitting on my computer, but I can push it publicly soon if you'd like :)
masak TimToady: ah, OK.
14:21 rindolf left, tinyblak left
masak interesting -- the way I understand bitsavers.trailing-edge.com/pdf/sta..._Aug76.pdf the assignment operator was introduced with Plankalkül in 1945. 14:22
TimToady after all, {} is already effectively Str()
masak aye
it's nice to have syntax to express the type of normal hashes nowadays ;)
14:22 skids joined
ShimmerFairy For the record I'm fine with <42> keeping a mostly Stringy behavior in hash subscripting, this was just something that I thought of :) 14:23
14:23 araujo joined, araujo left, araujo joined 14:25 BenGoldberg left, araujo left 14:26 BenGoldberg joined, BenGoldberg left, araujo joined, BenGoldberg joined 14:27 araujo left
laben m: Buf(1) 14:33
camelia rakudo-moar cf3b24: OUTPUT«Cannot invoke this object (REPR: Uninstantiable, cs = 0)␤ in block <unit> at /tmp/NlQIYG7oLE:1␤␤»
GLRelia rakudo-moar 36ea47: OUTPUT«Cannot invoke this object (REPR: Uninstantiable, cs = 0)␤ in block <unit> at /tmp/3kVTLMIYF2:1␤␤»
laben i guess this ^^^ is intended and i should use Buf.new, right?
masak the error leaves something to be desired, but yes, you're meant to use .new 14:35
laben and how do i match a number or something against it? using ~~ /1/ gives another error 14:36
m: say so Buf.new(1,2,3) ~~ 1 # shouldn't this be true? 14:37
camelia rakudo-moar cf3b24: OUTPUT«False␤»
GLRelia rakudo-moar 36ea47: OUTPUT«False␤»
laben m: say so 1 ~~ Buf.new(1,2,3) # shouldn't this be true? 14:38
camelia rakudo-moar cf3b24: OUTPUT«False␤»
GLRelia rakudo-moar 36ea47: OUTPUT«False␤»
ShimmerFairy m: say Buf.new(1,2,3).ACCEPTS(1) 14:40
camelia rakudo-moar cf3b24: OUTPUT«False␤»
GLRelia rakudo-moar 36ea47: OUTPUT«False␤»
14:41 BenGoldberg left 14:42 moyamo joined 14:46 moyamo left
nine There's no ACCEPTS in Buf's type hierarchy 14:47
14:49 moyamo joined 14:52 FROGGS[mobile] joined
laben m: say so 1 ~~ [1,2,3] 14:52
camelia rakudo-moar cf3b24: OUTPUT«False␤»
GLRelia rakudo-moar 36ea47: OUTPUT«False␤»
laben m: say so 1 ~~ (1,2,3)
camelia rakudo-moar cf3b24: OUTPUT«False␤»
GLRelia rakudo-moar 36ea47: OUTPUT«True␤»
FROGGS[mobile] Hello from Berlin
laben what's up with this? ^^^ List.ACCEPTS has changed behaviour but Array's did not 14:53
ShimmerFairy m: say (1,2,3){&infix:<,>()}
camelia rakudo-moar cf3b24: OUTPUT«␤»
GLRelia rakudo-moar 36ea47: OUTPUT«()␤»
FROGGS[mobile] the List behaviour feel too magical for me
ShimmerFairy I like how GLR doesn't let you get away with returning absolutely nothing there :P 14:54
FROGGS[mobile] though, Ranges do the same
ShimmerFairy m: say (1,2,3).WHAT
camelia rakudo-moar cf3b24: OUTPUT«(Parcel)␤»
GLRelia rakudo-moar 36ea47: OUTPUT«(List)␤»
ShimmerFairy laben: well, considering one's a Parcel... :)
laben FROGGS[mobile]: i like that i can use Int ~~ List as searching if that List has that Int
m: say so 4 ~~ (1,2,3) 14:55
camelia rakudo-moar cf3b24: OUTPUT«False␤»
GLRelia rakudo-moar 36ea47: OUTPUT«True␤»
laben wait ok, it's wrong
FROGGS[mobile] me too, but should it be that easy?
in case it should, array should do the same
ShimmerFairy FROGGS[mobile]: if ∈ didn't force Sets, I'd be more up for using it 14:56
I mean, I know they're *set* operators, but they're just so useful for good ol' positionals too :)
FROGGS[mobile] aye
ShimmerFairy (well, at least the ones that don't require unique and/or unordered sets ☺) 14:57
I suppose .grep is sufficient in any case, though
laben it makes for longer code if i just want to search for a single item, i need to use first-index or something when i just want to know if it exists 15:00
nine Right now List.ACCEPTS is a weird mix of Parcel's and Array's ACCEPTS behaviour. See github.com/rakudo/rakudo/commit/51b313b9 15:01
FROGGS[mobile] nine: hi, how many test files are left?
nine I wouldn't rely on it in any new code
FROGGS[mobile]: 2
FROGGS[mobile] holy cow! 15:02
that's awesome
nine There's now only 2 GLR related spec test failures: Sequences do not yet throw the correct exceptions on invalid input and one of the advent tests is not properly GLRed yet.
moyamo Hi, I'm new. I've looked at some of perl6's features and they seem really awesome! But, alas, I'm a python programmer and I've never used any version of perl before. I'm looking for a post/blog/website which tells me why I should use perl 6 over python from a python programmers perspective.
nine The rest are failures we also have on nom
JimmyZ moyamo: jnthn.net/articles.shtml wish you will like it :) 15:04
nine moyamo: flaky internet here, so just the gist: we have real threading in Perl 6, real meta programming and actually helpful error messages ;)
vendethiel smls: I think Hash does Positional for PDL-like stuff 15:05
JimmyZ moyamo: and pl6anet.org/
vendethiel (smls++: i'm reading your blog post now)
nine moyamo: and a very friendly and helpful community :)
JimmyZ smls++ too, good post for SHR(Small Hash Refactor) ;) 15:06
nine is < 10 minutes from Linz now and will spend the rest of this lovely day away from any keyboard :)
timotimo moyamo: i was a python programmer before i started with perl6 :)
moyamo Thanks guys. I will read some of those articles! 15:07
timotimo moyamo: and there's also Inline::Python which lets you use python modules and classes as if they were regular perl6 classes - including deriving from them and having python classes derive from your perl6 classes
moyamo timotimo: Wow, so all the python libraries are available to perl6 programmers? 15:08
timotimo in theory :) 15:09
nine - who made Inline::Python and Inline::Perl5 and Inline::Perl6 - already made PyQt based applications work
so i expect it'll allow you to do a whole lot of things
we're still looking for volunteers to actually stress-test it, i suppose :)
moyamo Also, how mature is perl6? Will there ever be breaking changes? 15:11
FROGGS[mobile] mature - not quite... breaking changes - likely 15:12
especially until christmas
timotimo we're very childish, and so is perl6
perhaps perl6 is less childish than we are
FROGGS[mobile] Perl 6 is not childish :o) 15:13
it is awesome in many many ways and focuses on the user 15:14
timotimo children and childish people are awesome in many ways, too!
FROGGS[mobile] so the compiler (rakudo) will guide you in the right directions if it can 15:15
moyamo Haha, that sounds amazing.
15:15 sftp joined
timotimo moyamo: have you ever been annoyed by python's "global" and "nonlocal" stuff? 15:16
because in perl6, we have explicit variable declarations that make that a non-issue
laben timotimo: i did not know about pyqt, that's amazing! how far along is it? 15:17
moyamo Yeah, python in general has poor support for functional-style programming.
timotimo pyqt is very far along, but pyside is even better - at least from a license standpoint
moyamo I mean they removed reduce() in python 3!!!
timotimo if you enjoy going for functional-style programming, you'll find lots to like in perl6 15:18
laben timotimo: man, you dont know how much of a happy man you made me. i need to try it right NOW
dalek ast: 8fe513c | ShimmerFairy++ | S02-literals/allomorphic.t:
Updating allomorphic tests.

In particular coercing the allomorphic types for 'is' tests, since allomorphic types probably shouldn't implement === for an allomorphic type and one of its component types.
ast: d47db92 | ShimmerFairy++ | S02-literals/listquote.t:
Fix accidental pure string expectation

Since the test in question isn't meant to test allomorphic types, I changed the tested key/value pair to not make an allomorphic type.
timotimo good luck and have fun, laben :)
ShimmerFairy other things perl 6 has over python: case statments :P 15:19
laben btw, this kind of stuff needs to be publicised, i really did not know about it and i wander through perl6 related sites every day
timotimo i wouldn't call "given/when" a "case statement", to be honest
laben: that sounds like you're going to write an awesome blog post for us :)
ShimmerFairy timotimo: that's because it's a much improved case statement, silly :P 15:20
laben once i got something interesting working, sure why not? i would also have to create blog, but why not? ^.^
15:20 thou joined
moyamo I'm guessing it's more of a pattern-match than a case statement? 15:21
timotimo good assumption, yeah 15:22
blogs.perl.org/users/xiaoayfeng/201...-race.html - someone could comment here; i *believe* hyper and race are only implemented in rakudo/glr and perhaps only as a method
ShimmerFairy m: say (1,2,3).hyper
camelia rakudo-moar cf3b24: OUTPUT«Method 'hyper' not found for invocant of class 'Parcel'␤ in block <unit> at /tmp/NxcZWbrYVw:1␤␤»
GLRelia rakudo-moar 36ea47: OUTPUT«HyperSeq.new␤»
ShimmerFairy m: say (1,2,3).race
camelia rakudo-moar cf3b24: OUTPUT«Method 'race' not found for invocant of class 'Parcel'␤ in block <unit> at /tmp/CNcr4xEa0s:1␤␤»
GLRelia rakudo-moar 36ea47: OUTPUT«HyperSeq.new␤»
laben m: race (1,2,3) 15:23
camelia rakudo-moar cf3b24: OUTPUT«5===SORRY!5=== Error while compiling /tmp/W87phuBAFK␤Undeclared routine:␤ race used at line 1␤␤»
GLRelia rakudo-moar 36ea47: OUTPUT«5===SORRY!5=== Error while compiling /tmp/tNHC0JLJZi␤Undeclared routine:␤ race used at line 1␤␤»
timotimo well, that was easy to check
laben lwp::simple seems to be fine with glr, advancing to json::rpc 15:24
15:28 GLRelia left, CQ left 15:34 GLRelia joined 15:35 moyamo_ joined, moyamo_ left 15:36 moyamo left
ugexe jdv79: run a smoke test that installs modules via CURLI until you get to 100+ distributions installed. then try reading it or writing it (from/to json) and note the difference in start up time when doing `perl6 -e 'use SomeModule'` 15:44
15:45 Guest73597 joined, Guest73597 left
timotimo um, are we actually still using json for CURLI? 15:47
i thought froggs made it use serialized blobs instead?
ugexe jdv79: for writing you can even use the projects.json file (that lists all the project META.info in the ecosystem). read it in(fast enough), but then try to `to-json` it... it will take way longer than json::faster (other json modules are equally slow as the default, unless json::fast merged json::fasters code)
timotimo oh, right, i wanted to merge that 15:48
done
jdv79 huh, i thought reading was slower than writing 15:53
ugexe no. but reading happens more often than writing (writing manifest only happens during install, reading happens every time you start perl6) 15:54
llfourn how does one run all the tests in roast?
ugexe so going from less than 1 second for a CURLI to read a manifest with 1 or 2 modules installed to 5+ seconds for a CURLI that reads a manifest with 100+ modules installed is not good 15:55
timotimo "make spectest", potentially with "TEST_JOBS=4" or so in your environment
Ulti blogs.perl.org/users/xiaoayfeng/201...-race.html
llfourn timotimo: works thanks :) 15:56
ugexe the MANIFEST also has more levels in its structure. its possible the MANIFEST format itself could be changed to something less normalized but faster to parse (for now) 15:57
jdv79 i tested out a simple embedded indexing scheme and it pays off, only because perl6 is slow with json 16:03
nine FROGGS[mobile]: do you by chance still have my micro USB cable?
jdv79 same code in p5 is pretty much the same perf without of without out
nine I seem to remember giving it to you on Wednedday 16:04
jdv79 went from about 350s to .5s for a simple lookup 16:05
16:05 smls_ joined
ugexe the first time it will read in everything 16:05
for MANIFEST
16:05 smls left
jdv79 well, that's terrible 16:05
ugexe im not sure if it can be avoided yet or not. with an index structure it could probably do better lazy loading by just reading the index on the first time (so it knows what modules are available to find) 16:07
16:07 araujo_ joined
jdv79 learned json is fine with dup keys which is how i embeded the index. so long as your parser is ok with it you coudl ignore it and load the whole file and then tack down the tree as usual 16:07
16:07 araujo_ left 16:08 araujo_ joined
thou Hi, everyone. Long time, no see. 16:08
16:09 araujo_ left
thou I have a problem with concurrency that I hope is just me doing it wrong, I hope someone could take a look: gist.github.com/softmoth/02341cdada4ab8593d94 16:09
ugexe jdv79: here is an example of the MANIFEST if you have no seen its structure: gist.github.com/ugexe/27f2c889b4f16a72fb9b
thou Problems: 1) `await @threads` is getting error `Type check failed in binding result; expected 'Any' but got 'Mu'`, and 2) it's returning from await before the shell() are done running. I tried using run() instead of shell(); I tried qq:x. I believe I tried Proc::Async, too, although I don't have that code handy. 16:11
16:14 araujo joined
jdv79 ugexe: gist.github.com/anonymous/706c3af232a8a97f7d20 # my lame json idx scheme:) 16:14
there has to be a better way 16:15
maybe not json;) 16:16
ugexe right ProtoBuffers would be nice. but not human readable unfortunately. there is also the `noson` branch which was the start of a new serialization thing
but hasnt seen any new work for awhile 16:17
JimmyZ thou: I think it may be await all(@threads) 16:20
thou i tried using a for loop there, too, like: for @threads -> $p { note $p.perl; note $p.result.perl; note $p.status; } 16:22
JimmyZ thou: well, I am not sure, but I think there were some examples in jnthn++'s slide
thou it didn't make any difference
OK 16:23
I have looked at the golf assistant code and other stuff in that little repo
but maybe I have missed more relevant examples
I thought may be rakudo had changed recently and I was doing it an old way; I tried using a Supply instead of a Channel, and running .start() on it, and then but was unable to get that to work right either. 16:24
JimmyZ thou: gist.github.com/jnthn/a56fd4a22e7c43080078 did you see this? 16:25
ugexe for 1 you should look at @threads before the await and see what it actually contains. secondly you need to close your processes
perl6 -e 'my $proc = shell("ls", :out); say $proc.out.lines; say $proc.exitcode;'
flussence m: for ^100 { my $a = uint64.Range.pick; say $a if $a < 0 }; say 'alive';
camelia rakudo-moar cf3b24: OUTPUT«alive␤»
GLRelia rakudo-moar 36ea47: OUTPUT«alive␤»
ugexe $proc.out.close 16:26
flussence ^that's really, really broken on my laptop (32bit)
returns negative 64-bit numbers about half the time.
oh whoops, the $a needs to be typed... 16:27
thou JimmyZ, yes but didn't study it carefully as I thought it wasn't in rakudo yet 16:28
flussence m: for ^100 { my uint64 $a = uint64.Range.pick; say $a if $a < 0 }; say 'alive'; # what I meant to write
camelia rakudo-moar cf3b24: OUTPUT«-6917529026673274189␤-3458764512231658321␤-2305843007882882430␤-4611686016877458221␤-2305843007260574174␤-4611686018071566373␤-4611686017832710831␤-4611686016630798508␤-2305843007951234421␤-8070450531458385911␤-4611686016723298411␤-92…»
GLRelia rakudo-moar 36ea47: OUTPUT«-2305843007805648688␤-2305843008265573527␤-3458764511730771662␤-4611686016376510305␤-9223372036005487961␤-5764607522468752173␤-4611686017315072735␤-3458764512937388781␤-4611686017417858222␤-5764607522744592644␤-1152921503577231947␤-92…»
thou ugexe, let me try that. The @threads prior to await looks OK to me, they are Pending
JimmyZ thou: it is mostly there, in the nom branch 16:29
ugexe JimmyZ: i think its in the glr branch now too
JimmyZ yes
thou cool, thanks 16:30
JimmyZ flussence: it would be nice send it to RT :P
thou I appreciate both of your time, you've given me enough so I can at least try a few more things! 16:31
flussence JimmyZ: I might do, if someone doesn't beat me to it (on the worst 3G connection ever atm) 16:32
looks like it's not 32bit-specific, at least...
thou I'll also try to make a condensed test case for the segfault I got w/ perl6-m (was when doing Shell::Command's rm_rf from multiple threads; chdir failed multiple times saying no such file or directory, and then at some point it segfaulted)
ugexe thou: zef uses Proc and Proc::Async a lot. it might contain useful examples for you (this is a wrapper to make proc and proc::async have the same api) github.com/ugexe/zef/blob/master/l...m6#L55-L66 16:34
16:34 cognominal left
thou ugexe: I did look at your code earlier – I will spend a bit more time with that. I'll try to let you know how it goes if I solve it. 16:34
ugexe later on elsewhere its await Promise.allof(Zef::Process.new(whatever).start for ^5) 16:35
JimmyZ thou: I like segfault :P 16:36
ugexe my legal ficticious business name is `segfaults` 16:37
it has not managed to segfault the irs unfortunately 16:38
should have went with bobby tables 16:39
thou ugexe: I think allof() is not quite right for my needs, since I want to tolerate some failures ?
ugexe Promise.anyof() ? 16:40
thou that would bail on the first success
so it'd be more of a .map() or something
ugexe then its something like .grep(*)
skids Hrm.. push-exactly "returns the number of things pushed, or IterationEnd..." so... it either spits $n back at you or returns IterationEnd, but never tells you how many it pushed if it came up short. :-/ 16:41
zacts is optimization of rakudo being worked on? 16:46
or is that a major goal for the release of a stable version of rakudo Perl6?
skids Yes and no: it is certainly being worked on (there is a LOT of work), but just enough optimization to get reasonable performance for the release. 16:50
16:51 BenGoldberg joined
skids The goal is primarily to get a relatively firm specification implemented with enough features to be useful, while not losing what performance we have. 16:51
(as far as I glean)
nine .tell FROGGS[mobile] do you by chance still have my micro USB cable? I seem to remember giving it to you on Wednesday 16:55
yoleaux nine: I'll pass your message to FROGGS[mobile].
BenGoldberg m: Buf.new(1..5).say; 16:56
camelia rakudo-moar cf3b24: OUTPUT«Buf:0x<01 02 03 04 05>␤»
GLRelia rakudo-moar 36ea47: OUTPUT«Buf:0x<01 02 03 04 05>␤»
BenGoldberg m: (1..5).Buf.say;
camelia rakudo-moar cf3b24: OUTPUT«Method 'Buf' not found for invocant of class 'Range'␤ in block <unit> at /tmp/pZZ82IikVQ:1␤␤»
GLRelia rakudo-moar 36ea47: OUTPUT«Method 'Buf' not found for invocant of class 'Range'␤ in block <unit> at /tmp/D4SUczPVTS:1␤␤»
BenGoldberg m: (1..5, 6).Buf.say;
camelia rakudo-moar cf3b24: OUTPUT«Method 'Buf' not found for invocant of class 'Parcel'␤ in block <unit> at /tmp/PgE09_BpcM:1␤␤»
GLRelia rakudo-moar 36ea47: OUTPUT«Method 'Buf' not found for invocant of class 'List'␤ in block <unit> at /tmp/BJTgF6fizV:1␤␤»
laben m: my @a; @a.push(${a=>1, b=>"foo"}); dd @a; 17:00
camelia rakudo-moar cf3b24: OUTPUT«5===SORRY!5=== Error while compiling /tmp/jcyWlVz7OA␤Unsupported use of ${a=>1, b=>"foo"}; in Perl 6 please use $(a=>1, b=>"foo")␤at /tmp/jcyWlVz7OA:1␤------> 3my @a; @a.push(${a=>1, b=>"foo"}7⏏5); dd @a;␤»
GLRelia rakudo-moar 36ea47: OUTPUT«@a = [{:a(1), :b("foo")},]␤»
laben m: my @a; @a.push({a=>1, b=>"foo"},); dd @a;
camelia rakudo-moar cf3b24: OUTPUT«@a = [{:a(1), :b("foo")}]<>␤»
GLRelia rakudo-moar 36ea47: OUTPUT«@a = [:a(1), :b("foo")]␤»
laben m: my @a; @a.push({{a=>1, b=>"foo"}}); dd @a;
camelia rakudo-moar cf3b24: OUTPUT«@a = [-> ;; $_? is parcel { #`(Block|63359848) ... }]<>␤»
GLRelia rakudo-moar 36ea47: OUTPUT«@a = [-> ;; $_? is parcel { #`(Block|54608384) ... }]␤»
laben m: my @a; @a.push(%{a=>1, b=>"foo"}); dd @a;
camelia rakudo-moar cf3b24: OUTPUT«5===SORRY!5=== Error while compiling /tmp/vGVdvmS36A␤Unsupported use of %{a=>1, b=>"foo"}; in Perl 6 please use %(a=>1, b=>"foo")␤at /tmp/vGVdvmS36A:1␤------> 3my @a; @a.push(%{a=>1, b=>"foo"}7⏏5); dd @a;␤»
GLRelia rakudo-moar 36ea47: OUTPUT«@a = [:a(1), :b("foo")]␤»
17:00 trnh joined
laben m: my @a; @a.push(a=>1, b=>"foo"); dd @a; 17:00
camelia rakudo-moar cf3b24: OUTPUT«@a = []<>␤»
GLRelia rakudo-moar 36ea47: OUTPUT«@a = []␤»
laben m: my @a; @a.push(%(a=>1, b=>"foo")); dd @a;
camelia rakudo-moar cf3b24: OUTPUT«@a = [:a(1), :b("foo")]<>␤»
GLRelia rakudo-moar 36ea47: OUTPUT«@a = [:a(1), :b("foo")]␤»
JimmyZ oh, i see is parcel in GLRelia 17:01
laben i remember finding a way to push an hash avoiding flattening compatible with both nom and glr. does someone remember? 17:02
ugexe m: my @a; my %x; %x<a> = 1; @a.push($%x); say @a.perl 17:03
camelia rakudo-moar cf3b24: OUTPUT«[{:a(1)}]<>␤»
GLRelia rakudo-moar 36ea47: OUTPUT«[{:a(1)},]␤»
laben so it must be stored beforehand :/ 17:04
nine m: my @a; @a.push: ${:a(1)}; say @a.perl; 17:08
camelia rakudo-moar cf3b24: OUTPUT«5===SORRY!5=== Error while compiling /tmp/57_3p51fQL␤Unsupported use of ${:a(1)}; in Perl 6 please use $(:a(1))␤at /tmp/57_3p51fQL:1␤------> 3my @a; @a.push: ${:a(1)}7⏏5; say @a.perl;␤»
GLRelia rakudo-moar 36ea47: OUTPUT«[{:a(1)},]␤»
nine m: my @a; @a.push: ${ :a(1) }; say @a.perl;
camelia rakudo-moar cf3b24: OUTPUT«5===SORRY!5=== Error while compiling /tmp/edJWW5cEV2␤Unsupported use of ${ :a(1) }; in Perl 6 please use $( :a(1) )␤at /tmp/edJWW5cEV2:1␤------> 3my @a; @a.push: ${ :a(1) }7⏏5; say @a.perl;␤»
GLRelia rakudo-moar 36ea47: OUTPUT«[{:a(1)},]␤»
laben m: my @a; @a.push($%(a=>1, b=>"foo")); dd @a; 17:09
camelia rakudo-moar cf3b24: OUTPUT«@a = [{:a(1), :b("foo")}]<>␤»
GLRelia rakudo-moar 36ea47: OUTPUT«@a = [{:a(1), :b("foo")},]␤»
laben found ^^^
17:10 thou left
JimmyZ m: my @a; @a.push(${a=>1, b=>"foo"}); dd @a; 17:11
camelia rakudo-moar cf3b24: OUTPUT«5===SORRY!5=== Error while compiling /tmp/8l6Cm0JMh5␤Unsupported use of ${a=>1, b=>"foo"}; in Perl 6 please use $(a=>1, b=>"foo")␤at /tmp/8l6Cm0JMh5:1␤------> 3my @a; @a.push(${a=>1, b=>"foo"}7⏏5); dd @a;␤»
GLRelia rakudo-moar 36ea47: OUTPUT«@a = [{:a(1), :b("foo")},]␤»
JimmyZ m: my @a; @a.push($(a=>1, b=>"foo")); dd @a; 17:12
camelia rakudo-moar cf3b24: OUTPUT«@a = [:a(1), :b("foo")]<>␤»
GLRelia rakudo-moar 36ea47: OUTPUT«@a = [(:a(1), :b("foo")),]␤»
17:12 cognominal joined 17:14 pmurias joined
pmurias hi 17:14
17:14 thou joined 17:17 Loren_ left
JimmyZ m: sub foo(@a is copy) {1; } 17:20
camelia ( no output )
GLRelia ( no output )
17:25 pmurias left
flussence looks like RT #124294 already exists for native uints behaving weirdly 17:26
synbot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=124294
flussence all of uint{16,32,64} appear to behave as an int64 17:27
JimmyZ m: say my uint32 $ = 2**64; 17:28
camelia rakudo-moar cf3b24: OUTPUT«Cannot unbox 65 bit wide bigint into native integer␤ in block <unit> at /tmp/efOP2tRgvK:1␤␤»
GLRelia rakudo-moar 36ea47: OUTPUT«Cannot unbox 65 bit wide bigint into native integer␤ in block <unit> at /tmp/HrPk5zbG29:1␤␤»
JimmyZ m: say my uint32 $ = 2**63;
camelia rakudo-moar cf3b24: OUTPUT«-9223372036854775808␤»
GLRelia rakudo-moar 36ea47: OUTPUT«-9223372036854775808␤»
17:30 espadrine left 17:31 smls_ left
laben m: for ^3 {.say; next if $_ < 3; LAST {say "last"}} 17:32
camelia rakudo-moar cf3b24: OUTPUT«0␤1␤2␤last␤»
GLRelia rakudo-moar 36ea47: OUTPUT«0␤1␤2␤»
laben that's a bug ^^^ right? 17:33
17:33 perl6_newbee joined
laben .tell FROGGS[mobile] the LAST phaser doesnt seem to fire when the last execution is finished with next, see "for ^3 {.say; next if $_ < 3; LAST {say "last"}}" 17:37
yoleaux laben: I'll pass your message to FROGGS[mobile].
thou laben: I think you're right 17:40
17:43 Sgeo left 17:45 llfourn left 18:00 araujo left 18:26 trnh left 18:28 cognominal left 18:35 perl6_newbee left
masak yes, that's a big. 18:35
bug* 18:36
I don't think phasers are in place on GLR yet.
18:37 liztormato joined
nine thez should be 18:37
18:37 oetiker left
liztormato waves from Montpellier 18:37
masak hi, Montpellier! 18:38
vendethiel \o liztormato 18:39
nine liztormato: 2!
vendethiel 's not sure what's supposed to be Montpellier's "typical food" 18:40
18:41 liztormato_ joined, liztormato left, liztormato_ is now known as liztormato
liztormato (Having dinner just in reach of the wifi network) 18:42
masak sounds very romantic :P 18:43
timotimo hahaha
18:43 rangerprice joined
timotimo the table barely illuminated by the wifi AP 18:43
masak their signals touched, frazzled, and fell back, in a constantly changing dance of connectivity 18:44
timotimo m: my $foo = loop { last } 18:46
camelia rakudo-moar cf3b24: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Dbvw74CIAL␤Undeclared routine:␤ loop used at line 1␤␤»
GLRelia rakudo-moar 36ea47: OUTPUT«5===SORRY!5=== Error while compiling /tmp/URsGMQ0Zb1␤Undeclared routine:␤ loop used at line 1␤␤»
timotimo m: my $foo = do loop { last }
camelia ( no output )
GLRelia ( no output )
timotimo m: await start loop { last }
camelia ( no output )
GLRelia ( no output )
timotimo hm
18:49 liztormato left
BenGoldberg m: say away start loop { last }; say 'alive'; 18:53
camelia rakudo-moar cf3b24: OUTPUT«5===SORRY!5=== Error while compiling /tmp/fyG1LLaQzi␤Undeclared routine:␤ away used at line 1␤␤»
GLRelia rakudo-moar 36ea47: OUTPUT«5===SORRY!5=== Error while compiling /tmp/4kQ_rRhIXe␤Undeclared routine:␤ away used at line 1␤␤»
BenGoldberg m: say await start loop { last }; say 'alive';
camelia rakudo-moar cf3b24: OUTPUT«sub last (|) { #`(Sub|41109952) ... }␤alive␤»
GLRelia rakudo-moar 36ea47: OUTPUT«sub last (|) { #`(Sub|56058424) ... }␤alive␤»
18:59 [Sno] joined
timotimo promises awayyyyyy 19:00
19:01 liztormato joined 19:04 liztormato left 19:07 liztormato joined 19:10 liztormato left 19:17 kaare_ left 19:18 rurban left 19:22 xinming_ joined
laben mh, the Task::Star meta-module (github.com/tadzik/Task-Star/) is updated with the current updated modules, right? 19:23
i mean, "with the current _included_ modules"
19:25 xinming left 19:28 domidumont joined, dha joined
moritz yes 19:35
19:37 colomon joined 19:42 llfourn joined
laben well, i checked every module on that list except for p6doc, so i can give a report on their glr-compatibility status 19:44
i sent PR for xml::writer, svg, svg::plot, test::mock which bring them to glr-ready status 19:45
json::rpc is mostly fixed, just need a fix for the LAST phaser not firing
timotimo awesome, laben :) 19:46
great work
19:46 llfourn left
laben dbiish, pod::to::html and template::mustache (not on list but dep of bailador) need some work 19:47
dalek rl6-roast-data: 31df4d7 | coke++ | / (9 files):
today (automated commit)
laben thus bailador remains unchecked because of missing dep
while digest::md5 is way too much for me with that obfuscated code, dont even know where to begin and seems broken badly 19:48
[Coke] waves from the train to albany, catching up on a long day of backlog.
laben the modules i did not mention seem to work fine 19:49
19:50 ChoHag joined
ChoHag I have found odd behaviour with lazy maps which may or may not be a bug. 19:50
19:50 TEttinger joined
ChoHag m: my @l = 1,2,3,4; sub foo { my $r = False; say $r; @l .= map: { $_ eq 3 ?? { $r = True; $_ * 10 }() !! $_ * 2}; say $r }; foo # Normal 19:52
camelia rakudo-moar cf3b24: OUTPUT«False␤True␤»
GLRelia rakudo-moar 36ea47: OUTPUT«False␤True␤»
ChoHag m: my %l = a=>(1,2,3,4); sub foo { my $r = False; say $r; %l<a> .= map: { $_ eq 3 ?? { $r = True; $_ * 10 }() !! $_ * 2}; say $r }; foo # weird
camelia rakudo-moar cf3b24: OUTPUT«False␤False␤»
GLRelia rakudo-moar 36ea47: OUTPUT«False␤False␤»
ChoHag m: my %l = a=>(1,2,3,4); sub foo { my $r = False; say $r; %l<a> .= map: { $_ eq 3 ?? { $r = True; $_ * 10 }() !! $_ * 2}; say %l; say $r }; foo # force evaluation 19:53
camelia rakudo-moar cf3b24: OUTPUT«False␤a => 2 4 30 8␤True␤»
GLRelia rakudo-moar 36ea47: OUTPUT«False␤a => (2 4 30 8)␤True␤»
[Coke] (backlog) (master vs. "better name") I would really rather we didn't go with a cute naming scheme, but instead used a bog standard naming convention. thanks.
laben for the modules commonly used (IMO) that i checked: XML, Compress::Zlib::Raw, Compress::Zlib, String::CRC32 (with a PR), TestML, YAML, Config::INI, File::Directory::Tree and File::Temp work fine
ChoHag So if a list is mapped, it's evaluated then and there, if a hash element is a list and that is mapped, it's done lazily. 19:54
laben Slang::Tuxic seemed fine at a first look, but while working on Text::CSV (which is pretty b0rken) i have come to think it causes some (new?) issues of precedence
ChoHag (Or array or whatever) 19:55
Is that in some way by design? It certainly threw me by surprise.
laben m: ({say "1"},{say "2"},{say "3"}).map($_.()) 19:56
camelia rakudo-moar cf3b24: OUTPUT«Cannot find method 'Any'␤ in block <unit> at /tmp/gVLaOoV7dg:1␤␤»
GLRelia rakudo-moar 36ea47: OUTPUT«Cannot find method 'Any'␤ in block <unit> at /tmp/dQcCQy24Me:1␤␤»
[Coke] masak - my concern with 113954 is that ... how do you escape the strings? what shell syntax do you use? 19:57
ChoHag And if it is by design, how can I force waiting until the map has finished?
laben m: ({say "1"},{say "2"},{say "3"}).map({$_.()})
camelia rakudo-moar cf3b24: OUTPUT«1␤2␤3␤»
GLRelia rakudo-moar 36ea47: OUTPUT«1␤2␤3␤»
[Coke] (we have MANY choices in that regard, and are likely to guess wrong)
masak [Coke]: yes, that's true. but not escaping is going to be wrong everywhere.
[Coke]: and usually people who are not on bash tend to know how to translate bash's stuff to their shell's strange syntax. :) so I don't see it as much of an issue. 19:58
in reality, the two "shells" we have to relate to are bash and COMMAND.COM
[Coke] masak: I don't see it as a real world issue. why would you have a command argument with spaces in it? are you a ... masakist?
ChoHag masak: cmd.exe 19:59
If you're going to accomodate COMMAND.COM you should accomodate sh and probably csh too.
[Coke] masak: and I assume you don't just want spaces fixed, but ANY invalid shell character.
Seems like a good thing for a module to have to worry about. :) 20:00
masak [Coke]: I don't remember *why* I filed this ticket. but I agree with my past self that we should try to avoid error messages that amount to "you did X, please correct this by doing X instead"
[Coke] masak: We can't solve this in the generic case without a lot of work. Are you ok with just dealing with spaces?
even though no sane developer would EVER use that? 20:01
masak [Coke]: in a way, we already "translate" a lot of things to shell. :$name becomes --name, Bool $e becomes -e etc
[Coke]: I think I'm OK with just dealing with spaces.
[Coke] please add that to the ticket.
masak [Coke]: I don't remember the background of the ticket, so I won't argue about the "sane developer" bit :)
[Coke] (not using nom post glr) - we don't have a plan yet, but my expectation is that glr will merge into nom before we think about switching away from using nom as master. 20:02
ChoHag Why must all developers be considered sane?
[Coke] btw, it was great to see everyone this week! 20:03
20:04 darutoko left
ChoHag You might as well just say what real developers do, or true developers, and the next thing you know everyone's in a kilt without undies. 20:04
(Though I agree with you, just not your reason)
skids Besides, crazy people need languages too, otherwise we would just have grunts instead of song lyrics. 20:05
DrForr Well, I am lredy... minus the kilt :)
[Coke] I'm clearly not saying masak's insane - just unreasonable! ;)
dha DrForr - congrats on the new p::tp6 release.
DrForr Oh, thanks.
[Coke] only about 2.5 hours before I can collapse on my own sofa.
ChoHag (Although if there were a Shell::QuoteArguments module already extant I wouldn't agree with you)
dha And FYI, I am wearing my new The Search For Weng Weng t-shirt. :-) 20:07
DrForr I haven't given it much of a thrashing yet, the big thing was getting Moose => P6 partial conversion out the proverbial door. And more yak hair on the floor.
tadzik laben: wellll
laben: when I remember :)
DrForr Still jealous :)
[Coke] ooh, down to 1,033 tickets. doing another glr run to see if I can match the lack of failures reported earlier...
dha Yeah... sorry. :-)
DrForr No worries. Are the DVDs good too?
dha Haven't watched them yet.
But they came from Australia! 20:08
ChoHag (And if there were, the answer would be simple: use the canonical shell in the current environment - if you're not using bash or cmd.exe, you know what you're doing or you shouldn't be and deserve the confusion)
DrForr Hoo boy, I get to into Liz's final act before the close...
[Coke] I am not a fan of the stalled status.... but I'm stalling 61602
DrForr (fatal.)
ChoHag sleeps 20:10
If someone decides whether the above is a bug or not, and/or how to work around it, .tell me.
DrForr s/into/lead into/
20:10 ChoHag left
dha Good luck with that! 20:10
jdv79 the glr is interesting to try to adapt code to
laben tadzik: oh, no hurry, i think we're in a pretty good shape actually. generally speaking modules only require much time of investigation and one or two "flat" added or explicit anti-flattening in places like a push. panda was an exception due to the amount of code and stuff that needed to be done 20:11
what is really breaking actually is IMO reckless use of now-broken list semantics, which is showing in some parsing modules 20:12
jdv79 i am a little concerned when something i dump what i think should be a hash and i see (my hash % =...) sometimes and {...} others
laben oh and Image::PNG::Portable works fine too 20:14
dha So, I have a question that may seem unreasonable or offensive, although I really don't mean it to be...
[Coke] dha: fire away.
20:15 mvuets joined
dha So, there's supposed to be a release candidate of p6 soon, and an actual release for christmas. 20:15
colomon m: say <:13<01>/:13<07>>
camelia rakudo-moar cf3b24: OUTPUT«:13<01>/:13<07>␤»
GLRelia rakudo-moar 36ea47: OUTPUT«:13<01>/:13<07>␤»
[Coke] yes. we're committed to the christmas relese. the larry's-birthday rc is a nice to have. 20:16
dha Is the documentation going to be in sufficient shape for someone who isn't already in the Perl 6 world to be able to use it?
[Coke] (though I'm sure we'll have a rc months in advance of christmas)
jdv79 probably not;)
dha Yeah... Do we consider that a problem at all? :-)
[Coke] probably not with currently volunteer efforts, no.
jdv79 do we have a choice might be a better question
laben oh and i actually got the wrong digest module, i was talking about Digest, while what's required by Task::Star is Digest::MD5 which i'm gonna check real quick 20:17
dha Right. Well, that's kind of my deeper question. Is anyone actually actively working on that aspect of things?
[Coke] dhyup
dha I know there was a recent post about reorganizing the docs.
[Coke] dha: we're not hiding volunteers in the back, no
jdv79 loose them now! 20:18
dha [Coke] - :-)
Hm. Ok. 'Cause I'm thinking of trying to work on some of it, but I'm just wanting to get a picture of just how out in the reeds I'd be... :-) 20:19
[Coke] Yes, getting the docs polished is something that hopefully will happen before xmas; we have lots of people working on it, but of course could use more. more volunteers to write docs or proof docs would be appreciated.
20:19 oetiker joined
[Coke] dha: if you're looking for a manager to tell you which parts of the docs to work on, that's probably not going to happen. 20:19
colomon m: say <:13<01>/:13<07>>.Str, “Hmmm"
camelia rakudo-moar cf3b24: OUTPUT«5===SORRY!5=== Error while compiling /tmp/h1x1sIRB5C␤Unable to parse expression in smart double quotes; couldn't find final '”' ␤at /tmp/h1x1sIRB5C:1␤------> 3say <:13<01>/:13<07>>.Str, “Hmmm"7⏏5<EOL>␤ expecting any of:␤ s…»
GLRelia rakudo-moar 36ea47: OUTPUT«5===SORRY!5=== Error while compiling /tmp/StssNTjFvd␤Unable to parse expression in smart double quotes; couldn't find final '”' ␤at /tmp/StssNTjFvd:1␤------> 3say <:13<01>/:13<07>>.Str, “Hmmm"7⏏5<EOL>␤ expecting any of:␤ s…»
dha Ok. 20:20
colomon m: say <:13<01>/:13<07>>.Str, 1
camelia rakudo-moar cf3b24: OUTPUT«:13<01>/:13<07>1␤»
GLRelia rakudo-moar 36ea47: OUTPUT«:13<01>/:13<07>1␤»
pink_mist dha: become the manager :P
colomon oh
jdv79 could the ny perl mongers muster an explicit effort?
dha I guess I'll just start hacking at it and bother people with lots of questions. :-)
jdv79 at least now there's a goal post in view
[Coke] dha - that sounds like a great plan. (seriously) - thank you for taking an interest and pitching in, it will definitely help! 20:21
dha jdv79 - It's worth a shot. I'm also planning to do a talk for them on this kind of subject, so maybe that would work.
colomon can someone with a working moar nom check and see if S02-literals/numeric.t has two test files there?
DrForr I'm tempted to write something along the lines of a post taking a nontrivial module and converting by hand to P6 so people can see what's involved, but that might scare people off...
20:21 rurban joined
dha [Coke] - Thanks. I definitely want to help out, but sometimes it's hard to really get traction. 20:21
jdv79 DrForr: maybe do it in chunks like a series. might be a bit much in one hit. 20:22
laben colomon: you mean in the roast suite or what?
DrForr Oh, yah, probably.
20:22 mvuets` joined
colomon laben: yes 20:22
dha DrForr - I don't remember if I got anywhere with it before getting sidetracked to working on the docs, but go wild: github.com/dha/Test-Simple-perl6
:-)
20:23 FROGGS[mobile] left
DrForr Nod. I might end up getting inspired during the conference, or at least use it as an excuse to procrastinate rewriting slides :) 20:24
dha is tempted to try and get an idea of how much isn't documented yet, but that might be scary...
laben colomon: i dont understand what you mean by "two test files"
colomon two tests fail
my typing not so good at the moment. 20:25
laben ok, testing now
20:25 mvuets left
colomon it’s about 23:25 in Olten right now, right? and I woke up at 5 am their time… 20:26
pink_mist 22:25 I think (that's in CEST right?)
20:27 rindolf joined
colomon pink_mist: you’re right, I thought my laptop was in Chicago time but it’s in Michigan time. 20:27
laben colomon: it's not latest nom (by two days i think) but it has two fails yes
colomon: test 17 and test 18
[Coke] I'm still seeing 12 glr failures.
colomon laben: okay, that’s exactly what I’m getting. so that’s not a GLR regression.
20:28 mvuets`` joined
colomon [Coke]: link? 20:28
laben if you need other, just ask, im not gonna remove it anytime soon
[Coke] github.com/coke/perl6-roast-data/b....out#L5688
colomon I got 6 for my spectest run, and that was individual *tests*, not files.
[Coke] I suspect people are not running the stress tests.
colomon [Coke]++ laben++
[Coke]: oh, good point, I’m certainly not. 20:29
[Coke] colomon: yes, tests, not files.
well, check that link for ome more failures to work on. :)
colomon is that make fulltests ?
ooo, integration/advent2012-day04.t may be interesting. :)
[Coke] that output is from t/spec/test_summary -magic-args
20:30 darutoko joined
[Coke] colomon: here's the invocation: github.com/coke/perl6-roast-data/b...glr.sh#L32 20:30
20:31 mvuets` left, darutoko left
colomon m: say [1], -> @p { [0, @p Z+ @p, 0] } ... * 20:31
GLRelia rakudo-moar 36ea47: OUTPUT«Cannot .elems a lazy list␤ in block <unit> at /tmp/2RqxpKL7xl:1␤␤Actually thrown at:␤ in block <unit> at /tmp/2RqxpKL7xl:1␤␤»
camelia rakudo-moar cf3b24: OUTPUT«1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 1 6 15 20 15 6 1 1 7 21 35 35 21 7 1 1 8 28 56 70 56 28 8 1 1 9 36 84 126 126 84 36 9 1 1 10 45 120 210 252 210 120 45 10 1 1 11 55 165 330 462 462 330 165 55 11 1 1 12 66 220 495 792 924 792 495 220 66 12 1 1 13…»
laben btw, on nom i get two failures on S03-sequence/misc.t as well, but the test numbers are 23 and 24, not 28 and 29. maybe more tests were added in glr? 20:32
[Coke] down to 5 failing test files.
colomon m: my $a = [1], -> @p { [0, @p Z+ @p, 0] } ... *;
camelia ( no output )
GLRelia rakudo-moar 36ea47: OUTPUT«===SORRY!===␤Type check failed in binding @p; expected 'Positional' but got 'Int'␤»
colomon ah, there we go
m: my $a = [1,], -> @p { [0, @p Z+ @p, 0] } ... *; 20:33
camelia ( no output )
GLRelia rakudo-moar 36ea47: OUTPUT«===SORRY!===␤Type check failed in binding @p; expected 'Positional' but got 'Int'␤»
colomon m: my $a = [1,], -> \p { dd p } ... *; 20:34
camelia ( no output )
GLRelia rakudo-moar 36ea47: OUTPUT«(timeout)@tail = [1]␤@tail = Any␤@tail = Any␤@tail = Any␤@tail = Any␤@tail = Any␤@tail = Any␤@tail = Any␤@tail = Any␤@tail = Any␤@tail = Any␤@tail = Any␤@tail = Any␤@tail = Any␤@tail = Any␤@tail = Any␤@tail = Any␤@tail = A…»
colomon um...
m: my $a = [1,], -> $p { dd $p } ... *; 20:35
camelia ( no output )
GLRelia rakudo-moar 36ea47: OUTPUT«(timeout)$p = [1]␤$p = Any␤$p = Any␤$p = Any␤$p = Any␤$p = Any␤$p = Any␤$p = Any␤$p = Any␤$p = Any␤$p = Any␤$p = Any␤$p = Any␤$p = Any␤$p = Any␤$p = Any␤$p = Any␤$p = Any␤$p = Any␤$p = Any␤$p = Any␤$p = Any␤$p = …»
20:35 virtualsue joined
[Coke] The connection on the train is too slow. signing off, catch folks later. 20:36
20:36 TEttinger left
colomon o/ 20:36
laben m: my @p = 1,2,3; dd [0, @p Z+ @p, 0] 20:37
camelia rakudo-moar cf3b24: OUTPUT«$ = [1, 3, 5, 3]␤»
GLRelia rakudo-moar 36ea47: OUTPUT«[3, 3]␤»
laben m: my @p = 1,; dd [0, @p Z+ @p, 0]
camelia rakudo-moar cf3b24: OUTPUT«$ = [1, 1]␤»
GLRelia rakudo-moar 36ea47: OUTPUT«[1, 1]␤»
laben m: my @p = 1,2; dd [0, @p Z+ @p, 0]
camelia rakudo-moar cf3b24: OUTPUT«$ = [1, 3, 2]␤»
GLRelia rakudo-moar 36ea47: OUTPUT«[2, 2]␤»
colomon also umm....
laben m: my @p = 1,2,3; dd [0, (@p Z+ @p).flat, 0]
camelia rakudo-moar cf3b24: OUTPUT«$ = [0, 2, 4, 6, 0]␤»
GLRelia rakudo-moar 36ea47: OUTPUT«[0, (2, 4, 6).Seq, 0]␤»
20:38 BenGoldberg left
colomon laben: it should be (0, @p) Z+ (@p, 0) 20:38
I mean, possibly with flats
laben m: my @p = 1,2; dd [|(0, @p) Z+ |(@p, 0)]
camelia rakudo-moar cf3b24: OUTPUT«5===SORRY!5===␤Arg-flattening | is only valid in an argument list␤at /tmp/fREVwWLzpM:1␤------> 3my @p = 1,2; dd [|7⏏5(0, @p) Z+ |(@p, 0)]␤Arg-flattening | is only valid in an argument list␤at /tmp/fREVwWLzpM:1␤------> 3my @p = 1,2; d…»
GLRelia rakudo-moar 36ea47: OUTPUT«[2, 2]␤»
laben m: my @p = 1,2; dd [(0, @p).flat Z+ (@p, 0).flat]
camelia rakudo-moar cf3b24: OUTPUT«$ = [1, 3, 2]␤»
GLRelia rakudo-moar 36ea47: OUTPUT«[1, 3, 2]␤»
laben this ^^^ ?
m: my @p = 1,2,3; dd [(0, @p).flat Z+ (@p, 0).flat] 20:39
camelia rakudo-moar cf3b24: OUTPUT«$ = [1, 3, 5, 3]␤»
GLRelia rakudo-moar 36ea47: OUTPUT«[1, 3, 5, 3]␤»
colomon that’s the right computation for the next step of the pascal’s triangle, yes. 20:40
I don’t think that will fix the problem with binding to @p, though?
20:40 itz joined
laben m: say [1] -> @p { [(0, @p).flat Z+ (@p, 0).flat] } ... * 20:41
camelia rakudo-moar cf3b24: OUTPUT«5===SORRY!5=== Error while compiling /tmp/IxF653RDqJ␤Unexpected block in infix position (missing statement control word before the expression?)␤at /tmp/IxF653RDqJ:1␤------> 3say [1]7⏏5 -> @p { [(0, @p).flat Z+ (@p, 0).flat] ␤ expecting…»
GLRelia rakudo-moar 36ea47: OUTPUT«5===SORRY!5=== Error while compiling /tmp/d0ggZ2zsd7␤Unexpected block in infix position (missing statement control word before the expression?)␤at /tmp/d0ggZ2zsd7:1␤------> 3say [1]7⏏5 -> @p { [(0, @p).flat Z+ (@p, 0).flat] ␤ expecting…»
laben m: my \a = [1] -> @p { [(0, @p).flat Z+ (@p, 0).flat] } ... *
camelia rakudo-moar cf3b24: OUTPUT«5===SORRY!5=== Error while compiling /tmp/RGRWtgH_6u␤Unexpected block in infix position (missing statement control word before the expression?)␤at /tmp/RGRWtgH_6u:1␤------> 3my \a = [1]7⏏5 -> @p { [(0, @p).flat Z+ (@p, 0).flat] ␤ expec…»
GLRelia rakudo-moar 36ea47: OUTPUT«5===SORRY!5=== Error while compiling /tmp/4XyO2tZWB6␤Unexpected block in infix position (missing statement control word before the expression?)␤at /tmp/4XyO2tZWB6:1␤------> 3my \a = [1]7⏏5 -> @p { [(0, @p).flat Z+ (@p, 0).flat] ␤ expec…»
laben m: my \a = [1], -> @p { [(0, @p).flat Z+ (@p, 0).flat] } ... *
camelia ( no output )
GLRelia ( no output )
laben m: my \a = [1], -> @p { [(0, @p).flat Z+ (@p, 0).flat] } ... *; say a 20:42
GLRelia rakudo-moar 36ea47: OUTPUT«Cannot .elems a lazy list␤ in block <unit> at /tmp/k8MA7zOw11:1␤␤Actually thrown at:␤ in block <unit> at /tmp/k8MA7zOw11:1␤␤»
camelia rakudo-moar cf3b24: OUTPUT«1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 1 6 15 20 15 6 1 1 7 21 35 35 21 7 1 1 8 28 56 70 56 28 8 1 1 9 36 84 126 126 84 36 9 1 1 10 45 120 210 252 210 120 45 10 1 1 11 55 165 330 462 462 330 165 55 11 1 1 12 66 220 495 792 924 792 495 220 66 12 1 1 13…»
20:42 llfourn joined
jdv79 ok, how does one create a Hash[Hash] ? 20:43
laben colomon: the problem seems to be that .gist or whatever is called by say tries to .elems instead of actually iterating. i would say it will need to be Seq/Iterator -ified
colomon m: my $a = (1).Seq, -> \p { dd p } ... *; 20:44
camelia rakudo-moar cf3b24: OUTPUT«Method 'Seq' not found for invocant of class 'Int'␤ in block <unit> at /tmp/L2gXQFfUQ0:1␤␤»
GLRelia rakudo-moar 36ea47: OUTPUT«Method 'Seq' not found for invocant of class 'Int'␤ in block <unit> at /tmp/O9YExDCnOf:1␤␤»
colomon m: my $a = [1].Seq, -> \p { dd p } ... *;
camelia rakudo-moar cf3b24: OUTPUT«Method 'Seq' not found for invocant of class 'Array'␤ in block <unit> at /tmp/bbMFazT9Je:1␤␤»
GLRelia rakudo-moar 36ea47: OUTPUT«(timeout)@tail = (1).Seq␤@tail = Any␤@tail = Any␤@tail = Any␤@tail = Any␤@tail = Any␤@tail = Any␤@tail = Any␤@tail = Any␤@tail = Any␤@tail = Any␤@tail = Any␤@tail = Any␤@tail = Any␤@tail = Any␤@tail = Any␤@tail = Any␤@tail…» 20:45
jdv79 nm, got it
laben m: my \a = [1], -> @p { [(0, @p).flat Z+ (@p, 0).flat] } ... 126; say a
GLRelia rakudo-moar 36ea47: OUTPUT«Type check failed in binding @p; expected 'Positional' but got 'Int'␤ in block <unit> at /tmp/XBKGOucWNi:1␤␤»
camelia rakudo-moar cf3b24: OUTPUT«1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 1 6 15 20 15 6 1 1 7 21 35 35 21 7 1 1 8 28 56 70 56 28 8 1 1 9 36 84 126 126 84 36 9 1 1 10 45 120 210 252 210 120 45 10 1 1 11 55 165 330 462 462 330 165 55 11 1 1 12 66 220 495 792 924 792 495 220 66 12 1 1 13…»
laben m: my \a = [1,], -> @p { [(0, @p).flat Z+ (@p, 0).flat] } ... 126; say a 20:46
GLRelia rakudo-moar 36ea47: OUTPUT«Type check failed in binding @p; expected 'Positional' but got 'Int'␤ in block <unit> at /tmp/mpTL27cgCW:1␤␤»
camelia rakudo-moar cf3b24: OUTPUT«1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 1 6 15 20 15 6 1 1 7 21 35 35 21 7 1 1 8 28 56 70 56 28 8 1 1 9 36 84 126 126 84 36 9 1 1 10 45 120 210 252 210 120 45 10 1 1 11 55 165 330 462 462 330 165 55 11 1 1 12 66 220 495 792 924 792 495 220 66 12 1 1 13…»
laben m: my \a = $[1], -> @p { [(0, @p).flat Z+ (@p, 0).flat] } ... 126; say a
camelia rakudo-moar cf3b24: OUTPUT«Use of uninitialized value of type Any in numeric context in block <unit> at /tmp/KLlhaS2r2g:1␤===SORRY!===␤Type check failed in binding @p; expected 'Positional' but got 'Any'␤»
GLRelia rakudo-moar 36ea47: OUTPUT«Type check failed in binding @p; expected 'Positional' but got 'Int'␤ in block <unit> at /tmp/0APU2BQEJN:1␤␤»
20:46 llfourn left, domidumont left 20:47 yqt joined
colomon I wonder which @p is the problem there — the very first iteration or the second? 20:48
virtualsue back from olten 20:49
colomon \o 20:50
20:51 mvuets joined
laben m: sub f(@p) { dd @p; [(0, @p).flat Z+ (@p, 0).flat] }; dd f(f(f(f(f([1]))))); 20:52
camelia rakudo-moar cf3b24: OUTPUT«[1]<>␤[1, 1]<>␤[1, 2, 1]<>␤[1, 3, 3, 1]<>␤[1, 4, 6, 4, 1]<>␤[1, 5, 10, 10, 5, 1]␤»
GLRelia rakudo-moar 36ea47: OUTPUT«[1]␤[1, 1]␤[1, 2, 1]␤[1, 3, 3, 1]␤[1, 4, 6, 4, 1]␤[1, 5, 10, 10, 5, 1]␤»
laben m: sub f(**@p) { dd @p; [(0, @p).flat Z+ (@p, 0).flat] }; dd f(f(f(f(f(1))))); 20:53
camelia rakudo-moar cf3b24: OUTPUT«(1)␤(1, 1)␤(2, 2)␤(2, 2)␤(2, 2)␤[2, 2]␤»
GLRelia rakudo-moar 36ea47: OUTPUT«[1]␤[[1, 1],]␤[[2, 2],]␤[[2, 2],]␤[[2, 2],]␤[2, 2]␤»
20:53 mvuets`` left
dha ok. Attempts to figure out what C<state> does or how state variables work lead down a series of twisty passages, all alike (in that they do not give answers). :-| 20:53
20:54 mvuets` joined
laben m: sub f(@p) { dd @p; [(0, @p).flat Z+ (@p, 0).flat] }; for ^9 {FIRST {my \a = f([1])}; \a = f(a); LAST { dd a }} 20:55
camelia rakudo-moar cf3b24: OUTPUT«5===SORRY!5=== Error while compiling /tmp/hks2n0gSw4␤Preceding context expects a term, but found infix = instead␤at /tmp/hks2n0gSw4:1␤------> 3 }; for ^9 {FIRST {my \a = f([1])}; \a =7⏏5 f(a); LAST { dd a }}␤»
GLRelia rakudo-moar 36ea47: OUTPUT«5===SORRY!5=== Error while compiling /tmp/pa7mVm87C1␤Preceding context expects a term, but found infix = instead␤at /tmp/pa7mVm87C1:1␤------> 3 }; for ^9 {FIRST {my \a = f([1])}; \a =7⏏5 f(a); LAST { dd a }}␤»
masak 'night, #perl6
laben m: sub f(@p) { dd @p; [(0, @p).flat Z+ (@p, 0).flat] }; for ^9 {FIRST {my \a = f([1])}; a = f(a); LAST { dd a }}
camelia rakudo-moar cf3b24: OUTPUT«5===SORRY!5=== Error while compiling /tmp/tRQUsVSmbI␤Preceding context expects a term, but found infix = instead␤at /tmp/tRQUsVSmbI:1␤------> 3] }; for ^9 {FIRST {my \a = f([1])}; a =7⏏5 f(a); LAST { dd a }}␤»
GLRelia rakudo-moar 36ea47: OUTPUT«5===SORRY!5=== Error while compiling /tmp/AXmIapnvJA␤Preceding context expects a term, but found infix = instead␤at /tmp/AXmIapnvJA:1␤------> 3] }; for ^9 {FIRST {my \a = f([1])}; a =7⏏5 f(a); LAST { dd a }}␤»
20:57 mvuets left
laben .tell FROGGS the LAST phaser doesnt seem to fire when the last execution is finished with next, see "for 1 {LAST {say "last"};next}" 21:00
yoleaux laben: I'll pass your message to FROGGS.
laben with that, JSON::RPC could work fine on glr 21:01
laben is going to bed right now
have a good rest, #perl6
colomon good night!
21:01 laben left 21:06 frobisher joined 21:07 colomon left 21:08 dha left 21:14 rarara_ joined
rarara_ what is the difference between 'do for' and 'map' ? 21:15
21:16 salyavin joined, frobisher left
timotimo in glr, no longer anything IIUC 21:17
21:17 salyavin is now known as dha, lizmat joined
rarara_ m: @r = do for ^10 {$_ + 1; }; @g = map {$_ + 1; } ^10; say @r.perl, @g.perl; 21:18
camelia rakudo-moar cf3b24: OUTPUT«5===SORRY!5=== Error while compiling /tmp/PoEbqn8LRQ␤Variable '@r' is not declared␤at /tmp/PoEbqn8LRQ:1␤------> 3<BOL>7⏏5@r = do for ^10 {$_ + 1; }; @g = map {$_␤»
GLRelia rakudo-moar 36ea47: OUTPUT«5===SORRY!5=== Error while compiling /tmp/zElWz1eWgy␤Variable '@r' is not declared␤at /tmp/zElWz1eWgy:1␤------> 3<BOL>7⏏5@r = do for ^10 {$_ + 1; }; @g = map {$_␤»
rarara_ m: my @r = do for ^10 {$_ + 1; }; my @g = map {$_ + 1; } ^10; say @r.perl, @g.perl;
camelia rakudo-moar cf3b24: OUTPUT«5===SORRY!5=== Error while compiling /tmp/EWDQaE8xk5␤Missing comma after block argument to map␤at /tmp/EWDQaE8xk5:1␤------> 030 {$_ + 1; }; my @g = map {$_ + 1; } ^107⏏5; say @r.perl, @g.perl;␤»
GLRelia rakudo-moar 36ea47: OUTPUT«5===SORRY!5=== Error while compiling /tmp/byx3NDKXr1␤Missing comma after block argument to map␤at /tmp/byx3NDKXr1:1␤------> 030 {$_ + 1; }; my @g = map {$_ + 1; } ^107⏏5; say @r.perl, @g.perl;␤»
21:18 xfix left
rarara_ m: my @r = do for ^10 {$_ + 1; }; my @g = map ({$_ + 1; }, ^10); say @r.perl, @g.perl; 21:19
camelia rakudo-moar cf3b24: OUTPUT«Cannot call map(Parcel); none of these signatures match:␤ (&code, *@values is rw)␤ (Whatever, \a)␤ (&code, Whatever)␤ in block <unit> at /tmp/nAtlpERxZk:1␤␤»
GLRelia rakudo-moar 36ea47: OUTPUT«Cannot call map(List); none of these signatures match:␤ (&code, *@values is rw)␤ (Whatever, \a)␤ (&code, Whatever)␤ in block <unit> at /tmp/UEsiNcVDR6:1␤␤»
rarara_ giving up, map seems evil
21:20 lizmat_ joined, BenGoldberg joined
rarara_ m: my @r = do for ^10 {$_ + 1; }; my @g = map ({$_ + 1; }, @r); say @r.perl, @g.perl; 21:22
camelia rakudo-moar cf3b24: OUTPUT«Cannot call map(Parcel); none of these signatures match:␤ (&code, *@values is rw)␤ (Whatever, \a)␤ (&code, Whatever)␤ in block <unit> at /tmp/WoSfdBceNo:1␤␤»
GLRelia rakudo-moar 36ea47: OUTPUT«Cannot call map(List); none of these signatures match:␤ (&code, *@values is rw)␤ (Whatever, \a)␤ (&code, Whatever)␤ in block <unit> at /tmp/kSRmuYr5F5:1␤␤»
rarara_ what am i doing wrong? sorry if it is trivial
21:23 lizmat left, rurban left
dha m: my @r = do for ^10 {$_ + 1; }; my @g = @r.map: {$_ +1;}say @r.perl;say @g.perl; 21:24
camelia rakudo-moar cf3b24: OUTPUT«5===SORRY!5=== Error while compiling /tmp/l41BMsDzau␤Strange text after block (missing semicolon or comma?)␤at /tmp/l41BMsDzau:1␤------> 3^10 {$_ + 1; }; my @g = @r.map: {$_ +1;}7⏏5say @r.perl;say @g.perl;␤ expecting any of:␤ …»
GLRelia rakudo-moar 36ea47: OUTPUT«5===SORRY!5=== Error while compiling /tmp/PrKHG38Nuo␤Strange text after block (missing semicolon or comma?)␤at /tmp/PrKHG38Nuo:1␤------> 3^10 {$_ + 1; }; my @g = @r.map: {$_ +1;}7⏏5say @r.perl;say @g.perl;␤ expecting any of:␤ …»
rarara_ my @r = do for ^3 {$_ + 1; }; my @g = map ({$_ + 1; }, 0,1,2,3); say @r.perl, @g.perl;
dha hm. 21:25
rarara_ m: my @r = do for ^3 {$_ + 1; }; my @g = map ({$_ + 1; }, 0,1,2,3); say @r.perl, @g.perl;
camelia rakudo-moar cf3b24: OUTPUT«Cannot call map(Parcel); none of these signatures match:␤ (&code, *@values is rw)␤ (Whatever, \a)␤ (&code, Whatever)␤ in block <unit> at /tmp/jmBf8YaedU:1␤␤»
GLRelia rakudo-moar 36ea47: OUTPUT«Cannot call map(List); none of these signatures match:␤ (&code, *@values is rw)␤ (Whatever, \a)␤ (&code, Whatever)␤ in block <unit> at /tmp/T5SjlPq0_q:1␤␤»
dha m: my @r = do for ^10 {$_ + 1; }; my @g = @r.map: {$_ +1;};say @r.perl;say @g.perl;
camelia rakudo-moar cf3b24: OUTPUT«[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]<>␤[2, 3, 4, 5, 6, 7, 8, 9, 10, 11]<>␤»
GLRelia rakudo-moar 36ea47: OUTPUT«[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]␤[2, 3, 4, 5, 6, 7, 8, 9, 10, 11]␤»
dha ooh.
not sure why the non-method version isn't working, though.
m: my @r = do for ^10 {$_ + 1; }; my @g = map {$_ + 1; }, @r; say @r.perl, @g.perl; 21:27
camelia rakudo-moar cf3b24: OUTPUT«[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]<>[2, 3, 4, 5, 6, 7, 8, 9, 10, 11]<>␤»
GLRelia rakudo-moar 36ea47: OUTPUT«[1, 2, 3, 4, 5, 6, 7, 8, 9, 10][2, 3, 4, 5, 6, 7, 8, 9, 10, 11]␤»
dha Seems it doesn't like the parens...
I know P6 tends towards not using parens, but I didn't think in a case like this it would forbid them.
rarara_ :)
dha So... that seems to be the issue. As to *why*... No idea. :-) 21:28
hm. the error indicates the parens are creating a Parcel or a List. that might be a clue. *shrug* 21:29
timotimo [ptc]: ^5
21:30 lizmat_ is now known as lizmat
jdv79 after a bit of triage the glr makes sense. or at least it becomes more mechanical and somewhat sensical. 21:30
oh, i meant more sense and more sensical.
TAP has a bit of LTA output. i forgot to s/done/done-testing/ and i get "... All x subtests passed" in red and then later on the lack of plan complaint 21:36
21:36 mvuets`` joined
jdv79 maybe it should be in yellow or appended with "but..." 21:36
21:37 mvuets` left, mvuets joined 21:40 mvuets`` left, woolfy joined
woolfy Greetings from Montpellier. 21:42
_itz_ is yapc in .fr this year? 21:43
woolfy FR is in between SW and ES 21:45
21:45 telex left
woolfy SW -> car -> FR -> ES -> yapc (~~3 days) 21:45
_itz_ ah 21:46
21:46 telex joined
rarara_ woolfy that region of france is nice 21:47
_itz_ noticed Swiss Army Knife chocolate bars at the Airport - just the thing for scaring security with 21:48
21:48 mvuets left
_itz_ err frightening even 21:49
woolfy has image in mind of itz eating a chocolate swiss army knife and airport security is not being very much impressed... so itz each 17,4 chocolate swiss arme knifes at the same time, and suddenly everybody is in awe and calls for Guinnes Book of World Records... 21:56
21:57 frobisher joined, dha left
timotimo woolfy: what's that hotel called again that you'll be in tonight? 21:58
21:58 frobisher is now known as dha 21:59 dha left 22:15 rindolf left 22:20 itz left 22:26 itz joined, rindolf joined 22:32 larion left 22:33 RabidGravy left 22:36 rarara_ left 22:39 larion joined 22:43 llfourn joined 22:47 llfourn left 23:00 lizmat left 23:01 lizmat joined 23:04 vendethiel left, woolfy left
thou Can anyone verify this buggy behavior? gist.github.com/softmoth/edc6b60c1b787e0f9b33 With --workers=1 it works fine, but with --workers=2 there are a variety of problems, including getting moarvm to segfault. I am on OS X. 23:07
I had problems on a linux machine, too.
23:13 yqt left
ugexe on osx there is a bug. s/await $promise/$promise.result; await $promise/ might fix it 23:15
you are trying to run shell commands (rm_rf, likely chdir from that) from within processes with no shell? 23:20
23:21 tinyblak joined
thou ugexe: I'm not sure what you mean with that question. The threads spawned by start { ... } don't have a shell? 23:22
I'm not sure why that would matter; do the threads share a common $*CWD?
ugexe run(<<rm -rf $top>>); my $proc = run(@cmd, :!err) 23:23
23:23 aborazmeh joined, aborazmeh left, aborazmeh joined
thou ^ That one shouldn't matter in this case, since it is in the create-junk case, and the problems are showing up when junk already exists. 23:26
23:26 tinyblak left
thou I changed await @threads to for @threads -> $promise { $promise.result; dd await $promise; } 23:29
still got a segfault
ugexe are you trying to use run inside separate threads? 23:31
thou yes 23:32
ideally I'm trying to do 5 parallel workers that each do: remove a dir if it exists, and then call system('svn') 23:33
ugexe that doesnt work yea. something about passing handle back from a thread? i dont remember for sure anymore. you need Proc::Async
thou okay 23:34
ugexe but that doesnt help you with Shell::Command
thou so that's a known issue, don't mix Proc and start {...}
ugexe yeah. same reason :merge segfaults it i believe 23:35
thou well, okay 23:36
that's not important, I can easily just use rm -rf
I just wanted to report the bug if it's useful
i.e., hopefully not allow moar to segfault
dalek p: a6139b0 | hoelzro++ | tools/build/MOAR_REVISION:
Bump MOAR_REVISION

For close_stdin on exit fix
23:40
kudo/nom: 5ba44fc | hoelzro++ | tools/build/NQP_REVISION:
Bump NQP_REVISION

For close_stdin fix in MoarVM
23:41
hoelzro o/ from Chicago
yoleaux 11:37Z <nine> hoelzro: You added many-processes-no-close-stdin.t to spectest data. Is it supposed to pass? It passes neither on nom nor on glr here.
hoelzro nine: I just forgot to bump (NQP&MOAR)_REVISION; I just took care of that
thou ugexe: on github.com/ugexe/zef/blob/master/l...m6#L45-L46 , since there's a separate supply for stdout and stderr, using .act() won't prevent a race between the two supplies on $!stdmerge, I think 23:43
23:44 dayangkun joined 23:45 Sgeo joined 23:47 itz left
ugexe because the underlying process is still available to tap directly 23:48
23:50 aborazmeh left 23:52 aborazmeh joined, aborazmeh left, aborazmeh joined 23:55 virtualsue left
thou ugexe: it seems the process could emit on stdout, say, and while that .act({}) closure is running, the process could continue and emit on stderr, and then both closures could be trying to update $!stdmerge simultaneously. 23:55
unlikely, I guess 23:56
but possible
ugexe if you dont want them merged in the positions they actually occured, then you just tap $!stdout and $stderr. one maintains order. one does not. 23:59