»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, std:, or /msg camelia p6: ... | irclog: irc.perl6.org | UTF-8 is our friend!
Set by masak on 12 May 2015.
00:03 ilbelkyr left, ilbelkyr joined 00:07 sufrostico joined 00:11 mattprelude left 00:13 sufrostico left 00:15 sufrostico joined 00:21 leont left 00:24 cognominal_ left 00:28 Hor|zon joined, alpha123 left 00:32 antiatom left, Hor|zon left 00:33 antiatom joined 00:44 n0tjack joined 00:49 sufrostico left, n0tjack left 00:53 sufrostico joined, TEttinger left 01:02 stephen144 left 01:07 thou left 01:09 aborazmeh joined, aborazmeh left, aborazmeh joined 01:25 laouji joined 01:28 chrstphrhrt joined 01:29 Hor|zon joined 01:30 thou joined
lucs If I've declared sub foo ($x, $y) { ... }; my @a = 1, 2; my @b = 3, 4; I can invoke foo(|@a), but what about foo( what-goes-here? ) for @a, @b; ? 01:30
01:31 paulmr left
ShimmerFairy m: my @a = 1,2,3,4; for @a -> $L, $R { say $L + $R } 01:31
camelia rakudo-moar ec2cad: OUTPUT«3␤7␤»
lucs ShimmerFairy: Hmm... Good answer, but to a different question :) 01:32
BenGoldberg m: sub foo ( $x, $y ) { say "[$x $y]" }; my @a = 1, 2; my @b = 3, 4; foo(|@$_) for @a, @b;
camelia rakudo-moar ec2cad: OUTPUT«[1 2]␤[3 4]␤»
ShimmerFairy lucs: I just picked an infix operator because it matched your 'two arguments' question :)
m: sub foo ( $x, $y ) { say "[$x $y]" }; my @a = 1, 2; my @b = 3, 4; foo(|$_) for @a, @b; # the @ isn't necessary here 01:33
camelia rakudo-moar ec2cad: OUTPUT«[1 2]␤[3 4]␤»
BenGoldberg m: sub foo ( $x, $y ) { say "[$x $y]" }; my @a = 1, 2; my @b = 3, 4; for @a, @b -> @c { foo(|@c) };
camelia rakudo-moar ec2cad: OUTPUT«[1 2]␤[3 4]␤»
Zoffix From what I understand, lucs wants $x to contain values from @a and $y to contain values from @b, for each iteration
01:33 Hor|zon left
lucs BenGoldberg: I think that's what I'm after, yes. 01:34
ShimmerFairy: I believe I tried with !$_ , but it failed.
ShimmerFairy m: sub foo ( $x, $y ) { say "[$x $y]" }; my @a = 1, 2; my @b = 3, 4; for @a Z @b -> ($a, $b) { foo($a, $b) };
camelia rakudo-moar ec2cad: OUTPUT«[1 3]␤[2 4]␤»
01:34 tokuhirom joined
ShimmerFairy lucs: if you want to mix the two lists, you want Z as shown there :) 01:34
m: say (1,2,3,4) Z (5,6,7,8)
camelia rakudo-moar ec2cad: OUTPUT«((1 5) (2 6) (3 7) (4 8))␤»
lucs ShimmerFairy: More excellent answers :) 01:35
BenGoldberg m: sub foo ( $x, $y ) { say "[$x $y]" }; my @a = 1..4; my @b = 5..10; for @a Z @b -> @c { foo(|@c) };
camelia rakudo-moar ec2cad: OUTPUT«[1 5]␤[2 6]␤[3 7]␤[4 8]␤»
BenGoldberg m: sub foo ( $x, $y ) { say "[$x $y]" }; my @a = 1..4; my @b = 5..10; for @a Z @b &foo;
camelia rakudo-moar ec2cad: OUTPUT«5===SORRY!5=== Error while compiling /tmp/fu18OJo9bq␤Missing block␤at /tmp/fu18OJo9bq:1␤------> 3 = 1..4; my @b = 5..10; for @a Z @b &foo7⏏5;␤ expecting any of:␤ block or pointy block␤»
ShimmerFairy BenGoldberg: I forgot/didn't know that Z creates a list of two-elem lists now, so that's why I didn't dare try @c :) 01:36
01:36 llfourn joined
lucs Hmm... Both foo(|@$_) for @a, @b; and foo(|$_) for @a, @b; fail here with Too few positionals passed; expected 2 arguments but got 1 01:37
BenGoldberg m: sub foo { say "[$^x $^y $^z]" }; my @a = 1..4; my @b = 5..10; my @c = 11..15; for @a Z @b x @c -> @d { foo(|@d) };
camelia rakudo-moar ec2cad: OUTPUT«Too few positionals passed; expected 3 arguments but got 2␤ in sub foo at /tmp/B5Hi3Twhy8:1␤ in block <unit> at /tmp/B5Hi3Twhy8:1␤␤»
BenGoldberg m: sub foo { say "[$^x $^y $^z]" }; my @a = 1..4; my @b = 5..10; my @c = 11..15; for @a Z @b Z @c -> @d { foo(|@d) };
camelia rakudo-moar ec2cad: OUTPUT«[1 5 11]␤[2 6 12]␤[3 7 13]␤[4 8 14]␤»
ShimmerFairy lucs: do you have a snippet or paste to share?
lucs ShimmerFairy: Sure. Hang on...
BenGoldberg m: sub foo { say "[$^x $^y $^z]" }; my @a = 1..4; my @b = 5..10; my @c = 11..15; for [Z] @a, @b, @c -> @d { foo(|@d) };
camelia rakudo-moar ec2cad: OUTPUT«[1 5 11]␤[2 6 12]␤[3 7 13]␤[4 8 14]␤»
01:39 coetry joined, tokuhirom left
lucs ShimmerFairy: Unsurprisingly, paring my code down makes it work as you guys expect. I'll try to figure out what is actually different when I get the error. 01:41
01:45 ilbot3 left 01:46 ilbot3 joined
Zoffix Oh! Totally forgot about Z! It's my favourite operator 'cause it's got my initial in it :P 01:48
01:49 chrstphrhrt left
pink_mist wait, your name is /actually/ Zoffix? 0_o 01:49
Zoffix lmao
pink_mist :P
Zoffix Sure, why not! :)
01:50 altered joined, altered left
Zoffix m: sub prefix:<Zoffix>($a) { say $a } Zoffix 'is great!' 01:50
camelia rakudo-moar ec2cad: OUTPUT«5===SORRY!5=== Error while compiling /tmp/aF_7OyESFN␤Bogus statement␤at /tmp/aF_7OyESFN:1␤------> 3sub prefix:<Zoffix>($a) { say $a } Zo7⏏5ffix 'is great!'␤ expecting any of:␤ whitespace␤»
Zoffix "bogus statement"... I've just been dissed by Perl 6 :P
lucs Hmm... When I invoke as ... for @a, @b; it works correctly, but if as only ... for @a; it looks like that array gets flattened (and that's when I get the error). 01:51
This flattening... surprises me.
Is that how it's supposed to work? 01:52
TimToady that's the "one-arg rule"
ShimmerFairy lucs: ah, you need to write as $@a there
m: my @a = 1,2,3,4; for @a { say $_ } 01:53
camelia rakudo-moar ec2cad: OUTPUT«1␤2␤3␤4␤»
ShimmerFairy m: my @a = 1,2,3,4; for $@a { say $_ }
camelia rakudo-moar ec2cad: OUTPUT«[1 2 3 4]␤»
TimToady the argument to 'for' is going to iterate whatever its top-level list is, whether it's the syntactic comma list, or the list from an array
coetry I'm getting this error when I try to read a p6doc: ===SORRY!=== 01:54
Cannot invoke this object (REPR: Uninstantiable)
TimToady but the $ protects the latter
lucs TimToady: Yeah, it makes sense, I just needed to be aware of it -- I need to read more docs :-)
lucs wonders if the "one-arg rule" applies elsewhere, like foo(@a) vs foo(@a, @b) 01:56
BenGoldberg m: sub prefix:<Zoffix>($a) { say $a }; Zoffix 'is great!'
camelia rakudo-moar ec2cad: OUTPUT«is great!␤»
BenGoldberg Zoffix, You left out a ;
Zoffix Ah 01:57
BenGoldberg++
02:00 BenGoldberg left 02:02 thowe joined, Aww left 02:06 adu left 02:07 colomon left 02:11 sufrostico left 02:14 vendethiel joined
TimToady m: say SETTING:: === SETTING:: 02:16
camelia rakudo-moar ec2cad: OUTPUT«False␤»
TimToady m: say UNIT:: === UNIT:: 02:17
camelia rakudo-moar ec2cad: OUTPUT«False␤»
TimToady m: say OUTER:: === OUTER::
camelia rakudo-moar ec2cad: OUTPUT«False␤»
TimToady m: say MY:: === MY::
camelia rakudo-moar ec2cad: OUTPUT«False␤»
TimToady something gone rather wrong with scope identities here
02:18 BenGoldberg joined
TimToady m: say UNIT::OUTER:: === SETTING:: 02:20
camelia rakudo-moar ec2cad: OUTPUT«False␤»
02:21 kid51 left 02:24 noganex_ joined 02:25 Aww joined 02:27 noganex left
dalek c: b7c0c2d | (Zoffix Znet)++ | / (3 files):
Better display of header on mobiles
02:27
TimToady masak: the main compunit's OUTER is supposed to be SETTING, and an EVAL's OUTER is supposed to be the surrounding code (the same as CALLER, since it's an inline-call, more or less) 02:29
02:30 Hor|zon joined
TimToady I'd argue that EVAL($prog, :lang<Perl6>) should have an OUTER the same as SETTING though 02:31
02:31 Dom__ joined, chenryn_ joined
Dom__ dos: 02:32
TimToady as for carrying in pragmas, those should come in with the current cursor, so %*PRAGMAS needs to get incorporated into the current cursor just as %*LANG and $*ACTIONS need to be incorporated
lizmat: ^^^ for you too
Dom__ How do u incorporated Lang and actions without $? 02:34
02:35 Hor|zon left 02:36 weihan joined, chenryn_ left, kaare_ left
TimToady they would be accessed via a method-call lookup instead 02:36
Dom__ Not Lang and action 2all
02:37 chenryn_ joined, [Sno] left
Dom__ Via a method-call lookup is not the same energy as an old style 02:39
Method telepathic is better 02:40
Zoffix suspects a bot or troll
Dom__ Just if the suspects win in a lotto as in a moment is just sandals 02:44
Zoffix Robot /quit 02:45
TimToady spells too well for someone completely blotto
geekosaur senses from afar a whiff of Markov Chaney...
02:48 Dom__ left
dalek c: 4a633f1 | (Zoffix Znet)++ | template/search_template.js:
Fix search results rendered partially off-screen on mobile (Closes #150)
02:48
02:49 weihan left 02:50 weihan joined
TimToady heh 03:05
m: EVAL 'run("ls")', :context(CORE::)
camelia rakudo-moar ec2cad: OUTPUT«Perlito␤bin␤evalbot␤evalbot.log␤log␤mbox␤niecza␤nqp-js␤p1␤p2␤p6eval-token␤perl5␤rakudo-inst␤rakudo-inst-1␤rakudo-inst-2␤rakudo-star-2015.02␤rakudo-star-2015.03␤rakudo-star-2015.09␤rakudo-star-2015.09.tar.gz␤rakudo1␤r…»
Zoffix :D 03:06
03:08 colomon joined 03:21 vendethiel left 03:31 Hor|zon joined 03:35 Hor|zon left 03:42 coetry left 03:51 geekosaur left 03:52 geekosaur joined 04:04 chenryn_ left 04:08 hohoho_ joined 04:11 skids left 04:13 thou left, Hueho joined
Hueho hello 04:14
thowe hi
yoleaux 9 Oct 2015 15:27Z <psch> thowe: you can access it with .value for one: my $PoP = :name => <arg>; say $PoP.value 04:15
Hueho got a question, didn't find anything on my own
trying to create a toy function to play with type constraints 04:16
rakudo is giving me weird looks
grondilu do you have a one-liner showing the issue? 04:17
Hueho wait a sec
p6: sub infix:«|>»(Array:D @l, Array:D @r) returns Array:D { return []; }; say ([1,2,3] |> [4,5,6]).elems; 04:19
camelia rakudo-moar ec2cad: OUTPUT«Type check failed in binding @l; expected Positional[Array] but got Array␤ in sub infix:<|>> at /tmp/tmpfile:1␤ in block <unit> at /tmp/tmpfile:1␤␤»
grondilu m: sub f(@a, @b) {...}; f([], []); 04:20
camelia rakudo-moar ec2cad: OUTPUT«Stub code executed␤ in sub f at /tmp/lrtND3vUsM:1␤ in block <unit> at /tmp/lrtND3vUsM:1␤␤Actually thrown at:␤ in block <unit> at /tmp/lrtND3vUsM:1␤␤»
04:20 thou joined
grondilu m: sub infix:<£>(@a, @b) {}; say ([] £ []); 04:20
camelia rakudo-moar ec2cad: OUTPUT«Nil␤»
grondilu m: sub infix:<£>(@a, @b) { [] }; say ([] £ []); 04:21
camelia rakudo-moar ec2cad: OUTPUT«[]␤»
grondilu m: sub infix:<£>(@a, @b) returns Array { [] }; say ([] £ []);
camelia rakudo-moar ec2cad: OUTPUT«[]␤»
grondilu m: sub infix:<£>(Array @a, Array @b) returns Array { [] }; say ([] £ []);
camelia rakudo-moar ec2cad: OUTPUT«Type check failed in binding @a; expected Positional[Array] but got Array␤ in sub infix:<£> at /tmp/H0kM0Cxp7_:1␤ in block <unit> at /tmp/H0kM0Cxp7_:1␤␤»
grondilu m: sub infix:<£>(Array @a, @b) returns Array { [] }; say ([] £ []); 04:22
camelia rakudo-moar ec2cad: OUTPUT«Type check failed in binding @a; expected Positional[Array] but got Array␤ in sub infix:<£> at /tmp/kXMW60XPl4:1␤ in block <unit> at /tmp/kXMW60XPl4:1␤␤»
grondilu m: sub infix:<£>(Array $a, @b) returns Array { [] }; say ([] £ []);
camelia rakudo-moar ec2cad: OUTPUT«[]␤»
grondilu m: sub infix:<£>(Array @a, @b) returns Array { [] }; say (1, 2 £ []);
camelia rakudo-moar ec2cad: OUTPUT«Type check failed in binding @a; expected Positional[Array] but got Int␤ in sub infix:<£> at /tmp/61C8oT9BIg:1␤ in block <unit> at /tmp/61C8oT9BIg:1␤␤»
grondilu m: sub infix:<£>(Array @a, @b) returns Array { [] }; say ((1, 2) £ []);
camelia rakudo-moar ec2cad: OUTPUT«Type check failed in binding @a; expected Positional[Array] but got List␤ in sub infix:<£> at /tmp/BwP2htkWuM:1␤ in block <unit> at /tmp/BwP2htkWuM:1␤␤»
Hueho hmmm 04:23
04:23 Axord left
grondilu I'm not sure what's going on here 04:23
m: sub f(Array @) {}; say f []
TimToady why are you declaring @a to be an array of array?
camelia rakudo-moar ec2cad: OUTPUT«Type check failed in binding <anon>; expected Positional[Array] but got Array␤ in sub f at /tmp/OW0kTWBzMK:1␤ in block <unit> at /tmp/OW0kTWBzMK:1␤␤»
grondilu oh 04:24
of course
Hueho yeah, i think i messed up contexts
grondilu m: sub f(Array @) {}; say f [[]]
camelia rakudo-moar ec2cad: OUTPUT«Type check failed in binding <anon>; expected Positional[Array] but got Array␤ in sub f at /tmp/4wn3pU16vN:1␤ in block <unit> at /tmp/4wn3pU16vN:1␤␤»
TimToady one-arg rule strikes again 04:25
[[]] is the same as []
grondilu m: sub f(Array @) {}; say f [[1], [2]]
camelia rakudo-moar ec2cad: OUTPUT«Type check failed in binding <anon>; expected Positional[Array] but got Array␤ in sub f at /tmp/NXNO0oI9bg:1␤ in block <unit> at /tmp/NXNO0oI9bg:1␤␤»
TimToady it's still not nominally typed 04:26
just don't declare types on @ parameters for noow
grondilu ok
Hueho i see
TimToady m: sub f(Array @) {}; say f Array[Array].new([1], [2]) 04:27
camelia rakudo-moar ec2cad: OUTPUT«Nil␤»
TimToady m: sub f(Array @a) { @a.perl.say }; say f Array[Array].new([1], [2])
camelia rakudo-moar ec2cad: OUTPUT«Array[Array].new($[1], $[2])␤True␤»
TimToady if you nominally type the param, you have to nominally type the argument
you can't just have strong typing on the receiving end 04:28
Hueho alright, thank you for the help ;D 04:30
ugh, wrong smiley, anyway, thanks
04:32 Hor|zon joined 04:36 Hor|zon left 04:37 chenryn_ joined 04:41 adu joined 04:45 coetry joined 04:47 oahong joined 05:02 gonz_ joined
hohoho_ rt.perl.org/Ticket/Display.html?id...30795287b1 05:08
05:08 hohoho_ is now known as tokuhirom_h
tokuhirom_h i got a strange error around ::() 05:09
05:13 chenryn_ left 05:16 ugexe left, ugexe joined 05:20 [Sno] joined
ugexe why wouldn't that fail? there is no C::M to load 05:20
oh its at the bottom 05:21
05:21 tokuhirom joined 05:23 n0tjack joined 05:25 thou left, tokuhirom left 05:27 Hueho left 05:30 ienh left, pochi_ left 05:31 labster_ left
tokuhirom_h yep 05:32
05:32 coetry left, pochi joined, Ben_Goldberg joined, Aww left, labster joined, lue joined, ShimmerFairy left 05:33 Hor|zon joined, lue is now known as ShimmerFairy, n0tjack left, BenGoldberg left, TingPing left, TingPing joined 05:34 TEttinger joined
ShimmerFairy TimToady: is the plan to eventually not need strong typing on the argument? I've heard desire for it, and it seems reasonable to me, but I don't actually know if it's ever meant to happen. 05:35
05:37 Hor|zon left 05:39 Aww joined 05:43 agentzh_ left, aborazmeh left, agentzh joined 05:49 z8 left, slobo joined 05:50 chenryn_ joined
ugexe if you assign it to something does it work? 05:52
my $foo = ::($pkg).new(); say "DONE";
slobo should i be worried that panda takes 4 seconds to just print usage on my system? (fresh moarvm) 05:53
--stagestats shows it's all in the parsing
05:56 BenGoldberg_ joined 05:59 Ben_Goldberg left 06:03 quester joined 06:05 z8 joined 06:06 slobo_ joined 06:07 slobo left, slobo_ is now known as slobo
dalek kudo/nom: b8caf98 | ShimmerFairy++ | src/Perl6/Grammar.nqp:
Run add_categorical for constants needing to change the grammar.

This means lines like constant &infix:<A> := &infix:<B> work now, since 'A' is now added to the grammar as a new infix operator (in the given example).
06:11
ast: 06359ee | ShimmerFairy++ | S04-declarations/constant.t:
Add tests for using 'constant' to alias operators.
06:18 z8 left 06:19 BenGoldberg_ left 06:20 weihan left
quester Is anyone having a problem where every few panda installs, the test will fail immediately with "Could not find file 'Build.pm' for module Build.pm"? The odd thing is that if you retry the panda install, it works. 06:20
... or is it just me? 06:21
06:22 Ven joined
grondilu I'm about to rebootstrap panda so we'll see 06:25
(btw I suspect rebostrapping panda in order to upgrade a module is overkill) 06:26
grondilu needs to read panda's help 06:27
tokuhirom_h ugexe: ah! it works! amazing.. 06:32
06:34 Hor|zon joined 06:38 Hor|zon left 06:40 chenryn_ left, chenryn_ joined 06:43 chenryn_ left, chenryn_ joined 06:46 Ven left 06:58 weihan joined 06:59 laouji_ joined, Ven joined 07:03 telex left 07:04 telex joined 07:05 adu left, rurban joined 07:09 thou joined 07:13 bjz left, thou left 07:14 bjz joined 07:18 aswec joined
FROGGS gööd morning 07:18
07:19 aswec left 07:27 laouji_ left
Ven o/ FROGGS 07:29
07:33 bjz left 07:34 quester left 07:35 Hor|zon joined 07:37 bjz joined 07:39 Hor|zon left 07:43 pmurias joined
dalek p: f005e1b | (Pawel Murias)++ | src/vm/js/ (2 files):
[js] Stub ordbaseat.
07:43
p: f84b507 | (Pawel Murias)++ | src/vm/js/ (2 files):
[js] Stub nqp::bindcurhllsym.
p: ceed534 | (Pawel Murias)++ | src/vm/js/QAST/Compiler.nqp:
[js] Make the for op return null as it's result
p: 24373d6 | (Pawel Murias)++ | src/vm/js/ (2 files):
[js] Only run the MAIN sub in the compilation unit that was directly invoked
07:50 weihan left
dalek p: 31de8c2 | (Pawel Murias)++ | src/vm/js/ (2 files):
[js] Implement nqp::bindcomp and nqp:getcomp
07:54
p: d2df69d | (Pawel Murias)++ | t/nqp/59-nqpop.t:
Add tests for nqp::bindcomp and nqp::getcomp.
07:59 spider-mario joined 08:10 domidumont joined 08:11 awwaiid left 08:12 awwaiid joined 08:13 shmibs left 08:14 darutoko joined 08:15 domidumont left
dalek p: 6caba0c | (Tokuhiro Matsuno)++ | src/vm/moar/ (2 files):
fixed typo
08:17
p: 5c15ba1 | niner++ | src/vm/moar/ (2 files):
Merge pull request #247 from tokuhirom/typo

fixed typo
FROGGS m: say ::T.HOW.^name
camelia rakudo-moar b8caf9: OUTPUT«===SORRY!===␤Could not locate compile-time value for symbol T␤»
08:17 brrt joined 08:18 domidumont joined
dalek k-simple: 86a0a00 | (Slobodan Mišković)++ | Build.pm:
Fix comment in Build.pm
08:18
k-simple: b2cee0b | niner++ | Build.pm:
Merge pull request #15 from slobo/patch-1

Fix comment in Build.pm
08:18 RabidGravy joined 08:19 shmibs joined
brrt good * #perl6 08:20
nine Good morning, all 08:21
FROGGS morning
jnthn: I have problem fixing 'role Foo[::T] { has T $.bar }' and 'role Foo[::T] { has T:D $.bar }'... it would be way easier to do the istype check at composition time... 08:26
jnthn: which in turn would kinda imply 'is required' for Type:D 08:27
or at least would have a similar effect
jnthn: I'd be in favour of that fwiw 08:28
(and lizmat too)
lizmat I would ? 08:29
yes, I would ! :-)
FROGGS *g*
lizmat and good *, #perl6!
pmurias morning
08:36 Hor|zon joined 08:40 Hor|zon left
FROGGS o/ 08:41
brrt FROGGS: you mean the istype of T? 08:43
FROGGS brrt: I'm talking about the istype check of the default value of the attribute to its type constraint 08:44
brrt aha
08:45 FROGGS[mobile] joined, llfourn left
Ven FROGGS: that'd probably be good news for me as well :) 08:46
08:49 Peter_R joined 08:52 tokuhirom joined 08:57 tokuhirom left, thou joined, leont joined
nine Good morning, lizmat! 09:00
lizmat nine o/
nine lizmat: I may have an idea for #126312
synbot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=126312
lizmat do tell ? 09:01
09:01 thou left
nine lizmat: could be as simple as $!reified := list.reification-target; in method iterator's Iterator class' BUILD. Compiling... 09:02
lizmat will that also handle the pull-one case ? 09:03
I thought about that this morning...
the pull-one case will need to be able to create a container as well
09:03 Ven left 09:04 CurtisOvidPoe joined
nine lizmat: right, that one's probably still open 09:04
CurtisOvidPoe Are native types fully working now? If I run this, it’s alway slightly slower with “int” instead of “Int”: my int @foo = 1..2000;my $now = now; for @foo {for @foo {}}; say now - $now;
lizmat I did speed up the native array iterator yesterday, are you on HEAD ? 09:05
nine lizmat: also the code expects $!reified to be a VMArray. So it needs a bit more refactoring. 09:06
lizmat nine: yeah, it's hairier than I thought :-)
CurtisOvidPoe lizmat: I just upgraded via rakudobrew. Trying to see where the average user would be. 09:07
Also, I can’t build panda on os x. I assume there’s something strange about my setup and now about rakudobrew? gist.github.com/Ovid/8d3085d466110d78aeda 09:09
lizmat CurtisOvidPoe: confirmed the slowness of int array versus Int array 09:10
I suspect some boxing / unboxing going on somewhere in the int case, that isn't there in the Int case 09:11
:-(
I need to be afk for a few hours, will look further when back
CurtisOvidPoe Cheers. 09:12
Anyone recognize that error building Panda? I’m really limited in Perl 6 without Panda :) 09:16
El_Che In java, you can define generics like this: Map<Integer, String> set = new HashMap<Integer, String>; (stay with me :) ). I don't see much about types for arrays in hashes in the perl6 doc I have see so far, but something like this seems to work: my List %sync_dirs = ... 09:17
the List type aplies then to the value
is this intended to work like this, setting a type for the value, not the key (Str?)? 09:18
btyler CurtisOvidPoe: well, that's a funny one -- looks like P6's File::Find tests are being run with p5
I'll rebuild panda and see if it happens for me too
CurtisOvidPoe btyler: yeah, that’s what I was thinking. Not sure why. 09:19
El_Che I see the previous rakudo build did not support List to type of a Hash (it was Pair I think)
09:20 ShimmerFairy left, ShimmerFairy joined
btyler CurtisOvidPoe: hm, I just built panda HEAD without seeing that. give me a sec to set up a rakudobrew install 09:20
CurtisOvidPoe Cheers! 09:21
dalek osystem: e7149d1 | moznion++ | META.list:
Add Router::Boost

And remove a no longer needed module
09:25
osystem: 3263bb5 | RabidGravy++ | META.list:
Merge pull request #69 from moznion/router-boost

Add Router::Boost
CurtisOvidPoe btyler: I need to run away, so if you can replicate, could you shoot an email or something? [email@hidden.address] 09:27
btyler CurtisOvidPoe: I just finished rebuilding, no repro :(
CurtisOvidPoe Damn. Thanks, though!
Gotta run. Later, folks!
09:27 CurtisOvidPoe left 09:29 Psyche^ joined 09:33 Psyche^_ left 09:34 tokuhirom joined 09:35 eliasr joined 09:37 Hor|zon joined 09:38 tokuhirom left
moritz do we have some nice primitive of library function for running up to $N workers in processes, consuming from a common queue? 09:39
grondilu vaguely remembers about :batch
09:41 Hor|zon left
brrt no, i think that was discussed last year or so, and it was decided it would be modulespace 09:43
nine lizmat: I wonder why we try so hard to share the iterator method between List and Array. We have special purpose iterators eveywhere in core.
09:44 cognominal joined 09:46 weihan joined 09:47 rindolf joined 09:48 rurban left 09:49 weihan left 09:50 weihan joined, araujo_ joined, tokuhirom_h left 09:51 araujo_ left, rurban joined
nine .tell lizmat I have a fix :) 09:52
yoleaux nine: I'll pass your message to lizmat.
09:53 araujo left 09:55 laouji_ joined 09:57 laouji left 10:01 llfourn joined
nine .tell lizmat It's easy once you just give Array its own iterator method. I still have to fix a regression in t/spec/S32-array/delete.t. Deleting the last elements in an array no longer shortens the array. But have to go now. 10:01
yoleaux nine: I'll pass your message to lizmat.
10:04 rurban left
dalek ecs: f8fc48f | (Stéphane Payrard)++ | S12-objects.pod:
problems with grammar attributes and a solution

One could say one cannot _declare_ grammar attributes but rakudo barks only when we use them. For more context:
  rt.perl.org/Ticket/Display.html?id=122253
  irclog.perlgeek.de/perl6/2015-03-11#i_10262331
  github.com/rakudo/rakudo/commit/85...8d318d13c8
10:04
10:06 Ven joined 10:12 Ven left
dalek p: 377ffa6 | (Pawel Murias)++ | src/vm/js/QAST/Compiler.nqp:
[js] Implement the 'pass' anchor.
10:19
p: 86a89c0 | (Pawel Murias)++ | src/vm/js/nqp-runtime/sixmodel.js:
[js] Delegate nqp::existskey when using 'is associative_delegate'
p: 6c3bedf | (Pawel Murias)++ | t/nqp/80-matches.t:
Test using nqp::existskey on matches
10:19 Ven joined
p: 06c7dc6 | (Pawel Murias)++ | src/vm/js/ (3 files):
[js] Implement nqp::deletekey.
p: 55e1ce7 | (Pawel Murias)++ | t/nqp/ (2 files):
Test nqp::deletekey. Also test it works with associative_delegate.
p: dc51783 | (Pawel Murias)++ | src/vm/js/nqp-runtime/core.js:
[js] coding standard compliance fix - found by make js-lint
10:20
10:21 ^elyse^ joined 10:23 CurtisOvidPoe joined
CurtisOvidPoe p6: say 1/(.1 + .2 - .3) 10:24
camelia rakudo-moar b8caf9: OUTPUT«Attempt to divide 10 by zero using div␤ in block <unit> at /tmp/tmpfile:1␤␤Actually thrown at:␤ in block <unit> at /tmp/tmpfile:1␤␤»
CurtisOvidPoe I am not attempting to divide 10 by zero :)
Whereas:
p6: say 1/0
camelia rakudo-moar b8caf9: OUTPUT«Attempt to divide 1 by zero using div␤ in block <unit> at /tmp/tmpfile:1␤␤Actually thrown at:␤ in block <unit> at /tmp/tmpfile:1␤␤»
grondilu pmurias: how will this js backend work exactly? It will take Perl 6 code and generate javascript, right?
CurtisOvidPoe That error message looks better.
pmurias grondilu: the backend itself takes QAST and generates javascript or javascript+sourcemap 10:27
grondilu ok
looking forward to that
pmurias grondilu: currently it takes QAST compiled from NQP, I plan to get to the point normal Perl 6 starts working this month 10:28
btyler CurtisOvidPoe: does your environment happen to have a PROVE_COMMAND that points to p5? 10:31
github.com/tadzik/panda/blob/maste...da.pm#L139
or rather, which runs prove without specifying the p6 executable
brrt yay, i've got locking spectests :-( 10:34
10:38 Hor|zon joined
[Tux] test 50000 36.741 36.629 10:40
test-t 50000 37.187 37.075
10:41 ^elyse^ left 10:42 Hor|zon left 10:45 thou joined, Ven left 10:50 thou left 10:56 n0tjack joined, diana_olhovik_ joined 11:00 chenryn_ left, n0tjack left
masak good afternoon, #perl6 11:01
11:04 chenryn_ joined
llfourn m:package Foo { package Bar { our sub foo {} }}; package Foo::Bar { our sub bar {} }; say Foo::Bar::<&foo>.package; say Foo::Bar::<&bar>.package; 11:07
m: package Foo { package Bar { our sub foo {} }}; package Foo::Bar { our sub bar {} }; say Foo::Bar::<&foo>.package; say Foo::Bar::<&bar>.package;
camelia rakudo-moar b8caf9: OUTPUT«(Bar)␤(Foo::Bar)␤»
llfourn Is that working as intended?
shouldn't they both be in Foo::Bar given they are both accessed in that way
dalek : fdd12fd | (Alex Balhatchet)++ | docs/Perl6/Perl5/Differences.pod:
[docs] fix typo in Perl6::Perl5::Differences

In a previous commit variable name was changed from $lol to $aoa to more accurately describe what was going on, but one instance of $lol remained a bit further down in the text.
11:08
: e3ca2fd | RabidGravy++ | docs/Perl6/Perl5/Differences.pod:
Merge pull request #10 from kaoru/master

  [docs] fix typo in Perl6::Perl5::Differences
masak I had a thought today: synthetic Qtree construction alleviates one of the big problems of macros: being able to think any kind of thought inside of the macro. we still don't have a correspondingly good solution on the mainline side. 11:09
11:09 leedo_ left
masak (that is, we've addressed "One: " in strangelyconsistent.org/blog/macros...long-break with synthetic Qtrees. there's still no solution in sight for "Two: ") 11:09
11:09 Aww left, diana_olhovik_ left
masak sure, `is parsed` could help a little there. but even it would feel heavy-handed for many things. 11:10
11:12 RabidGravy left
ShimmerFairy masak: may I suggest my long-ago thought that macros could/should be the actions of slangs? :) 11:14
11:17 diana_olhovik_ joined
cognominal or. seen from another perspective, macro would be to slangs what role are to classes? 11:19
llfourn I would expect that that is what would happen. If you add a macro you would get Perl6::Grammar+{Macro} and the same for Actions... 11:20
11:22 leedo joined
cognominal github.com/perl6/specs/blame/maste...s.pod#L371 Is this still relevant? I thought there was changes recently even if I have not tracked the specifics? 11:24
11:25 diana_olhovik_ left 11:27 Ven joined 11:28 leedo left, ^elyse^ joined, chenryn_ left, leedo joined
dalek p: 04f5f22 | (Pawel Murias)++ | src/vm/js/nqp-runtime/core.js:
[js] Fix test failure.
11:29
p: 0c8193d | (Pawel Murias)++ | src/vm/js/ (2 files):
[js] Implement nqp::getobjsc/nqp::scgetobjidx
p: 9a8dda4 | (Pawel Murias)++ | t/serialization/01-basic.t:
Test nqp::getobjsc/nqp::scgetobjidx.
masak ShimmerFairy: slangs would help here. though exactly how that would look is not clear enough to me.
ShimmerFairy masak: hmm... perhaps as a starting point, something looking like my token foobar { ... }; macro xyzzy is parsed(&foobar) { ... }; 11:30
masak right, that's using `is parsed`. that solution is pretty clear to me. 11:31
what I'm wondering right now is something like "how can a macro user send something exotic (i.e. not an EXPR) to a macro without the macro having to use `is parsed`?"
like, let's say you wanted to send it a trait. 11:32
you can't just `my_macro(is foo(...))`, because that's not syntactically allowed
ShimmerFairy would macro infix:<xyzzy> be going in the right direction ? (replace infix: with your favorite grammar category) 11:33
11:33 Ven left
masak and, hm. quasis. 11:33
you can't really `my_macro(quasi { is foo(...) })` either, because that's not syntactically allowed either
nine .tell lizmat what fails is: my @a = 1, 2; @a[0]:delete; say @a; @a[1]:delete; say @a; # will give you [(Any)] because during iteration in say @a, the deleted position is assigned a container. @a[0]:delete; @a[1]:delete; will correctly shorten the array. Unfortunately I don't see a good way around that :/
yoleaux nine: I'll pass your message to lizmat.
masak but that really feels like being on the right track...
11:33 Ven joined
masak the roundabout way would be to form the Qtree with a quasi, and then *dissect* it by indexing into it, picking out the trait we like 11:34
so you might do something silly like `quasi { sub fn is foo(...) { ... } }` just to have a well-formed quasi, and then dig into the resulting Qtree and find the trait
*but*
11:35 tokuhirom joined
masak what if we use the *same* grammatical category mechanism we will eventually get for unquotes, to tell *quasis* what grammatical category they are? 11:35
11:35 weihan left
masak man, I hope that idea works. that'd be great. 11:35
nine masak: am I correct that quasi { is foo(...) } cannot work because without the thing in front of the "is" the parser cannot even know what "is" means?
11:35 Ven left
masak nine: right, the parser is essentially in the wrong "mode" to find a trait there. 11:35
11:36 jasanj joined
masak nine: it's like I went up to you and asked "time it is, sir?" 11:36
nine masak: so what's missing is a way to tell it what mode it should be in?
jnthn FROGGS: Only around for a few moments, but: T:D needs to report itself as a generic type, and then the MOP object should implement instantiate_generic, which returns a new smiley type based on the resolution of T. And then the role instantiation thing that already exists will see the attribute is generic, and the attribute will do instantiate_generic on the type, and all will be well.
yoleaux 9 Oct 2015 21:11Z <lizmat> jnthn: my Int @a; @a[5] = 42; $_ = 666 for @a fails because it gets an IterationBuffer as target, not an ArrayReificationTarget
9 Oct 2015 21:31Z <lizmat> jnthn: I put the descriptor issue on RT #126312 , I think it needs deeper thoughts than I currently can muster
synbot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=126312
masak yes.
ShimmerFairy masak: the main use I see for macros for myself would be to easily generate a bunch of classes/functions/etc., e.g. macro add_class($name) { quasi { class {{{$name}}} { ... } } }; add_class($_) for @semantic_types
11:36 Ven joined
masak ShimmerFairy: yep. 11:36
ShimmerFairy: writing up an issue about that right now. that's why I'm having these ideas :>
ShimmerFairy masak: certainly would make it less annoying to make a bunch of otherwise-identical semantic block types in Pod :> 11:37
11:37 jasanj left, kid51 joined 11:38 jasanj joined
jnthn moritz: (up to $N workers in processes) do you mean threads, or are you actually wanting to juggle processes? 11:39
11:39 Hor|zon joined, tokuhirom left
jnthn moritz: If $N threads you can just create a ThreadPoolScheduler with the number of workers you want and then schedule work on it 11:40
jasanj p6: my $a = [1,2] 11:42
camelia ( no output )
11:43 Hor|zon left 11:44 Ven left
dalek p: dfd7301 | (Pawel Murias)++ | src/vm/js/nqp-runtime/io.js:
[js] Make nqp::getstdin/nqp::getstdout/nqp::getstderr be true when boolified
11:45
p: 82c2eff | (Pawel Murias)++ | t/nqp/19-file-ops.t:
Test that nqp::getstd{err,out,in} is true when tested with nqp::istrue.
masak here is the new 007 issue, for anyone interested in quasi unquotes: github.com/masak/007/issues/30
jnthn .tell CurtisOvidPoe Native types are working (aside from some issues around sized/unsinged in certain contexts - but "int" is fine). But you generally need to use them consistently, and for now write in the "C" dialect of Perl 6. :) Your `for` example there is doomed to cause a lot of GC because $_ isn't native, so we box 40000 native ints into Ints for it. 11:46
yoleaux jnthn: I'll pass your message to CurtisOvidPoe.
masak as far as I'm concerned, this is *next up* to explore on the (implicit) 007 roadmap
11:51 ^elyse^ left
jnthn afk for most of the day 11:52
11:58 Ven joined
psch hi #perl6 o/ 12:04
12:04 Aww joined
psch interestingly there's something in @stmts in compile_all_the_stmts on jvm that doesn't stringify with .dump 12:07
ShimmerFairy Nothing's better than figuring out how you're causing the optimizer to eat up all your memory :P
psch that is, in the "implicitly returning a sub" case...
ShimmerFairy: not even fixing it? 12:08
ShimmerFairy psch: having it fixed would be better :)
My best guess is that the fix I added earlier (for 'constant') didn't account for installing the lexical symbol like routine_def does, and the optimizer just eats up everything when a lookup of a texas variant (as a 'constant' locally) should nqp::die() 12:11
12:11 ab6tract joined
ab6tract o/ #perl6 12:11
ShimmerFairy (and yes, I did manage to trace the code all the way up to right before the nqp::die, so somehow it's specifically that statement that's eating RAM) 12:12
12:13 jbotz joined
jbotz p6: (<a b>, 'c') 12:14
camelia ( no output )
jbotz p6: (<a b>, 'c').say
camelia rakudo-moar b8caf9: OUTPUT«((a b) c)␤»
jbotz p6: (<a b>, 'c').flat.say
camelia rakudo-moar b8caf9: OUTPUT«(a b c)␤»
ab6tract .tell CurtisOvidPoe what jnthn++ didn't mention is that the performance of 'while' loops with native ints is crazy fast. much faster than perl 5 in this case. now, obviously nested while loops that only increment native integers are completely contrived and useless, I took it as a serious implication of the kinds of speedups we may be able to achieve under the hood, once the dust has fully settled on the implementation and performanc
yoleaux ab6tract: I'll pass your message to CurtisOvidPoe.
jbotz p6: my @a = (<a b>, 'c'); say @.flat 12:15
camelia rakudo-moar b8caf9: OUTPUT«5===SORRY!5=== Error while compiling /tmp/tmpfile␤Variable @.flat used where no 'self' is available␤at /tmp/tmpfile:1␤------> 3my @a = (<a b>, 'c'); say @.flat7⏏5<EOL>␤ expecting any of:␤ argument list␤ term␤»
jbotz p6: my @a = (<a b>, 'c'); say @a.flat
camelia rakudo-moar b8caf9: OUTPUT«((a b) c)␤»
jbotz ???
psch m: say (<a b>, 'c').perl; say (my @ = (<a b>, 'c').perl
camelia rakudo-moar b8caf9: OUTPUT«5===SORRY!5=== Error while compiling /tmp/_elNWc_pSw␤Unable to parse expression in parenthesized expression; couldn't find final ')' ␤at /tmp/_elNWc_pSw:1␤------> 3'c').perl; say (my @ = (<a b>, 'c').perl7⏏5<EOL>␤ expecting any of:␤ …»
psch m: say (<a b>, 'c').perl; say (my @ = (<a b>, 'c')).perl
camelia rakudo-moar b8caf9: OUTPUT«(("a", "b"), "c")␤[("a", "b"), "c"]␤» 12:16
psch p6: my @a = (<a b>, 'c'); say @a[0].flat
camelia rakudo-moar b8caf9: OUTPUT«(a b)␤»
jbotz p6: my @a = (<a b>, 'c'); say @a[0] 12:17
camelia rakudo-moar b8caf9: OUTPUT«(a b)␤»
12:17 jasanj left, jasanj joined
dalek p: e7971ec | (Pawel Murias)++ | src/vm/js/QAST/Compiler.nqp:
[js] Noop CONTROL {...} until we implement it
12:18
p: a4cec83 | (Pawel Murias)++ | tools/build/ (2 files):
[js] The bootstrapped nqp-js runs hello world with turned off setting.

make js-bootstrap node nqp-bootstrapped.js --target=js --setting=NULL -e 'nqp::say("Hello World")' | node
psch ShimmerFairy: iiuc, the failed lookup wants to nqp::die(), but that call eats all the ram?
ShimmerFairy psch: as far as I can tell, yes. I've removed all the debug says now, but as I recall I put one right above the offending die and it printed. 12:19
ab6tract pmurias++
12:20 ^elyse^ joined
ShimmerFairy psch: this one: github.com/rakudo/rakudo/blob/nom/...r.nqp#L176 12:20
jbotz why does "(<a b>, 'c').flat" flatten, but "@a = (<a b>, 'c'); @a.flat" does not? 12:21
psch m: [<a b>, 'c'].flat.say 12:22
camelia rakudo-moar b8caf9: OUTPUT«((a b) c)␤»
psch is still too fuzzy on flattening rules to confidently explain it... 12:24
12:24 blackcat joined
blackcat . 12:25
12:25 blackcat is now known as Guest30724
jbotz m: [<a b>, 'c'].list.flat.say 12:25
camelia rakudo-moar b8caf9: OUTPUT«((a b) c)␤»
jbotz that should have worked...
ShimmerFairy m: [<a b>, 'c'].List.flat.say
camelia rakudo-moar b8caf9: OUTPUT«(a b c)␤»
jbotz oh!
ok, thanks. 12:26
12:26 Guest30724 is now known as loren
ShimmerFairy .List converts to the List type, .list is just "something that's list-like" (admittedly it's a subtle distinction) 12:26
psch ShimmerFairy: if a say directly before the die() worked i have absolutely no idea
12:26 CurtisOvidPoe left
psch ShimmerFairy: if anything i'd guess there's a CATCH somewhere higher that tries to do something, but... 12:26
12:30 ShimmerFairy left
jbotz If you can't use .flat to flatten an Array, shouldn't it give an Exception when you try? 12:30
12:33 thou joined
psch m: my @a = <a b>; .say for @a.flat 12:34
camelia rakudo-moar b8caf9: OUTPUT«a␤b␤»
psch ehh
that doesn't prove anything vOv
sorry, too wrapped up in this backend stuff :)
12:37 ShimmerFairy joined, thou left
ShimmerFairy psch: well, the function that dies is being called from within a try { } with no CATCH, if that matters any. 12:38
psch ShimmerFairy: i was thinking more along the lines of die() calls in the Optimizer being wrapped with X::AdHoc or something like that, but i don't think that happens
ShimmerFairy nah, it's still NQP land afaik 12:39
psch ShimmerFairy: a try without CATCH should work as if it had a CATCH { default { } }
12:40 Hor|zon joined
psch m: try say "u" + 5 12:40
camelia ( no output )
psch m: { say "u" + 5; CATCH { default { } } }
camelia ( no output )
ShimmerFairy I think I'll leave the issue alone for a while, I'm lost on what the problem is. Almost seems like my SynonymHOW idea would be easier than trying to make 'constant' do what I want :P
12:41 cygx joined
cygx o/ 12:41
m: say elems 'a'..'zz'; say 'aa' ~~ 'a'..'zz'; say elems 'a'..'aa'
camelia rakudo-moar b8caf9: OUTPUT«702␤True␤1␤»
cygx bug or feature?
psch m: say eager 'a'..'czzzz' 12:43
camelia rakudo-moar b8caf9: OUTPUT«(a b c)␤»
moritz cygx: feature
12:43 jmc joined 12:44 Hor|zon left, ab6tract left
lizmat .botsnack 12:46
yoleaux 09:52Z <nine> lizmat: I have a fix :)
synbot6 om nom nom
yoleaux :D
10:01Z <nine> lizmat: It's easy once you just give Array its own iterator method. I still have to fix a regression in t/spec/S32-array/delete.t. Deleting the last elements in an array no longer shortens the array. But have to go now.
11:33Z <nine> lizmat: what fails is: my @a = 1, 2; @a[0]:delete; say @a; @a[1]:delete; say @a; # will give you [(Any)] because during iteration in say @a, the deleted position is assigned a container. @a[0]:delete; @a[1]:delete; will correctly shorten the array. Unfortunately I don't see a good way around that :/
lizmat .tell nine I also wondered why Array didn't have it's own iterator 12:47
yoleaux lizmat: I'll pass your message to nine.
cygx moritz: ok
('a'..'zz')[^42] is is...
*it is
nine jbotz: an Array is flat by definition. The sublety you're struggling with is that Array itemizes its members. And itemization defeats flattening.
yoleaux 12:47Z <lizmat> nine: I also wondered why Array didn't have it's own iterator
moritz m: say ('a'..'Z').elems 12:48
camelia rakudo-moar b8caf9: OUTPUT«0␤»
lizmat moritz: that's not a lot
moritz if you define string ranges the naive way, that is .succ until you hit the end point, then 'a'..'Z' produces an endless list
however you do it, you disappoint somebody. 12:49
12:50 n0tjack joined
TimToady the main thing is don't use .. when you mean ... 12:51
m: say ('a'...'Z').elems 12:52
camelia rakudo-moar b8caf9: OUTPUT«8␤»
TimToady eh?
that's bust
12:53 ilogger2 joined, ChanServ sets mode: +v ilogger2
nine brilliant :) 12:53
TimToady the main thing is don't use ... when you mean .. :)
learned too much Unicode, forgot my ASCII 12:54
masak heh, 'a'...'Z'. that one is perfect for some ofuscated Perl 6 contest. 12:57
12:57 Erendis42 joined
Erendis42 hello 12:57
Zoffix ? 12:58
TimToady m: say 'aa' ... 'ZZ'
camelia rakudo-moar b8caf9: OUTPUT«(aa a` a_ a^ a] a\ a[ aZ `a `` `_ `^ `] `\ `[ `Z _a _` __ _^ _] _\ _[ _Z ^a ^` ^_ ^^ ^] ^\ ^[ ^Z ]a ]` ]_ ]^ ]] ]\ ][ ]Z \a \` \_ \^ \] \\ \[ \Z [a [` [_ [^ [] [\ [[ [Z Za Z` Z_ Z^ Z] Z\ Z[ ZZ)␤»
Erendis42 hello again, Mr. Wall 12:59
TimToady howdy doody
Erendis42 :D
twitter.com/zoffix/status/652584420373757952 i was wondering how i could print the values of this infinite array 13:00
and, i thought someone in here could help me with that
of course if you don't have time for chit-chat, i totally understand
TimToady m: my @fib = 1, 1, *+* ... *; say @fib
camelia rakudo-moar b8caf9: OUTPUT«[...]␤»
TimToady m: my @fib = 1, 1, *+* ... *; say eager @fib
camelia rakudo-moar b8caf9: OUTPUT«Memory allocation failed; could not allocate 162064 bytes␤» 13:01
TimToady those don't work :)
Erendis42 thank you
TimToady m: my @fib = 1, 1, *+* ... *; .say for @fib
13:01 xfix joined
camelia rakudo-moar b8caf9: OUTPUT«(timeout)1␤1␤2␤3␤5␤8␤13␤21␤34␤55␤89␤144␤233␤377␤610␤987␤1597␤2584␤4181␤6765␤10946␤17711␤28657␤46368␤75025␤121393␤196418␤317811␤514229␤832040␤1346269␤2178309␤3524578␤5702887␤9227465␤14930…» 13:01
lizmat m: say 111111111 * 111111111
camelia rakudo-moar b8caf9: OUTPUT«12345678987654321␤»
lizmat cool :-) 13:02
Erendis42 what kond of sorcery is this O_O
TimToady m: my @fib = 1, 1, *+* ... *; say @fib[^20]
camelia rakudo-moar b8caf9: OUTPUT«(1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765)␤»
Erendis42 *i
omg thanks a lot
i love you
13:02 Erendis42 left 13:03 n0tjack joined
dalek oblem_solver_tutorial: eccf022 | lichtkind++ | / (2 files):
polish paragraph 1
13:03
lizmat TimToady: re EVAL :lang<Perl6> feels a bit too magical to me... 13:07
also, I can see one wanting to EVAL a piece of Perl 6 code inside a Inlined::Perl5 piece of code
so, my feeling is, if people want to EVAL from the "start", they should just specify :context(SETTING::) 13:08
so, be specific about it
TimToady yeah, should always default to current language braid, since that's otherwise hard to specify
13:08 perlcat joined 13:09 n0tjack left
lizmat my point was, that even *if* you specify :lang<Perl6>, you might want to EVAL it from the current scope anyway 13:09
TimToady I was agreeing
lizmat okidoki.. so I'll ditch my patch :-) 13:10
13:10 n0tjack joined
TimToady m: say EVAL "abc\ndef", :lang($~Quote) 13:12
camelia rakudo-moar b8caf9: OUTPUT«This type cannot unbox to a native string␤ in block <unit> at /tmp/obF1cGx4il:1␤␤»
13:12 st_iron joined
TimToady breakfast & 13:12
st_iron good afternoon
lizmat m: EVAL "42", :context(SETTING::)
camelia ( no output )
lizmat m: say EVAL "42", :context(SETTING::)
camelia rakudo-moar b8caf9: OUTPUT«42␤»
lizmat m: say EVAL "my $a = 42", :context(SETTING::) 13:13
camelia rakudo-moar b8caf9: OUTPUT«5===SORRY!5=== Error while compiling /tmp/kBJGQLBD7h␤Variable '$a' is not declared␤at /tmp/kBJGQLBD7h:1␤------> 3say EVAL "my 7⏏5$a = 42", :context(SETTING::)␤»
TimToady you'll note my little security break earlier...
lizmat m: say EVAL q/my $a = 42/, :context(SETTING::)
camelia rakudo-moar b8caf9: OUTPUT«42␤»
ShimmerFairy should EVAL have something for --target=ast behavior? I faintly recall wanting that once or twice when fiddling with stuff. 13:14
13:14 diana_olhovik_ joined 13:15 n0tjack left
lizmat m: say ~($~Quote) # that's not going to be a valid lang 13:17
camelia rakudo-moar b8caf9: OUTPUT«Slang<140494176286984>␤»
st_iron bon appetite TimToady 13:18
13:18 n0tjack joined 13:23 n0tjack left, Eddward joined
lizmat m: sub prefix:<Zoffix>($a) { say $a }; Zoffix 'is great!' # no bogus statement, just a missing ; 13:25
camelia rakudo-moar b8caf9: OUTPUT«is great!␤»
lizmat ah. BenGoldberg already told Zoffix :-) 13:26
13:28 RabidGravy joined
lizmat m: say (OUTER::).WHICH; say (OUTER::).WHICH # TimToady reason why === currently doesn't work on PseudoStashes 13:28
camelia rakudo-moar b8caf9: OUTPUT«PseudoStash|64492936␤PseudoStash|64493104␤» 13:29
dalek kudo/nom: 025ec1c | lizmat++ | src/core/control.pm:
Coerce :lang to Str for better error message
13:31
lizmat $ 6 'say EVAL "abc\ndef", :lang($~Quote)'
No compiler available for language 'Slang<4528491608>'
slightly better error message 13:32
13:39 Woodi joined 13:41 Hor|zon joined
lizmat I guess PseudoStash.WHICH somehow would need to have a representarion of $!ctx in it 13:41
m: use nqp; say nqp::getattr(MY::,PseudoStash,q/$!ctx/).^name # and here stops my investigation :-) 13:45
camelia rakudo-moar b8caf9: OUTPUT«BOOTContext␤»
13:45 n0tjack joined 13:46 Hor|zon left 13:47 aborazmeh joined, aborazmeh left, aborazmeh joined
FROGGS[mobile] you dont need 'use nqp' in here for some reason 13:47
m: nqp::say "right?" 13:48
camelia rakudo-moar b8caf9: OUTPUT«right?␤»
13:48 ^elyse^ joined
ShimmerFairy FROGGS[mobile]: "for some reason" is probably not having camelia spout a useless beginning of the warning just because you forgot to use nqp; :) 13:49
13:50 n0tjack left
ShimmerFairy (to be honest, I find the warning entirely too verbose, esp. if you decided to separate one file into multiple and forgot to put in the new 'use nqp's. Isn't it easy for me to search 'nqp::' in the offending file already?) 13:50
dalek p: bc5fb0b | (Pawel Murias)++ | src/vm/js/ (2 files):
[js] Implement nqp::abs_I.
13:51
p: 9a354e1 | (Pawel Murias)++ | t/nqp/60-bigint.t:
Test nqp::abs_I.
13:52 espadrine joined
TimToady Hi, you're up on the screen at PPW 13:53
btyler waves
FROGGS[mobile] \o/
have fun at the PPW /o/
13:53 rurban joined
colomon \o 13:53
m: my $m = (76=>0.03125,66=>0.03125,5=>300.03125).Mix; say $m.roll(3) 13:54
camelia rakudo-moar 025ec1: OUTPUT«(5 5 5)␤»
colomon huh
m: my $m = (76=>0.03125,66=>0.03125,5=>300.03125).Mix; say $m.roll(3).perl 13:55
camelia rakudo-moar 025ec1: OUTPUT«(5, 5, 5).Seq␤»
colomon m: my $m = (76=>0.03125,66=>0.03125,5=>300.03125).Mix; say $m.roll
camelia rakudo-moar 025ec1: OUTPUT«(5)␤»
FROGGS[mobile] dang, now all the guys know we have a bug :/
colomon roll isn’t supposed to return a Seq if there’s just one result, is it? 13:56
dalek p: c9eb559 | (Pawel Murias)++ | src/vm/js/ (2 files):
[js] Stub nqp::flushfh.
13:57
p: b935a35 | (Pawel Murias)++ | src/vm/js/ (2 files):
[js] Implement nqp::getpid
jbotz nine: got it! Array is a flat list of scalars, even if each of those scalars contains some kind of compound object.
Eddward m: say 11 - -1 ** 4553535345364535345634543534
camelia rakudo-moar 025ec1: OUTPUT«12␤»
13:57 pmurias_ joined
FROGGS[mobile] I think the pow issue is already ticketed 13:58
colomon “A .roll call without arguments returns an element of the invocant list instead of a one-element sequence.”
Eddward ok. Checking if it was just me.
colomon m: say <a b c>.roll
camelia rakudo-moar 025ec1: OUTPUT«a␤»
13:58 pmurias_ left
colomon m: say <a=>1 b=>4 c=.3>.Mix.roll 13:58
camelia rakudo-moar 025ec1: OUTPUT«5===SORRY!5=== Error while compiling /tmp/lZjW0NBWm3␤Two terms in a row␤at /tmp/lZjW0NBWm3:1␤------> 3say <a=>7⏏051 b=>4 c=.3>.Mix.roll␤ expecting any of:␤ infix␤ infix stopper␤ postfix␤ statement e…»
13:59 pmurias joined
colomon m: say (a=>1, b=>4, c=.3).Mix.roll 13:59
camelia rakudo-moar 025ec1: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Nkfvfj_dNS␤Bogus term␤at /tmp/Nkfvfj_dNS:1␤------> 3say (a=>1,7⏏5 b=>4, c=.3).Mix.roll␤ expecting any of:␤ infix␤ infix stopper␤ prefix␤ statement end␤ …»
colomon m: say (a=>1, b=>4, c=>3).Mix.roll
camelia rakudo-moar 025ec1: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Mfd5QYTShz␤Bogus term␤at /tmp/Mfd5QYTShz:1␤------> 3say (a=>1,7⏏5 b=>4, c=>3).Mix.roll␤ expecting any of:␤ infix␤ infix stopper␤ prefix␤ statement end␤ …»
ShimmerFairy colomon: stop italicizing your code :)
colomon stop what?
FROGGS[mobile] yeah, I see that too
colomon I don’t. :(
pmurias any way to test nqp::getpid()? it returning the same value when called multiple times is the only thing I can think of testing about it
FROGGS[mobile] there is some control char in there 14:00
colomon FROGGS[mobile]: sigh. idiot IRC client
colomon is going after the Mix.roll bug
14:01 travis-ci joined
travis-ci NQP build failed. Pawel Murias '[js] Implement nqp::getpid' 14:01
travis-ci.org/perl6/nqp/builds/84663366 github.com/perl6/nqp/compare/9a354...35a3565d66
14:01 travis-ci left, araujo joined 14:02 araujo left
dalek p: 09bb50b | (Pawel Murias)++ | t/nqp/60-bigint.t:
Fix test count.
14:03
FROGGS[mobile] pmurias: there are things like getpid that are not quite testable 14:04
lizmat colomon: on it
btyler trying to fix up JSON::Jansson after GLR; I noticed that negative subscripting on arrays isn't working -- it always fetches index 0. Do I need to implement a method in my pretend array (that consumes positional) in order for $array-like-thing[*-1] to work?
colomon lizmat: want to work on nom or roast? 14:05
lizmat nom...
FROGGS[mobile] unless you spawn a subprocess and kill it via its pid or so
moritz FROGGS[mobile]: you can test that it returns a positive number :-)
colomon lizmat: okay, I’ll make sure we’ve got tests for it
FROGGS[mobile] however, that might not be portable
lizmat colomon++
14:07 travis-ci joined
travis-ci NQP build passed. Pawel Murias 'Fix test count.' 14:07
travis-ci.org/perl6/nqp/builds/84663843 github.com/perl6/nqp/compare/b935a...bb50b33724
14:07 travis-ci left 14:09 muraiki joined
colomon m: say Array ~~ Iterable 14:10
camelia rakudo-moar 025ec1: OUTPUT«True␤»
14:11 diana_olhovik_ left
muraiki m: say Iterable ~~ Array 14:11
camelia rakudo-moar 025ec1: OUTPUT«False␤»
14:12 FROGGS_ joined 14:13 aborazmeh left 14:16 [Tux] joined
colomon lizmat: huh. looking at the specs, they seem to explicitly say that .roll should return an element, while .roll(1) should return a Seq (or other Iterable) with one element in it. 14:17
lizmat yeah, working on that 14:19
:-)
14:21 thou joined 14:25 ^elyse^ left 14:26 coetry joined, thou left
colomon lizmat: okay, I’ll make sure to test that too. ;) 14:26
lizmat colomon++ 14:27
14:27 [Tux] is now known as __Tux 14:28 muraiki left
colomon m: say <a b c>.roll(0) 14:30
camelia rakudo-moar 025ec1: OUTPUT«()␤»
dalek ast: a8bdca3 | colomon++ | S02-types/mix.t:
Check for proper return type of Mix.roll.
14:34
14:34 rurban left 14:35 __Tux left 14:36 [Tux] joined 14:37 jferrero joined
leont When trying to use panda, I get «Unhandled exception: Missing or wrong version of dependency 'gen/moar/stage2/QRegex.nqp' (from 'src/Perl6/Pod.nqp')» 14:37
Does that mean my installed is broken? :-/
14:37 coetry left
leont s/ed// 14:37
colomon leont: sounds like maybe you need a make install for Rakudo? 14:40
leont It seems that using panda inside the rakudo source directory breaks everything 14:41
Doing exactly that same in a different terminal works fine 14:42
14:42 Hor|zon joined
timotimo perhaps it does -Ilib or something? 14:42
leont Probably 14:44
dalek kudo/nom: ebde5e8 | (Stefan Seifert)++ | / (4 files):
infix:<Z> should extend list ending in *

Fixes part of RT #122230
14:46
synbot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=122230
dalek kudo/nom: e07f31b | (Stefan Seifert)++ | src/core/metaops.pm:
METAOP_ZIP should extend lists ending in *

Fixes rest of RT #122230
synbot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=122230
ast: b6ba447 | (Stefan Seifert)++ | S03-metaops/zip.t:
RT #122230 fixed in Rakudo
synbot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=122230
14:46 Hor|zon left
dalek kudo/nom: 80a3d07 | FROGGS++ | / (11 files):
add DefiniteHOW to make Type:D and Type:U first class types

That mean that we can now smartmatch against these types, and also that the smiley does not just vanish, when these types are used stand-alone. Parameters and signatures still need to be adjusted to make use of this new DefiniteHow.
14:47
kudo/nom: 338807c | FROGGS++ | src/Perl6/Actions.nqp:
skip generics when doing attr-value/attr-type check

Eventually we should postpone the type check until we know what the gereric will end up being. See: irclog.perlgeek.de/perl6/2015-10-10#i_11352729
14:48 cygx joined
FROGGS_ we can improve that code in nom also 14:48
lizmat FROGGS_: what code ? 14:50
I mean, this was in nom already, no ? 14:51
14:51 szabgab joined
szabgab hi there 14:52
cygx results of the benchmarks comparing p5 and p6 I posted 2 days ago: gist.github.com/cygx/cbb08f0c01a0c...esults-txt
14:52 ^elyse^ joined
lizmat szabgab o/ 14:52
cygx so the performance gap hasn't magically gone away since May :(
FROGGS_ lizmat: no 14:53
szabgab is there anyone here who could and want to make a little tweak to modules.perl6.org/ to include the Travis-CI status icon for each module? 14:54
if the module uses Travis-CI...
lizmat szabgab: PR's welcome :-)
szabgab I know, but it needs some kind of github token magic 14:55
I was hoping for someone who already has all that set up
lizmat is not that person :-(
FROGGS_ szabgab: can you add that feature request as an issue? 14:56
szabgab is this there repo: github.com/perl6/modules.perl6.org/ ?
FROGGS_ our userbase seems to grow day by days atm and maybe somebody new wants to pick that task 14:57
szabgab: aye
szabgab for the new userbase: perl6maven.com/find-perl6-modules-w...-travis-ci 14:58
:)
moritz szabgab: you should even have push access the modules.perl6.org repo 15:00
btyler now I regret not paying attention during ab5tract_'s whatever star talk -- $array-thing[*-1] fails (accesses index 0) but $array-thing[$array-thing - 1] works -- fetches the last index
szabgab FROGGS_: btw I think this is for you, right? travis-ci.org/szabgab/uri/builds/84668050
btyler do I need to specify some special whatever behavior for this class so it knows how to deal with $array-thing[*-1]? 15:01
szabgab moritz: the problem with Perl 6 is that it is like a rabbit hole. I just wanted to upgrade it on the Perl 6 Maven server and now I am already patching the modules site... 15:02
moritz btyler: you need to supply an .elems method, iirc
btyler: and AT-POS, of course
(and ASSIGN-POS, as an optimization)
btyler moritz: got that (and AT-POS); the Numeric coercer is just { self.elems } 15:03
fixing up github.com/kanatohodets/p6-json-ja...Jansson.pm
the failing test is github.com/kanatohodets/p6-json-ja...sson.t#L25 15:04
moritz m: class MyArray { has @.x handles <AT-POS EXISTS-POS ASSIGN-POS elems>; }; my $x = MyArray.new; $x[0] = 'a'; $x[1] = 'b'; say $x[*-1]
camelia rakudo-moar 025ec1: OUTPUT«a␤»
moritz btyler: maybe EXISTS-POS also :-)
btyler rats
cygx who is responsible for invoking Callables passed to .[]?
btyler thanks
moritz m: class MyArray { has @.x handles <AT-POS ASSIGN-POS elems>; }; my $x = MyArray.new; $x[0] = 'a'; $x[1] = 'b'; say $x[*-1]
camelia rakudo-moar 025ec1: OUTPUT«a␤»
moritz seems to work without EXISTS-POS too 15:05
FROGGS_ szabgab: what do you mean, for me?
moritz cygx: sub postcircumfix
szabgab FROGGS_: forget about it. my bad
moritz cygx: sub postcircumfix:<[ ]>, that is
FROGGS_ okay, done :o)
moritz szabgab: re rabbit hole, I'm aware of that :/ 15:06
15:06 Eddward left
cygx moritz: thanks 15:06
nine I didn't care that much, because there's no tests for it, but what exactly is (1, *, 3) Z <a b c> supposed to do?
dalek p: 1a1caa4 | (Pawel Murias)++ | src/vm/js/ (2 files):
[js] Stub nqp::getcurhllsym
15:09
p: 0d10269 | (Pawel Murias)++ | src/vm/js/nqp-runtime/hash.js:
[js] Hashes numify to the number of pair. nqp::atkey return null for missing keys.
p: 687a357 | (Pawel Murias)++ | t/qast/02-manipulation.t:
Test QAST::Block.symbol.
btyler moritz: wait, isn't that output wrong? $x[*-1] should have returned 'b', not 'a' 15:10
nine Yep, it's wrong in both cases 15:11
btyler m: class MyArray { has @.x handles <AT-POS ASSIGN-POS elems>; }; my $x = MyArray.new; $x[0] = '0th'; $x[1] = 'first'; $x[2] = "last"; say $x[*-1];
camelia rakudo-moar 025ec1: OUTPUT«0th␤»
15:12 coetry joined
nine m: class MyArray { has @.x handles <AT-POS ASSIGN-POS elems cache>; }; my $x = MyArray.new; $x[0] = '0th'; $x[1] = 'first'; $x[2] = "last"; say $x[*-1]; 15:12
camelia rakudo-moar 025ec1: OUTPUT«last␤»
btyler cache!
nine btyler: cache is what's missing
btyler sheesh, ok
that's a bit of a subtle one
nine A quick look at array_slice.pm helped :) multi sub postcircumfix:<[ ]>(\SELF, Callable:D $block ) is raw { SELF[$block(|(SELF.cache.elems xx ($block.count == Inf ?? 1 !! $block.count)))]; }
btyler: as you're at it, make sure .list returns something useful, too. Might help later. 15:13
15:15 st_iron left 15:18 ^elyse^ left
dalek ast: de0ce3a | FROGGS++ | S (3 files):
adjust and unfudge smiley tests
15:19
href="https://modules.perl6.org:">modules.perl6.org: cb6f4d6 | (Gabor Szabo)++ | web/lib/P6Project/Info.pm:
add progress counter for the next person who will wait for this to finish
15:20
szabgab moritz: indeed I have commit bit on that repo. So what what happens after I push out a change? When will that code be used? When will I know if I broke something? 15:23
I mean the modules.perl6.org site
15:24 zakharyas joined
btyler nine: woo, thanks. adding .list actually covers the need for .cache, so adding .Numeric and .list were sufficient to get $thing[*-1] to work again 15:24
FROGGS_ m: say class { has Int $.foo is default(0) }.new.foo 15:25
camelia rakudo-moar 025ec1: OUTPUT«(Int)␤»
FROGGS_ I say that's a bug 15:26
15:27 pmurias left
dalek ast: 071720b | FROGGS++ | S04-declarations/smiley.t:
add tests for RT #126291
15:28
synbot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=126291
dalek href="https://modules.perl6.org:">modules.perl6.org: 0e13d0d | (Gabor Szabo)++ | web/lib/P6Project/Info.pm:
remove given/when
15:30
FROGGS_ m: class Foo { has Int $.foo is default(0) }; say Foo.new.foo 15:31
camelia rakudo-moar 025ec1: OUTPUT«(Int)␤»
lizmat m: class Foo { has Int $.foo is default(0) }; say Foo.new(foo => Nil).foo 15:36
camelia rakudo-moar 025ec1: OUTPUT«0␤»
15:36 tokuhirom joined
lizmat I think the container is set up correctly 15:36
m: class Foo { has Int $.foo is default(42) }; say Foo.new(foo => Nil).foo
camelia rakudo-moar 025ec1: OUTPUT«42␤»
timotimo looks like the default BUILD should learn about "is default", eh?
though it surprises me a tiny bit that it doesn't have the same codepath as having an initializer 15:37
perhaps because "is default" only allows values, not a closure?
FROGGS_ it is ticketed as #126318 fwiw 15:38
synbot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=126318
lizmat ok FROGGS_, will look at it 15:39
meanwhile I'm banging my head against a "Cannot invoke this object"
nine lizmat: don't. It hurts you more than it ;) 15:40
15:40 tokuhirom left
lizmat nine FROGGS_ : gist.github.com/lizmat/507f8df3c875bd499d27 # fwiw 15:41
15:41 skids joined
xfix .rn .push(($! = "a", 2)); $! = "b"; .perl.say 15:42
rn: .push(($! = "a", 2)); $! = "b"; .perl.say 15:43
15:43 Hor|zon joined
camelia niecza v24-109-g48a8de3: OUTPUT«sh: mono: command not found␤» 15:43
..rakudo-moar 025ec1: OUTPUT«$[("b", 2),]␤»
xfix So, I was golfing, and this was strange. Should push copy by reference in tuples?
timotimo no 15:44
15:44 espadrine left
moritz huh, why not? 15:44
you push a container, so the array stores a container
timotimo oh 15:45
xfix I see.
timotimo eh, sorry
i meant to say "the behavior as seen is correct"
i interpreted it as "should push copy the reference in tuples"
btw, we seem to have something like "python -m SimpleHTTPServer" now; it's crustup -MCrust::App::Directory -e 'Crust::App::Directory.new' 15:46
which, i suppose, could be shorter
and also, i haven't tried it
nine lizmat: looks quite innocent, doesn't it? 15:47
15:48 Hor|zon left
dalek href="https://modules.perl6.org:">modules.perl6.org: 15f1eb7 | (Gabor Szabo)++ | web/ (2 files):
show count of modules
15:48
lizmat szabgab++ 15:49
grondilu m: class Foo { method AT-POS($n?) { $n.defined ?? ^$n !! ^Inf } }; say Foo.new[];
camelia rakudo-moar 025ec1: OUTPUT«Foo.new␤»
grondilu how do I defined Foo.new[]?
.oO( list? )
15:50
m: class Foo { method AT-POS($n?) { $n.defined ?? ^$n !! ^Inf }; method list { ^Inf } }; say Foo.new[];
camelia rakudo-moar 025ec1: OUTPUT«Foo.new␤»
nine m: class Foo { method AT-POS($n?) { $n.defined ?? ^$n !! ^Inf } }; say Foo.new.[];
camelia rakudo-moar 025ec1: OUTPUT«Foo.new␤»
15:50 cygx left
lizmat grondilu: if you want the zen-slice to do something special, you will need to define your own postcircumfix atm 15:51
grondilu m: class Foo { method AT-POS($n?) { $n.defined ?? ^$n !! ^Inf }; method List { ^Inf } }; say Foo.new[];
camelia rakudo-moar 025ec1: OUTPUT«Foo.new␤»
grondilu lizmat: will it conflict with AT-POS?
grondilu realizes it won't if AT-POS requires an argument 15:52
lizmat well, the default postcircumfix{} just returns its self
grondilu still it's a bit weird to use both an AT-POS and a postcircumfix
lizmat well, yes, perhaps we need a ZEN
method
15:52 szabgab left
lizmat nine: works fine if I take it out of the role into the classes themselves :-( 15:54
xfix Either way, thanks. 15:55
I figured I would link to codegolf.stackexchange.com/a/60302/3103, in case anyone is interested.
lizmat TimToady jnthn anything against adding a ZEN (like AT-POS) for handling the zen-slice ?
the only way, afaics, is to add a postcircumfix atm 15:56
nine lizmat: could you move WeightedRoll to Rakudo::Internals?
TimToady seems reasonable
lizmat nine: excellent idea
I think
15:57 n0tjack joined, rindolf joined
TimToady talk over, lunch & 16:00
leont How do I do «my ($foo, $bar) = ...» in perl6, I seem to get complaints $foo isn't defined…
(the ... is a split, in case that matters) 16:01
xfix rn: my ($foo, $bar) = 1, 2; say $bar
camelia niecza v24-109-g48a8de3: OUTPUT«sh: mono: command not found␤»
..rakudo-moar 025ec1: OUTPUT«2␤»
xfix I need to stop using "n".
nine m: my ($foo, $bar) = split /,/, "foo,bar"; say $foo; say $bar;
camelia rakudo-moar 025ec1: OUTPUT«5===SORRY!5=== Error while compiling /tmp/CMl4AsDvDQ␤Unrecognized regex metacharacter , (must be quoted to match literally)␤at /tmp/CMl4AsDvDQ:1␤------> 3my ($foo, $bar) = split /7⏏5,/, "foo,bar"; say $foo; say $bar;␤ expecting any of:…» 16:02
nine m: my ($foo, $bar) = split /\,/, "foo,bar"; say $foo; say $bar;
camelia rakudo-moar 025ec1: OUTPUT«foo␤bar␤»
nine leont: ^^^ exactly like that
16:02 ^elyse^ joined
leont Never mind, it seems the problem was somewhere completely elsewhere 16:03
probably saying \# in a regex should give a warning, it does something completely different from what I had expected it to do 16:04
Resulting in a *very* confusing error message
lizmat nine: Stage parse : Cannot find method 'compose' 16:05
at gen/moar/m-Metamodel.nqp:355 (blib/Perl6/Metamodel.moarvm:compose_attributes:119)
from gen/moar/m-Metamodel.nqp:2833 (blib/Perl6/Metamodel.moarvm:compose:248)
from src/Perl6/World.nqp:2652 (blib/Perl6/World.moarvm:pkg_compose:12)
:-(
nine: gist.github.com/lizmat/0530767dc0f53be6b7b5 16:06
I think I'll go back to repeating myself in Mix/MixHash 16:08
leont Is there a trick to unpack a hash, the same way my ($foo, $bar) works for lists? I faguely remember such a thing existing. 16:09
16:09 thou joined, n0tjack left 16:10 n0tjack joined
leont Ah, I guess (:$foo,) = will do 16:13
16:14 thou left, rurban joined
lizmat m: my %h = a => 42; (:$a,) = %h; dd $a 16:15
camelia rakudo-moar 025ec1: OUTPUT«5===SORRY!5=== Error while compiling /tmp/KPOszvPXpR␤Variable '$a' is not declared␤at /tmp/KPOszvPXpR:1␤------> 3my %h = a => 42; (:7⏏5$a,) = %h; dd $a␤»
16:15 n0tjack left
lizmat m: my %h = a => 42; my (:$a,) = %h; dd $a 16:15
camelia rakudo-moar 025ec1: OUTPUT«Pair $a = :a(42)␤»
lizmat hmmm.. shouldn't that just have the value ??
m: my %h = a => 42; my (:$b,) = %h; dd $b
camelia rakudo-moar 025ec1: OUTPUT«Pair $b = :a(42)␤»
nine lizmat: why a method WeightedRoll instead of a class WeightedRoll? 16:18
lizmat how would you get at the class then ? 16:21
an our class would be nice, but our lookups are very expensive (15x if I recall correctly)
leont Great, I think editing the Makefile triggered a complete recompile :-/
colomon lizmat: any progress with Mix.roll? I’d be happy to tackle it if you are tied up with other stuff. (Or kibbitz if there’s something thorny about making it work.) 16:22
timotimo i wish i could tell google chrome what window to open links in that i've opened in other programs >:( 16:23
leont On the positive, my harness script (with about 75% functionality) seems to compile, lets see if it actually runs
lizmat colomon: see my last two gists
16:23 szabgab joined
lizmat am now spectesting 16:23
16:24 llfourn joined
colomon lizmat++ 16:24
nine lizmat: you do the lookup only once per invocation of roll. I guess the question is if roll is performance sensitive? 16:26
lizmat I could see it being important for some applications that want weighted random numbers 16:27
nine Seems like my fix for RT #122030 works :) Now I only need to add tests. But dinner's first. 16:28
synbot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=122030
dalek kudo/nom: 86731df | (Stefan Seifert)++ | src/Perl6/Metamodel/ (2 files):
Give anon roles and classes unique names

Fixes (Any but role { }) === (Any but role { }) giving True when it should return False. Fixes RT #122030
16:29
16:29 llfourn left
synbot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=122030 16:29
kudo/nom: a964c1b | lizmat++ | src/core/Mix (3 files):
Make Mixy.roll return 1 value as specced

Please note that the code in Mix/MixHash is identical. Originally, this lived in the Mixy role. This compiled allright, but gave runtime errors
  ("Cannot invoke this object") on the return statement. Moving the class
to Rakudo::Internals caused the settings to fail to compile with "Cannot find method 'compose'". So, for now, the code is duplicated (except for the invocant signature) in the two classes.
lizmat Pretty sure this is a problem of composing a lexical class from a role into a consuming class 16:30
16:44 Hor|zon joined 16:47 zakharyas left 16:48 Hor|zon left
lizmat m: dd (a => 1, b => 2, c => 10).Mix.roll(10) 16:48
camelia rakudo-moar 025ec1: OUTPUT«("c", "c", "c", "c", "c", "c", "c", "c", "c", "c").Seq␤»
lizmat m: dd (a => 1, b => 2, c => 10).Mix.roll 16:49
camelia rakudo-moar 025ec1: OUTPUT«("c",).Seq␤»
lizmat colomon: should be fixed in HEAD now ^^^
colomon lizmat++
16:51 perlcat left
dalek href="https://modules.perl6.org:">modules.perl6.org: 1510a3a | (Gabor Szabo)++ | web/ (2 files):
add Travis badge
16:56
16:57 n0tjack joined
colomon lizmat++ # my tests pass now 16:58
lizmat cool :-)
nine Where should I put the test for rt.perl.org/SelfService/Display.html?id=122030? 17:00
17:01 pfortuny joined, ZoffixW joined
pfortuny Hi, just compiled perl6 rakudo-star-2014-01 17:01
nine S14-roles/mixin.t might be a good home
pfortuny use Promise gives me a "undefined name" 17:02
ZoffixW pfortuny, that's ancient.
pfortuny Yes, but.
I tried using brew but my computer is sooo old it does not work
(8 year old MBPro with Lion)
ZoffixW Is there a spec what the 'provides' field in META.json takes? I'm eyeing this that has an empty arrayref for it, yet all other modules give a hashref: raw.githubusercontent.com/colomon/.../META.info 17:03
17:03 n0tjack left
lizmat S22:218 17:03
synbot6 Link: design.perl6.org/S22.html#line_218
ZoffixW Oh, 22.. i was looking in 11 17:04
Thanks.
pfortuny going to compile from source... Thanks ZoffixW 17:05
ZoffixW No problem.
.oO( that spec still reads `provides` is optional )
pfortuny oups.
colomon lizmat: does that imply that the mapping doesn’t have to be one-to-one? Could both JSON::Fast and JSON::PurePerl reference the same JSON::FastPurePerl.pm6? 17:06
lizmat Well, only if it would load both...
the system expects that the given filename will produce a class with the given name 17:07
so, if that JSON::FastPurePerl.pm6 would produce both, hen yes 17:08
ZoffixW: a distribution can also just provide a script
that you cannot use, hence it's optional
ZoffixW lizmat, and that doesn't need to be in provides
lizmat indeed 17:09
provides is only about what will be available for -use-
ZoffixW Thanks.
timotimo colomon: that's not how provides works, though 17:10
it's not about virtual packages like some linux package managers do it
dalek osystem: 9158761 | (Zoffix Znet)++ | META.list:
Fix broken link
17:14
colomon timotimo: I’m not imagining virtual packages? Just a single .pm6 file providing more than one class. 17:17
pfortuny ouch: IO::Notification.watch-path ... No such method 17:20
perl6 2015.02 (rakudo) MoarVM
just trying to: 17:21
17:21 n0tjack joined
pfortuny IO::Notification.watch-path(".").act( -> $change { $count++; say "($count) $change.path(): $change.event()"; $finish.keep if $count >= 10; } 17:21
sorry for the lack of newlines
ZoffixW What type of hash keys can get autoquoted? (I need to add it to the docs) 17:22
only alphanumeric?
dalek c: 0a0a0e4 | paultcochrane++ | doc/Type/List.pod:
Point to flatmap correctly in Type and Routine views
timotimo colomon: oh, i thought you meant that two packages would supply different versions of the same class 17:23
so that, for example, you could either use JSON::PP if it's installed or JSON::XS if that's installed (for better performance)
dalek kudo/nom: 5391c3d | lizmat++ | src/core/ (3 files):
ZEN-POS/KEY for classes supporting AT-POS/KEY

class A { method ZEN-POS { say "ZEN-POS" } }.new[] ZEN-POS class A { method ZEN-KEY { say "ZEN-KEY" } }.new{} ZEN-KEY
17:25
lizmat grondilu: ^^^ would that work for you ?
17:25 n0tjack left
dalek ast: 048d4b5 | colomon++ | S02-types/mixhash.t:
Copy new Mix.roll tests to MixHash.roll.
17:25
17:26 FROGGS_ is now known as FROGGS 17:28 szabgab left 17:30 Peter_R joined 17:33 vendethiel joined 17:34 zakharyas joined
grondilu lizmat: that will do. Thanks. 17:34
(though to be honest in the meantime I figured it was best not to use .[] But thanks) 17:36
in case your curious it's for my Clifford module 17:37
I have to say I4m pretty happy about the possibility to define things like 'my Real %h{UInt}'. It's a perfect use case for this module.. 17:38
17:38 coetry left
grondilu also quite happy with the possibility to make it anonymous: my Real %{UInt} 17:39
so: you guys++ 17:40
17:41 pfortuny left
lizmat away for some 3D Pan screening& 17:44
17:45 Hor|zon joined
ZoffixW I thought all pans were 3D! 17:46
vendethiel, what do you mean by "there's no point in making it a group anymore"? 17:47
vendethiel Zoffix: well, it doesn't provide any value. it needn't be grouped 17:48
ZoffixW Without that change, the code produces verbose warnings.
vendethiel it needed to be grouped, so that it repeated
dalek ast: 3102a85 | (Stefan Seifert)++ | S14-roles/mixin.t:
Test for RT #122030
17:49
synbot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=122030
17:50 Hor|zon left
ZoffixW vendethiel, it's still grouped and there's a point because the string contains two of those groups. The only change is 'A B C' became 'ABC' 17:50
vendethiel Zoffix: why is space significant there?
what's the declarator again?
ZoffixW m: 'fooABCABCbar' ~~ / foo [ A B C ] + bar /;
camelia rakudo-moar 025ec1: OUTPUT«Potential difficulties:␤ Space is not significant here; please use quotes or :s (:sigspace) modifier (or, to suppress this warning, omit the space, or otherwise change the spacing)␤ at /tmp/EKeEvHZeyV:1␤ ------> 3'fooABCABCbar' ~~ / foo [ A…»
ZoffixW m: 'fooABCABCbar' ~~ / foo [ ABC ] + bar /; 17:51
camelia ( no output )
vendethiel yeaaaah. It's meant not to be significant
ZoffixW 'fooABCABCbar' ~~ / foo [ 'A' 'B' 'C' ] + bar /;
vendethiel I just meant to say "you can put several pieces"
ZoffixW m: 'fooABCABCbar' ~~ / foo [ 'A' 'B' 'C' ] + bar /;
camelia ( no output )
ZoffixW I'll cancel that change in the PR. It's a warning and if anyone runs the code will figure out what's going on. 17:52
vendethiel Zoffix: another option would be to have 'A' <[0..9]>, or something else
(that warrants a group)
ZoffixW ¯\_(ツ)_/¯ 17:53
FROGGS m: enum X <a b c>; say a ~~ Int; say True ~~ Int 17:54
camelia rakudo-moar 025ec1: OUTPUT«True␤False␤»
FROGGS nine: is the enum Bool patch still in a branch? 17:55
nine FROGGS: yes. Still blocking on the Bool.WHERE != Bool.mro[0].WHERE strangeness 17:56
vendethiel ZoffixW: maybe just add it to your "meta issue"
FROGGS nine: I see
17:56 muraiki joined
FROGGS m: multi foo() { say "OH HAI" }; multi foo(Int $a?) {}; multi foo(Str $a?) {}; foo 17:56
camelia rakudo-moar 025ec1: OUTPUT«Ambiguous call to 'foo'; these signatures all match:␤:()␤:(Int $a?)␤:(Str $a?)␤ in block <unit> at /tmp/mHZkwyBPK4:1␤␤»
FROGGS ohh damn, I forgot to jvm-test the Type:D MOP patch... 17:57
17:58 thou joined
ZoffixW vendethiel, done. 18:00
FROGGS m: say 0 ~~ 0 ~~ 0 18:01
camelia rakudo-moar 025ec1: OUTPUT«False␤»
18:02 thou left
FROGGS m: module Foo {}; my $*Foo::bar = 42; say $*Foo::bar 18:03
camelia rakudo-moar 025ec1: OUTPUT«Dynamic variable $*bar not found␤ in block <unit> at /tmp/WVbDGcXITP:1␤␤Actually thrown at:␤ in any at gen/moar/m-Metamodel.nqp:2860␤ in block <unit> at /tmp/WVbDGcXITP:1␤␤»
18:03 skids left
vendethiel ZoffixW++ # learnxiny stuff 18:04
ZoffixW \o/
FROGGS m: say 'abcc' ~~ /(.)+$0/; say $0 18:05
camelia rakudo-moar 025ec1: OUTPUT«「abcc」␤ 0 => 「a」␤ 0 => 「b」␤ 0 => 「c」␤[「a」 「b」 「c」]␤»
FROGGS m: say 'abca' ~~ /(.)+$0/; say $0 18:07
camelia rakudo-moar 025ec1: OUTPUT«Nil␤Nil␤»
FROGGS m: say 'abca' ~~ /(.)+@0/; say $0
18:07 pyrimidine joined
camelia rakudo-moar 025ec1: OUTPUT«5===SORRY!5===␤Unrecognized regex metacharacter @ (must be quoted to match literally)␤at /tmp/NwMtVQFzrl:1␤------> 3say 'abca' ~~ /(.)+7⏏5@0/; say $0␤Unable to parse regex; couldn't find final '/'␤at /tmp/NwMtVQFzrl:1␤------> 3say 'a…» 18:07
FROGGS m: say 'abca' ~~ /(.)+@$0/; say $0
camelia rakudo-moar 025ec1: OUTPUT«5===SORRY!5===␤Unrecognized regex metacharacter @ (must be quoted to match literally)␤at /tmp/_qeX_vnjs3:1␤------> 3say 'abca' ~~ /(.)+7⏏5@$0/; say $0␤Unable to parse regex; couldn't find final '/'␤at /tmp/_qeX_vnjs3:1␤------> 3say '…»
FROGGS m: say 'abca' ~~ /(.)+@($0)/; say $0
camelia rakudo-moar 025ec1: OUTPUT«Use of Nil in string context in block <unit> at /tmp/L4IrhEZNtk:1␤Use of Nil in string context in block <unit> at /tmp/L4IrhEZNtk:1␤「abca」␤ 0 => 「a」␤ 0 => 「b」␤ 0 => 「c」␤ 0 => 「a」␤[「a」 「b」 「c」 「a」]␤»
FROGGS m: say (class { method foo {} }) === (class {}) 18:09
camelia rakudo-moar 025ec1: OUTPUT«True␤»
18:10 szabgab joined
szabgab hello again 18:10
I've compile Rakudo from the github repository, how can I now install panda? 18:11
FROGGS clone panda and the run the bootstrap script
m: module Foo { module Bar { say $?PACKAGE } } 18:12
camelia rakudo-moar 025ec1: OUTPUT«(Bar)␤»
FROGGS m: module Foo { module Bar { say $?PACKAGE.WHO } }
camelia rakudo-moar 025ec1: OUTPUT«␤»
18:14 risou left 18:16 n0tjack joined 18:17 muraiki left 18:23 adu joined 18:25 splitcells joined, splitcells left 18:27 n0tjack left 18:29 cognominal joined
dalek kudo/nom: 013322a | FROGGS++ | tools/build/Makefile-JVM.in:
reorder setting files to unbreak jvm build
18:29
colomon “reorder setting files to unbreak jvm build” :\ 18:33
FROGGS yes, aligned to how it is for moar 18:34
nine: when you do that, please also adjust Makefile-JVM.in: github.com/rakudo/rakudo/commit/eb...abc6bf013f 18:36
ZoffixW Should modules.perl6.org list multiple same name dists? github.com/FROGGS/p6-Foo-v1.2.0/ github.com/FROGGS/p6-Foo-v1.0.0 are both listed in ecosystem but only v1.2.0 is listed on modules.perl.org 18:37
FROGGS Zoffix: if these have distinct urls, yes
Zoffix: it is a test btw
ZoffixW Alright. 18:38
szabgab 6: my @a = 'abc', 'def'; say @a.elems; my @b; push @b, @a; say @b.elems; 18:42
18:43 aruljohn joined
szabgab p6: my @a = 'abc', 'def'; say @a.elems; my @b; push @b, @a; say @b.elems; 18:43
camelia rakudo-moar 025ec1: OUTPUT«2␤1␤»
18:43 zakharyas left
szabgab so how do I push an array on another array and get it copy the values? 18:43
moritz szabgab: .append 18:44
timotimo you probably want append rather than push
18:44 aruljohn is now known as arul
szabgab p6: my @a = 'abc', 'def'; say @a.elems; my @b; @b.append @a; say @b.elems; 18:44
camelia rakudo-moar 025ec1: OUTPUT«5===SORRY!5=== Error while compiling /tmp/tmpfile␤Two terms in a row␤at /tmp/tmpfile:1␤------> 3', 'def'; say @a.elems; my @b; @b.append7⏏5 @a; say @b.elems;␤ expecting any of:␤ infix␤ infix stopper␤ statemen…»
szabgab p6: my @a = 'abc', 'def'; say @a.elems; my @b; @b.append: @a; say @b.elems;
camelia rakudo-moar 025ec1: OUTPUT«2␤2␤»
szabgab thanks
TimToady .push is now specialized for pushing a single thing 18:45
even if it's an array
fits better with .pop
pink_mist coming from perl5, I bet that will take me a while to get used to 18:46
18:46 Hor|zon joined 18:51 Hor|zon left 18:54 arul left
masak should the TTIAR error message after a method call perhaps suggest to use ':' ? 18:54
18:54 arul joined 18:55 muraiki joined
FROGGS m: (1, 2).map: { "'$^x $^y'".say }.assuming: 'got:' # RT #67700 would destroy this beauty 18:56
synbot6 Link: rt.perl.org/rt3/Public/Bug/Display...l?id=67700
camelia rakudo-moar 013322: OUTPUT«'got: 1'␤'got: 2'␤»
FROGGS so I will change the design docs and reject the ticket as well as adjust any existing test
masak FROGGS: +1 18:59
the current Rakudo behavior is a lot easier to explain, with fewer exceptions.
(and more like Haskell's $ ) 19:00
FROGGS and you can easily add parens to get the behaviour the ticket is requesting for
masak right
FROGGS m: (1, 2).map: { "'$^x $^y'".say } .assuming: 'got:' # just checking
camelia rakudo-moar 013322: OUTPUT«'got: 1'␤'got: 2'␤»
FROGGS k 19:01
19:02 n0tjack joined
szabgab was append added after 2015.09 release? 19:03
FROGGS I think so
masak aye 19:04
FROGGS the day after the release IIRC 19:09
19:12 arul left 19:19 n0tjack left, Eddward joined
szabgab modules.perl6.org/ now shows the Travis-CI status of each module 19:20
ZoffixW szabgab++ 19:21
19:22 n0tjack joined
timotimo could "Add Travis" become one line or smaller in general? 19:22
ZoffixW Yes
I plan to tweak styles later on, after I debug the missing modules issue
(there are other problems, like descriptions currently being squished too narrowly) 19:23
timotimo ah, cool
do we want a zebra style for that list?
or perhaps just a sort-of muted line to separate them? 19:24
19:26 Alina-malina joined, n0tjack left
szabgab I hope the number of "Add Travis" comments will be much smaller in a few days :) 19:27
dalek c: 4076e53 | moritz++ | doc/Language/modules.pod:
modules: mention log file from modules.perl6.org
19:28
19:29 muraiki left
timotimo hehe. 19:30
it'd be nice if we could kick off new builds on travis for all modules once a new release comes out 19:31
dalek href="https://modules.perl6.org:">modules.perl6.org: de8dbd5 | (Zoffix Znet)++ | web/lib/P6Project/Info.pm:
Correctly handle HTTPS GitHub URLs in support->{source} (Related to #11)
19:32
moritz szabgab: can you please update perl6maven.com/continuous-integrati...-travis-ci to use "panda installdeps ." instead of "panda install <list of moduels>"?
Eddward Sorry to ask here. I didn't see a bug tracker on perl6.org. Is there a know problem with listing packages in panda in the latest perl star?
moritz Eddward: I'm not aware of one 19:33
Eddward ok. I'll try a reinstall to make sure I didn't do anything stupid.
I keep getting a stack and the message : Method 'chars' not found for invocant of class 'Any'
dalek href="https://modules.perl6.org:">modules.perl6.org: 9e08aea | (Gabor Szabo)++ | web/index.tmpl:
add last updated to each module
19:34
moritz Eddward: works on 2015.09-219-gc52b0b3 built from source 19:35
Eddward I'm working from rakudo-star-2015.09.tar.gz. I haven't played with p6 for a year or more. 19:36
Just checking what's new.
dalek on: 2484983 | moritz++ | .travis.yml:
Add .travis.yml
19:37
moritz Eddward: lots of stuff :-)
a much saner iteration and (non-)flattening model
Eddward The GLR is something.
moritz right
dalek ecs: d1d502f | FROGGS++ | S (2 files):
remove an Exception To The Rule about blocks in method calls

Bare blocks and pointies are now normal arguments in a method call introduced by a colon. Their right curly will still terminate a statement when a newline is following, but a method call attached to the block is now called on the block itself, rather than on the term on the left of the block. It is easier to add parens to get the other meaning, but it is hard to remove implicit parens as the design docs status up to now.
moritz NFG too
Eddward I was following rss feeds and they all died off. The I saw the /. story on the Birthday release. 19:38
Last I had heard, moar was something new.
moritz Eddward: pl6anet.org/ is our blog aggregator now
Eddward: Moar is our primary backend now, and it rocks
Eddward I have that feed now. I'm catching up a little.
szabgab moritz: done
moritz the old blog aggregator forgot to renew its domain, or something :/ 19:39
szabgab: thanks
Eddward Yep. Is the jvm & CLR backend still active?
19:39 szabgab left
moritz CLR backend was another project (niezca); sadly it's no longer maintained 19:40
the JVM backend is active, yes
though still a bit of a second-class citizen
psch++ is improving it, thankfully 19:41
TimToady signal doesn't work too well yet...
Eddward moritz: Cool
rindolf Hi all. Sup?
ZoffixW Mmm.. szabgab's plan to have travis backfired. I'm getting a ton of 429s (HTTP Too Many Requests) 19:42
El_Che (niecza not niezca)
rindolf ZoffixW: where?
Eddward I figured the clr thing would help sneak p6 into gaming. mono seem popular-ish there. jvm is how I'm thinking if backdooring it into work.
ZoffixW rindolf, modules.perl6.org
rindolf ZoffixW: ah. 19:43
moritz ZoffixW: when loading the website? or when running the build script?
19:43 zakharyas joined
vendethiel wonders if niecza means something in polish now.. 19:43
moritz ah, now I see it too (on the website) 19:44
ZoffixW moritz, when viewing the site. Basically travis receives 385 requests for badges at the same time and says "Nah, bruh" :)
timotimo Eddward: it's not a terribly difficult thing to get onto CLR the same way we've gone onto the JVM, but it's a lot of work
ZoffixW We should do something like "show travis results" on click or on hover and users could look up travis status for specific modules 19:45
ZoffixW opens an Issue
timotimo granted, less work than getting from only parrot to the jvm as well
because many things have been put into place for that piece of work and multi-backend-stuff has become better since then thanks to MoarVM showing up
but it's still quite a sizable chunk of work
vendethiel Eddward: mono in gaming? I think unity is using some outdated version, right?
19:46 thou joined
Eddward vendethiel: I dunno. I knew it was in there. I don't know much about it. 19:46
ZoffixW .tell szabgab There's a problem with Travis badges. Let me know if you need any help: github.com/perl6/modules.perl6.org/issues/12 19:47
yoleaux ZoffixW: I'll pass your message to szabgab.
19:47 Hor|zon joined
Eddward I'm just abusing my knowledge of trivia at the moment. The jvm one is the one I'm more likely to use aside from the default. 19:47
timotimo vendethiel: unless CLR has something like InvokeDynamic that's missing from newer versions, i don't think a rakudo-on-clr thing would necessarily rely on a very recent version of the CLR
vendethiel timotimo: more like, they're really stuck in their own scheme of things (their boo language, few c# changes, bla bla bla) 19:48
timotimo Eddward: we don't have the ridiculously advanced unicode support on the JVM backend yet, sadly
boo language?
Eddward Baby steps are ok. I'd sneak it in to the automation we use internally. Full unicode wouldn't be a requirement there. 19:49
I would be for anything we ship.
chansen_ "ridiculously advanced"?
Eddward err *It* (unicode) would be (required) for anything we ship. 19:50
19:50 telex joined
dalek href="https://modules.perl6.org:">modules.perl6.org: de83c87 | (Zoffix Znet)++ | web/index.tmpl:
Temporarily disable Travis badges so we do not hammer Travis (see #12)
19:50
19:51 thou left
timotimo Eddward: oh, we have proper unicode support in the jvm backend 19:51
it's just that the support we offer with MoarVM is more than any other language currently offers, to my knowledge
19:51 Hor|zon left
vendethiel timotimo: a weird language :P 19:52
Eddward If it's up to icu standards, that would do it.
timotimo chansen_: like github.com/perl6/roast/blob/7f7544...2-str/fc.t
on the jvm we use what java gives us, i believe
Eddward If I have panda install panda, do it replace itself? 19:53
I just can't type today.
ZoffixW Careful! I'm pretty sure that's how you implode the universe! :)
timotimo there's a rebootstrap script that does pretty much exactly that; it just has to do a few things like set up some paths
19:54 adu left
timotimo dinner time \o/ 19:54
Eddward I tried fixing my panda list problem with : ./install/bin/panda install panda
Install worked but I still can't list packages. 19:55
19:56 adu joined
chansen_ timotimo: aha, wasn't that case slated for past christmas? 19:57
chansen_ might have misread jnthn's message the other day 19:59
20:00 adu left, n0tjack joined 20:01 pmurias_ joined, pmurias joined 20:03 eliasr joined
pmurias vendethiel: niecza is not a valid polish 20:03
pmurias_ word 20:04
vendethiel aw :(
thanks anyway!
pmurias it could be read as misspelled regional slang "should not" 20:05
20:07 n0tjack left
pmurias_ vendethiel: as far as I remember niecza is a mangled czech word 20:09
Eddward Is a .moarvm a compiled file?
And if so, if I edit App.pm do I need to delete App.pm.moarvm to get it to take? 20:10
pmurias Eddward: it contains the bytecode the perl6/nqp is compiled to
Eddward Deleting it works. panda list works now. \o/ 20:13
ZoffixW \o/ 20:14
Eddward Is there any way to tell panda to fix ./install/share/perl6/site/panda/state? Looks like a bad entry got in there. 20:18
dalek ast: 95a2822 | FROGGS++ | S12-methods/syntax.t:
fix tests for RT #67700
20:19
synbot6 Link: rt.perl.org/rt3/Public/Bug/Display...l?id=67700
20:20 xfix left, szabgab joined
Eddward Gotta go. Thanks for the help folks 20:22
20:22 Eddward left
szabgab Zoffix: so what do you think, should we gather the Travis status when building the page in the script? 20:24
yoleaux 19:47Z <ZoffixW> szabgab: There's a problem with Travis badges. Let me know if you need any help: github.com/perl6/modules.perl6.org/issues/12
dalek href="https://modules.perl6.org:">modules.perl6.org: f534b2c | (Zoffix Znet)++ | web/ (2 files):
Fix handling of empty descriptions (Closes #11)
szabgab I found the API call
ZoffixW szabgab, so we'd be keeping a local version of travis badges? 20:25
szabgab we can do eitehr that
or there might be badges with fixed urls we can use on their site 20:26
20:26 zakharyas left, llfourn joined
szabgab As I can see there are 3 status values: 0, 1, null 20:26
ZoffixW szabgab, I think travis results should be requested by the user viewing the page for a specific module they're interested in. Doing 100+ requests either during build or during viewing is unfrair on travis's infrastructure, considering the visitors likely don't care about build status of ALL modules. 20:29
20:30 llfourn left
szabgab I hope there will be more visitors to modules.perl.org / hour than number of modules, in which case cashing the Travis-CI status is actually reducing the load on the Travis server 20:31
and if we further want to reduce that load then we can check the travis status only if there was an update for the module since our last check 20:32
dalek kudo/nom: 20a4df2 | lizmat++ | src/core/ (2 files):
Make ZEN-POS/KEY accept any attributes

This will allow:
class A { method ZEN-KEY(:$foo!) { say "ZEN-KEY:foo" } }.new{}:foo' ZEN-KEY:foo class A { method ZEN-POS(:$foo!) { say "ZEN-POS:foo" } }.new[]:foo' ZEN-POS:foo
to work, allowing module builders to add their own attributes to their ZEN-POS/KEY
szabgab but we don't have a database yet, so probably that caching can wait 20:33
lizmat szabgab: 2 typos in Perl6 maven article: "fecth" 20:37
and "better to use an HTML Parser" (not *and*)
ZoffixW szabgab, alright, then let's fetch badges during build and serve from them from us instead of travis. I was gonna update styles and stuff right now so I'll be doing a bunch of edits on markup/CSS.... is that alright with you? I don't want us to step on each other's toes editing the same files.
20:38 n0tjack joined
szabgab lizmat: fixed, thanks 20:39
dalek ast: f2cfca2 | lizmat++ | S32- (2 files):
Adjust tests to new $a[]:foo zen slice features
20:40
ZoffixW (or I guess use the travis's API than just fetching badges)
szabgab ZoffixW: sure do it
20:40 ][Sno][ joined
szabgab I'll add the travis api thing 20:40
20:40 [dpk] joined
ZoffixW k :) 20:40
szabgab btw have you noticed the dates already? 20:41
20:41 inokenty joined, baest_ joined
szabgab it would be nice if we could sort the modules by date 20:41
20:41 FROGGS[mobile]2 joined
szabgab Oh and I think I wanted to add some dependency mapping as well 20:41
At least to show a "number of other modules depending on this one" 20:42
20:42 tony-o_ joined, jmc_ joined
szabgab and then maybe allow to sort based on that too 20:43
20:43 bbarker` joined, Psyche^_ joined 20:44 DrForr_ joined, n0tjack left, [dpk] is now known as dpk 20:47 n0tjack joined 20:48 Hor|zon joined 20:51 n0tjack left 20:52 Hor|zon left 20:54 DrForr left, tony-o left, Debolaz joined
nine FROGGS: oops, sorry 20:57
FROGGS nine: np, it is easy to fix... and due to that coincident it was broken for not more than four hours 20:59
21:00 eiro joined
dalek kudo/nom: 8f4e908 | FROGGS++ | src/ (2 files):
fix symbol visibility for `anon enum <foo>` RT #123083
21:02
synbot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=123083
dalek ast: f47d1da | FROGGS++ | S12-enums/anonymous.t:
add test for RT #123083
21:03
synbot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=123083
dalek href="https://modules.perl6.org:">modules.perl6.org: 56379cc | (Gabor Szabo)++ | web/ (5 files):
fetch the Travis-CI build status and serve a local badge
21:06
szabgab ZoffixW: let's see if this works properly
dalek ast: 51332a9 | FROGGS++ | S12-enums/anonymous.t:
add more tests for RT #123083
synbot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=123083
ugexe m: say List.new.rotor(1); say Buf.new.elems; say Buf.new.rotor(1) 21:18
camelia rakudo-moar 20a4df: OUTPUT«()␤0␤This type does not support elems␤ in block <unit> at /tmp/aHCts48y7W:1␤␤»
dalek href="https://modules.perl6.org:">modules.perl6.org: 57eaf6a | (Gabor Szabo)++ | web/ (3 files):
add --limit flag to make it easier to debug the script runnig only on a subset of modules
21:20 firstdayonthejob joined
dalek href="https://modules.perl6.org:">modules.perl6.org: bc4474e | (Gabor Szabo)++ | web/lib/P6Project/Info.pm:
remove debugging printout. Bad forgetful coder
21:23
ugexe is Buf.new.rotor(1) meant to throw such an error? 21:26
lizmat ugexe: I think .rotor is actually NYI for Buf
patches welcome :-) 21:27
good night, #perl6! 21:29
FROGGS gnight lizmat
ugexe it mostly works from what i've used it for. if thats not expected behavior then ill dig around 21:30
m: Buf.new(0,0,0,0,0).rotor(2,:partial).map: {.say}
camelia rakudo-moar 8f4e90: OUTPUT«(0 0)␤(0 0)␤(0)␤»
colomon lizmat: o/ 21:31
21:34 ilbelkyr_ joined, thou joined, ilbelkyr_ is now known as ilbelkyr, labster_ joined 21:35 olinkl_ joined, n0tjack joined, tinita_ joined 21:36 ambs_ joined
ZoffixW moritz, do you run modules.perl6.org? Seems the newly-added build-*.png files in the repo aren't accessible on the site. 21:36
21:36 japhb_ joined, M-tadzik1 joined, tokuhirom joined, BenGoldberg_ joined 21:37 spider-mario_ joined, cxreg2 joined, erxeto_ joined, grondilu_ joined, avuserow1 joined, huf_ joined 21:38 BinGOs_ joined, rudi_s_ joined, preyalone_ joined, thou left 21:39 kjs_ joined, spider-mario_ is now known as spider-mario, n0tjack left 21:40 R41g0rX joined 21:41 tokuhirom left, robins joined, woodruff- joined 21:42 yx_ joined 21:43 erxeto left, ambs left, b2gills left, cxreg left, robinsmidsrod left, huf left, xnrand left, rudi_s left, tinita left, BinGOs left, labster_ is now known as labster
ZoffixW weeeee 21:43
21:43 olinkl_ is now known as olinkl 21:44 yx_ is now known as xnrand
ZoffixW szabgab++ # making me learn how to resolve merge conflicts with git :) 21:45
R41g0rX is pearl still alive? 21:46
FROGGS :D
R41g0rX perl*
ZoffixW R41g0rX, very! :)
dalek href="https://modules.perl6.org:">modules.perl6.org: 0b7a67e | (Gabor Szabo)++ | web/lib/P6Project (2 files):
move the sorting code to the main module
href="https://modules.perl6.org:">modules.perl6.org: 3f81959 | (Gabor Szabo)++ | web/ (3 files):
create recent.html page
ZoffixW R41g0rX, there are actually TWO Perls now. Perl 5 and Perl 6. Both alive.
R41g0rX why do you think that?
TimToady why not?
ZoffixW R41g0rX, why do I think what?
R41g0rX that perl is still alive 21:47
TimToady who cares, as long as it does what I want
R41g0rX sorry for my bad english
ZoffixW R41g0rX, there are users and recent releases. If that's not alive, I don't know what is ;)
R41g0rX and sorry for my ignorance
i am just curious
you usually use perl to do what kind of program?
ZoffixW R41g0rX, it's OK. It's common misconception that Perl is dead. The reason is in the 90s it was pretty much the ONLY way to do web and now we have many ways, but people have a perception that Perl disappeared. 21:48
21:48 n0tjack joined
TimToady we do all sorts of things with Perl 21:48
ZoffixW R41g0rX, I use Perl for pretty much everything: web scraping, web apps, various tools
21:48 samb1 joined
R41g0rX perl have full support for POO? 21:49
21:49 Hor|zon joined
szabgab I was just bitten by Perl 21:49
it must be alive...
FROGGS middleware services for $work... calculating fees etc etc... that's what I usually do
ZoffixW R41g0rX, what's that?
FROGGS Plain Old Documentation
ZoffixW sees POO not POD
FROGGS ups 21:50
R41g0rX i was talking about object class
21:51 yakudza joined, b2gills joined
FROGGS the Perls certainly support object orientation... but what is POO? 21:51
ZoffixW R41g0rX, Perl 6 has one of the most sofisticated OO among languages. Perl 5 has a whole smorgasboard of OO stuff for you to choose from Moo, Moose, Mojo::Base; there likely others
R41g0rX sorry in english is OOP
my mistake 21:52
FROGGS ahh, I see
R41g0rX: Perl 6 has classes, roles, traits and a bunch of other nice things
21:53 preyalone_ is now known as preyalone, Hor|zon left
dalek href="https://modules.perl6.org:">modules.perl6.org: acbd414 | (Gabor Szabo)++ | web/recent.html:
remove generated recent.html file and adding it to gitignore
21:53
21:53 Jonis joined
szabgab ZoffixW: any idea why do we get the broken images now on the modules site? 21:54
ZoffixW szabgab, likely some setup of how the site's generated. I pinged moritz on the issue
szabgab Oh I think I found it 21:55
FROGGS if I'm not mistaken the site is generated on hack, and certain stuff is rsync'ed to the webserver
szabgab I need to add the new images to an array to copy them to the right directory
ZoffixW szabgab, wait. Don't commit anything. I'm trying to merge my styles
szabgab ok
21:57 rindolf left
R41g0rX Moo is a package, module or library? 21:58
dalek href="https://modules.perl6.org:">modules.perl6.org: 66d5a81 | (Zoffix Znet)++ | web/index (2 files):
Clean up markup
href="https://modules.perl6.org:">modules.perl6.org: be89852 | (Zoffix Znet)++ | web/ (6 files):
Update styles to fit more info
href="https://modules.perl6.org:">modules.perl6.org: 618d340 | (Zoffix Znet)++ | web/ (7 files):
Merge travis stuff
href="https://modules.perl6.org:">modules.perl6.org: c4a2db2 | (Zoffix Znet)++ | web/ (4 files):
Merge again
href="https://modules.perl6.org:">modules.perl6.org: 4609b5b | (Zoffix Znet)++ | web/recent.html:
Merge branch 'master' of github.com/perl6/modules.perl6.org
ZoffixW Hopefully I didn't screw it up :/ 21:59
R41g0rX, those are all synonyps
*synonyms
dalek oblem_solver_tutorial: ff9a578 | (Herbert Breunung)++ | menu.md:
polish menu
oblem_solver_tutorial: 349dc0b | (Herbert Breunung)++ | / (2 files):
Merge branch 'master' of github.com/perl6/problem_solver_tutorial
oblem_solver_tutorial: 9482cfe | (Herbert Breunung)++ | chapter/text0.md:
complete paragraph 1
oblem_solver_tutorial: 88c3799 | (Herbert Breunung)++ | / (3 files):
wrote paragraph 3
ZoffixW Commit all the things \o/ 22:00
22:00 BinGOs_ is now known as BinGOs
szabgab ZoffixW: let me know when done 22:00
22:01 BinGOs left, BinGOs joined
ZoffixW szabgab, I'm just running a test build to see that it builds. Will let you know shortly 22:01
szabgab ok
22:02 tinita_ is now known as tinita
szabgab These days I usually do git pull --rebase to avoid extensive merges 22:02
ZoffixW I'll look up how to use that :)
22:02 n0tjack left
szabgab ZoffixW: there is now a --limit flag so you can build the site for less than all the modules 22:02
ZoffixW Ah cool. 22:03
dalek oblem_solver_tutorial: 0c81691 | (Herbert Breunung)++ | / (8 files):
rename menu > table-of-content
22:04
timotimo can we get a piece of javascript or something onto the modules page that turns "updated" into a human-friendly string
R41g0rX you guys are doing commits from here? 22:05
dalek href="https://modules.perl6.org:">modules.perl6.org: 27ba057 | (Zoffix Znet)++ | web/style.css:
Adjust styles
timotimo and damn, the longest module name squishes the descriptions of all modules quite a bit
ZoffixW timotimo, just wait for it to refresh
timotimo R41g0rX: it's just that commits to our github repos are reported here
ZoffixW szabgab, I'm done
dalek href="https://modules.perl6.org:">modules.perl6.org: 5109c1c | (Gabor Szabo)++ | .gitignore:
gitignore recent.html
22:06
href="https://modules.perl6.org:">modules.perl6.org: b14a506 | (Gabor Szabo)++ | web/build-project-list.pl:
copy the 3 new png files
ZoffixW timotimo, i.imgur.com/agvWCbS.jpg
szabgab ZoffixW: me too
night &
ZoffixW \o
22:06 szabgab left
R41g0rX so the channel is configure to do that? 22:07
Nice
dalek is a bot right?
ZoffixW Right
botsnack
synbot6 om nom nom
TimToady .botsnack 22:08
yoleaux :D
synbot6 om nom nom
R41g0rX botsnack
synbot6 om nom nom
22:08 FROGGS[mobile]2 left, FROGGS[mobile] joined
R41g0rX Does synonyms have a tecnical mean in perl? 22:09
ZoffixW R41g0rX, no 22:10
R41g0rX, dictionary.reference.com/browse/synonym
R41g0rX, it means the words mean pretty much the same thing
So package, module or library are all mean the same thing. We usually use "module" 22:11
22:11 FROGGS[mobile] left
R41g0rX so Moo is just a synonym no a module right? 22:11
FROGGS R41g0rX: Moo is a Perl 5 module
R41g0rX built-in? 22:12
ZoffixW R41g0rX, it's one of the ways to do OOP in Perl 5. It's built in Perl 5: metacpan.org/pod/Moo
R41g0rX CPAN is like pip ?
ZoffixW Yes.
22:13 robins is now known as robinsmidsrod, n0tjack joined
R41g0rX right now i have perl 5, if I install perl 6 there will be a backward compatibilty issue? 22:14
ZoffixW R41g0rX, no, they are different language
+s
FROGGS R41g0rX: you'll get a perl6 binary additionally 22:15
the existing perl binary still is about Perl 5
R41g0rX so I will have boths?
ZoffixW R41g0rX, although, you can run Perl 5 code with Perl 6 using Inline::Perl5 and vice versa using Perl 5's Inline::Perl6 (and Perl 6 also has v5 thing )
FROGGS yes
ZoffixW: v5 is not maintained
ZoffixW Oh :( 22:16
moritz, never mind about build-*.png. szabgab figured it out: github.com/perl6/modules.perl6.org...b7b89b686d
FROGGS because I::P5 gets the job done
22:18 n0tjack left
dalek oblem_solver_tutorial: 7ef0f0e | (Herbert Breunung)++ | / (3 files):
linkfix
22:20
22:21 pmurias_ left
timotimo why are so many... actuallyball travis icons broken? 22:23
actually all
ZoffixW timotimo, that's already fixed in the newest commit. 22:24
timotimo ok
how do you feel about zebra table rows? 22:25
also, will we steal the package classifier things from python? 22:26
22:26 Ven joined, RabidGravy left
timotimo pypi.python.org/pypi?%3Aaction=list_classifiers 22:27
"trove classifiers"
dalek href="https://modules.perl6.org:">modules.perl6.org: e8a0fb8 | (Zoffix Znet)++ | web/ (2 files):
More styling
22:29
ZoffixW timotimo, next refresh will add zebra rows; they do look nicer: i.imgur.com/e1XkBF7.jpg 22:30
timotimo, no idea what that classifier stuff does 22:32
dalek href="https://modules.perl6.org:">modules.perl6.org: e7eb180 | (Zoffix Znet)++ | web/style.css:
Styles pedantry
22:33
timotimo i think an icon for "add travis" would be all right; perhaps something like a spanner, a screwdriver, and/or a hammer? 22:34
22:35 pmurias left 22:36 R41g0rX left
TimToady lizmat: thing is, OUTER:: with the :: is no longer the OUTER type, but should refer to a particular lexical scope, which ought to have a stable identity 22:36
(even if it's the sort of pseudostash that is used for further discovery) 22:37
timotimo will we ever have a good way to handle evaling "in the same context" over and over again? for building repls better than we have at the moment?
TimToady we need to be more incestuous with the parser for that 22:38
timotimo mhm
timotimo was thinking about the whole Jupyther thing again
TimToady confyrence dynner at the Hyrd Ryck Cyfe &
dalek href="https://modules.perl6.org:">modules.perl6.org: 5214196 | (Zoffix Znet)++ | web/ (2 files):
Add an icon to "Add Travis" button
22:40
timotimo neato
oh, it's much wider now 22:43
22:44 firstdayonthejob left 22:45 Ven left 22:47 cognominal left
dalek href="https://modules.perl6.org:">modules.perl6.org: 238312e | (Zoffix Znet)++ | web/ (2 files):
Do not render project logos outside page on smaller widths
22:47
22:47 spider-mario left 22:50 Hor|zon joined
masak m: say 5 ** 20 22:53
camelia rakudo-moar 8f4e90: OUTPUT«95367431640625␤»
masak I believe many people here might enjoy this logic puzzle: www.icynic.com/~don/20q4.html 22:54
22:54 Hor|zon left
masak I found it through www.cs.ox.ac.uk/seminars/1459.html -- a talk which I really hope gets recorded and put online. 22:54
if anyone takes a crack at the logic puzzle, let me know.
dalek href="https://modules.perl6.org:">modules.perl6.org: 83daacc | (Zoffix Znet)++ | web/style.css:
Fix unwanted dates wrap on less-than-smart browsers
22:57
23:00 ZoffixW left
BenGoldberg_ masak++ 23:01
23:01 BenGoldberg_ is now known as BenGoldberg 23:02 geekosaur joined
timotimo ah together with the "add travis" button/icon, the other travis icons are now readable 23:16
23:17 ZoffixMobile joined
ZoffixMobile masak, that puzzle is above my head right from the start... there is no question whose answer is "A" :/ 23:17
timotimo in order to get the highest score, you may want to answer some questions wrong intentionally 23:19
23:20 jandrew joined, kjs_ left
timotimo ZoffixMobile: with the short lines of text in the about, it kinda looks weird now ... i've put a 5em margin around the whole about div on all sides and it looks just a little bit better, but that's surely a bad idea on thinner screens? 23:20
there's something like min-width: 75%, right?
ZoffixMobile but there's no info on how the test is scored 23:21
timotimo and build passing/build failing/add travis could be added to the legend at the bottom, too, at some point
timotimo relocates
ZoffixMobile timotimo, I'll take a look when I get home 23:22
23:22 thou joined
BenGoldberg There's some more info on the puzzle here: www.icynic.com/~don/20qintro.html 23:26
23:27 thou left
ZoffixMobile doesn't like that puzzle 23:28
23:29 jandrew left, kjs_ joined
BenGoldberg According to the intro, it *can* be solved by a human. Not easily, but it's doable. 23:32
masak ZoffixMobile: by my reading, you can score the test on your own by simply checking your answers. 23:33
23:33 kjs_ left
ZoffixMobile :/ 23:33
BenGoldberg You can answer A to question 1.
ZoffixMobile but that's not the right answer
BenGoldberg Why not?
masak it might be. 23:34
ZoffixMobile Oh, ok, I misread it. 23:35
masak also, I enjoyed github.com/cosmologicon/pywat
ZoffixMobile tries again
masak the "converse implication" wat actually makes total sense to me, thanks to Category Theory
ZoffixMobile gives up again 23:36
masak though, I now realize, through a very circuitous route.
basically equating all three of (numeric exponentiation, logical implication, lambdas/functions) 23:37
23:37 vendethiel left 23:43 n0tjack joined
masak the "converse" bit comes from the fact that it's X ** Y (numbers), but Y => X (logic) and Y -> X (programming) 23:43
purely by historical notational accident, it seems 23:44
'night, #perl6
ZoffixMobile night masak 23:47
23:48 n0tjack left 23:51 Hor|zon joined 23:52 Eddward joined 23:53 n0tjack joined 23:55 Hor|zon left 23:59 ZoffixMobile left