Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2014-02-27

Perl 6 | Reference Documentation | Rakudo

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

All times shown according to UTC.

Time Nick Message
00:15 pippo left #perl6
00:47 ilbot3 joined #perl6
00:47 Topic for #perl6 is now »ö« Welcome to Perl 6! | http://perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:,  niecza:, std:, or /msg camelia perl6: ... | irclog: http://irc.perl6.org | UTF-8 is our friend!
00:52 tgt joined #perl6
00:57 berekuk joined #perl6
01:08 berekuk joined #perl6
01:15 hoverboard joined #perl6
01:19 araujo joined #perl6
01:19 araujo joined #perl6
01:19 berekuk joined #perl6
01:31 berekuk joined #perl6
01:36 benabik joined #perl6
01:43 berekuk joined #perl6
01:52 tgt joined #perl6
01:55 berekuk joined #perl6
02:03 FROGGS_ joined #perl6
02:06 berekuk joined #perl6
02:17 berekuk joined #perl6
02:28 berekuk joined #perl6
02:40 berekuk joined #perl6
02:41 xinming joined #perl6
02:48 TimToady the codepoints actually start to get off after 0x33ff, so it's also a problem in the BMP
02:48 klapperl_ joined #perl6
02:49 TimToady m: say "\c[HEXAGRAM FOR THE CREATIVE HEAVEN]".ord.base(16)
02:49 camelia rakudo-moar da53ec: OUTPUT«4DCA␤»
02:49 TimToady that should be 4DC0
02:49 xinming_ joined #perl6
02:51 berekuk joined #perl6
02:56 xinming joined #perl6
03:02 xinming_ joined #perl6
03:02 berekuk joined #perl6
03:13 dayangkun joined #perl6
03:14 berekuk joined #perl6
03:18 dayangkun joined #perl6
03:22 xinming joined #perl6
03:25 berekuk joined #perl6
03:32 telex joined #perl6
03:36 rurban1 joined #perl6
03:37 berekuk joined #perl6
03:40 segomos joined #perl6
03:47 btyler joined #perl6
03:48 berekuk joined #perl6
04:00 berekuk joined #perl6
04:11 berekuk joined #perl6
04:20 xinming joined #perl6
04:22 berekuk joined #perl6
04:27 sivoais joined #perl6
04:34 berekuk joined #perl6
04:46 berekuk joined #perl6
04:49 SamuraiJack joined #perl6
04:57 berekuk joined #perl6
04:58 sivoais joined #perl6
05:08 berekuk joined #perl6
05:10 xinming_ joined #perl6
05:15 xinming joined #perl6
05:18 JumpingJackal joined #perl6
05:19 _thou joined #perl6
05:20 berekuk joined #perl6
05:28 sivoais joined #perl6
05:31 berekuk joined #perl6
05:42 berekuk joined #perl6
05:54 berekuk joined #perl6
06:00 xinming_ joined #perl6
06:05 berekuk joined #perl6
06:06 TimToady r: say "\c[CUNEIFORM SIGN AB2]"
06:06 camelia rakudo-moar da53ec: OUTPUT«𠥒␤»
06:06 camelia ..rakudo-jvm da53ec: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfile�Unrecognized character name CUNEIFORM SIGN AB2�at /tmp/tmpfile:1�------> [32msay "\c[CUNEIFORM SIGN AB2[33m�[31m]"[0m�»
06:06 camelia ..rakudo-parrot da53ec: OUTPUT«𒀖␤»
06:08 xinming joined #perl6
06:11 TimToady I suspect that camelia is running with a detached head or an otherwise obsolete version of MoarVM (and maybe nqp too)
06:11 lue TimToady: is there a known pattern to moar's wrongness, aside from it starting with U+3400 ?
06:11 TimToady after futzing with it all afternoon, I discovered if I switched branches to master, it works right
06:12 TimToady trouble is, you need --gen-moar=master and --gen-nqp=master or you get detached heads, apparently
06:14 TimToady I was like 70 some patches behind on moar :/
06:14 lue I have moar on the flatten_fastpath branch (or whatever its precise name is), and I get 0x020952 from that CUNEIFORM SIGN. I assume this was fixed very recently then?
06:15 TimToady dunno
06:17 berekuk joined #perl6
06:18 donaldh joined #perl6
06:20 TimToady doing a complete rebuild on my other machine to verify
06:20 xinming_ joined #perl6
06:28 berekuk joined #perl6
06:30 TimToady huh, works on one of my machines, but not the other
06:32 TimToady huh, that other machine used a headless nqp, despite removing reconfiguring with a --gen-nqp=master
06:32 * TimToady doesn't get it
06:33 TimToady trying again after forcing nqp branch to master
06:37 xinming joined #perl6
06:42 xinming_ joined #perl6
06:45 TimToady wow, amazing how much cleaner the spectest is with working unicode...
06:49 TimToady the parsing CORE on moar seems to be running considerably slower though on master than on my detached head
06:49 TimToady from 78 seconds to 113
06:52 TimToady huh, still fails on my other machine :/
06:53 xinming joined #perl6
06:54 TimToady the unicode.c files are identical, so that's not the problem
06:57 TimToady both machines are 64-bit Linux
07:02 TimToady oh, I think I'm running with a libmoar.so that's from when I was experimenting with turning off unicode compression
07:05 TimToady drat
07:11 TimToady so is it worth blowing up libmoar.so from 3meg to 8meg just to get unicode to work temporarily?
07:12 TimToady could conceivably explain the slower compile too
07:12 TimToady maybe I should just find the bug...
07:14 slavik joined #perl6
07:17 TimToady well, nice to know my time wasn't wasted this afternoon grubbing around ucs2c.pl, even if I haven't actually discovered the bug yet...
07:28 virtualsue joined #perl6
07:32 kaleem joined #perl6
07:33 TimToady yup, that was where the compile time went too, back to 78 seconds now
07:33 TimToady (with a possible bugfix)
07:34 TimToady ((nope))
07:35 xinming joined #perl6
07:35 kshannon joined #perl6
07:35 ilogger2 joined #perl6
07:38 darutoko joined #perl6
07:40 slavik joined #perl6
07:46 SamuraiJack joined #perl6
07:51 kshannon joined #perl6
07:52 FROGGS joined #perl6
07:58 xinming joined #perl6
08:02 sivoais joined #perl6
08:08 xinming joined #perl6
08:10 zakharyas joined #perl6
08:12 rurban1 joined #perl6
08:13 SamuraiJack_ joined #perl6
08:16 xinming joined #perl6
08:30 tadzik joined #perl6
08:33 tgt joined #perl6
08:34 xinming joined #perl6
08:38 tadzik joined #perl6
08:38 tadzik something's very wrong with feather's connection
08:39 pdcawley joined #perl6
08:39 moritz there's something wrong with connectivity in the state of Denmar^Wthe Netherlands? :-)
08:40 tadzik :)
08:54 * moritz will be offline most of today and tomorrow
09:00 k1lldash9 joined #perl6
09:00 xinming joined #perl6
09:10 kaleem_ joined #perl6
09:12 dakkar joined #perl6
09:15 dayangkun joined #perl6
09:15 kaleem joined #perl6
09:21 dmol joined #perl6
09:21 denisboyun joined #perl6
09:27 kaleem joined #perl6
09:32 xinming_ joined #perl6
09:34 timotimo o/
09:40 atroxaper joined #perl6
09:40 xinming joined #perl6
09:40 timotimo the end of the month nears and no star releaser has stepped up, to my knowledge :|
09:45 SamuraiJack_ joined #perl6
09:54 rindolf joined #perl6
09:56 21WACHYYM joined #perl6
09:57 timotimo https://gist.github.com/timo/8f9a5591cdb48dcd0ab1   :\
09:59 masak I like how the passing test before that is called "we didn't segfault"
09:59 masak famous last words.
09:59 masak "phew! that was a tought one... but we survived!" *death*
09:59 masak tough*
10:00 Maddingue joined #perl6
10:00 timotimo :)
10:01 timotimo also: 1 megabyte lost all in all, that's a lot :|
10:04 jnthn timotimo: The work sharing code in parallel GC hasn't been exercised on a real workload until now.
10:04 jnthn timotimo: It'd be more surprising if we didn't find bugs.
10:05 timotimo jnthn: so, should i assume my changes aren't to blame? this is with the string_pressure branch
10:05 jnthn timotimo: Oh. Hm.
10:06 jnthn timotimo: *Probably* not. Probably you just changed when GC happens.
10:06 jnthn I'll try and find time to review that branch (which I'd like to do before it gets merged)
10:07 timotimo sure, the change to gc_status is potentially dangerous
10:07 timotimo so you're definitely right to want to review it before merging
10:10 FROGGS timotimo: what test file is this?
10:10 timotimo threads.rakudo.moar.t
10:11 FROGGS k
10:11 atroxaper joined #perl6
10:12 atroxaper Good morning, #perl6 !
10:12 FROGGS hi atroxaper
10:12 atroxaper FROGGS: Hi!
10:13 timotimo hi there :)
10:14 mavcunha joined #perl6
10:14 atroxaper I have a bussiness trip to Paris for two months from my Siberia.)
10:14 atroxaper timotimo: Hi!
10:15 atroxaper Paris is really nice)
10:16 FROGGS I'll just see Paris's airport in march
10:17 jnthn Hm, iirc I've been in Siberia more recently than I've been in Paris :)
10:19 atroxaper jnthn: where in Siberia?
10:22 masak morning, atroxaper.
10:22 masak atroxaper: I can tell you're from Russia, because you close your parens but you do not open them :P
10:22 jnthn atroxaper: Novosibirsk last time, but I also have in my life done Trans-Sib railway ))
10:22 * masak .oO( Russians only open parens when they're sad )
10:23 jnthn atroxaper: So been many places.
10:24 atroxaper jnthn: I live in Novodibirsk. Tell me if you are going to visit it again.
10:26 atroxaper masak: Is only russians do so?
10:27 atroxaper masak: nice note. I'll remember it. ')'
10:28 masak atroxaper: yeah, it seems to be a Russian/slavic thing to not include the eyes of the smiley.
10:28 masak atroxaper: I still think it's reasonably avant-garde to get rid of the nose :)
10:28 jnthn atroxaper: Seen it used by Ukrainians also... It just doesn't surprise me any more... ) But masak seems creeped out by the eyelessness ;)
10:28 masak atroxaper: but you people go one step further!
10:29 masak not creeped out. just amused ))))
10:29 * masak gives atroxaper and jnthn some spare sets of eyes ::::::::::
10:29 * jnthn uses them to prevent backtracking in his regexes instead
10:29 FROGGS bah! :o(
10:30 xinming_ joined #perl6
10:32 mavcunha joined #perl6
10:37 atroxaper We not include eyes because multi parens for noting a grade of smile. Maybe ':)))' does't look well. On the other hand ':):):)' takes too many time.
10:38 atroxaper Some people write '(:'. That really weird for me.
10:39 timotimo
10:39 tadzik ( ͡° ͜ʖ ͡°)
10:40 jnthn I have to backtrack to parse (:. I parse it as sad on the first char, then have to re-parse it as happy... :)
10:40 tadzik r: "( ͡° ͜ʖ ͡°)".chars.say
10:40 camelia rakudo-parrot da53ec, rakudo-jvm da53ec, rakudo-moar da53ec: OUTPUT«11␤»
10:40 tadzik hmm, I count 8
10:42 kivutar joined #perl6
10:45 masak tadzik: me too.
10:46 masak tadzik: submit it!
10:46 masak clearly we should have a ( ͡° ͜ʖ ͡°) in RT :D
10:47 jnthn Need Flippin' Graphemes
10:48 masak those graphemes, how they flip.
10:49 tadzik n: "( ͡° ͜ʖ ͡°)".chars.say
10:49 camelia niecza v24-109-g48a8de3: OUTPUT«11␤»
10:49 tadzik ha!
10:50 tadzik oh, no-ha
10:50 tadzik so maybe it's not wrong after all
10:50 masak I'd say it is.
10:50 masak if by .chars we mean "graphs".
10:50 * timotimo wishes to tackle https://questhub.io/realm/perl/​quest/52d6ad48f6d329441a000089 today
10:51 masak which I *think* we do.
10:51 jnthn By default .chars means .graphs, I believe.
10:52 tadzik reported
10:55 masak tadzik++
10:55 masak let's see what RT does with those characters :P
10:55 tadzik I'm mildly amused by my choice of words :)
10:57 donaldh joined #perl6
10:58 masak RT++ # renders the face quite nicely
11:01 * tadzik just noticed he bought a concert tickets for one of the PLPW days
11:05 timotimo maybe i'll think about how breakpoints for the "target code" could be implemented in the gdb support for moarvm
11:10 denisboyun joined #perl6
11:17 FROGGS tadzik: can you have a look at that PR?
11:19 mtk joined #perl6
11:23 tadzik FROGGS: oh, by all means
11:23 FROGGS humm?
11:23 tadzik yes, I can have a look :)
11:24 FROGGS ossum *g*
11:24 FROGGS #69 would be important to merge also
11:26 tadzik I have mixed feelings about #69
11:26 tadzik it looks like a workaround of sorts, for something I don't understand
11:26 FROGGS I think I can explain
11:27 FROGGS it is the same problem as like pushing to an array you are iterating lazily over
11:27 FROGGS so in this can we create a .work dir in cwd, and then interating over cwd and the stuff that we created in that run
11:28 FROGGS so fetching the dir list eagerly before we write to that dir seems very very sane
11:28 FROGGS we should perhaps add a comment that says "eager evaluation needed here because we write to that directory"
11:31 tadzik ah!
11:31 tadzik of course
11:31 tadzik tell me: in moar-support, is compsuffix() used for anything?
11:32 tadzik since Builder moved to comptarget
11:32 tadzik ah, I see it now
11:32 tadzik you pass --target=mbc, but what you get out if .moarvm
11:32 tadzik is that so?
11:32 FROGGS yes
11:32 FROGGS target is mbc but fileext is moarvm
11:32 tadzik that's weird
11:33 FROGGS but not my fault :o)
11:33 tadzik I know :)
11:33 timotimo well, we don't want to call it "moarvm byte code file"
11:33 timotimo because that's not really what it is
11:33 timotimo but --target=moarvm is even more confusing
11:34 tadzik maybe comptarget could be: if 'moar' { 'mbc' } else { compsuffix(@_) }
11:34 tadzik less code duplication
11:34 tadzik food&
11:35 timotimo hoelzro: do you know of any way to make vim cleverer about syntax highlighting beginning in the middle of a file?
11:39 Sqirrel joined #perl6
11:40 FROGGS tadzik: that sounds good
11:41 FROGGS timotimo / jnthn: perl6-m t/spec/S17-concurrency/thread.rakudo.jvm passes on my box
11:41 timotimo rakudo.jvm? :)
11:42 FROGGS timotimo: so I don't have to fudge it :o)
11:43 FROGGS the last three are skipped though
11:43 timotimo of course
11:44 timotimo hm.
11:44 timotimo how do i work a suggestion a la "the routine xx doesn't exist, but an infix operator xx does. maybe you need to add () before it?" into the X::Undeclared::Symbols?
11:45 timotimo maybe we could have a role "Suggestions" that would add any string to an exception's message?
12:02 atroxaper joined #perl6
12:06 timotimo https://gist.github.com/timo/ae5b88787b04aae3aa49
12:09 timotimo maybe this error could be tackled from the other direction
12:09 timotimo "parsed a term with arguments that doesn't take arguments"?
12:12 timotimo that's probably pretty fragile.
12:31 grondilu joined #perl6
12:31 grondilu check out my rewrite of http://rosettacode.org/wiki/One-di​mensional_cellular_automata#Perl_6 guys.  I gotta say I'm kind of proud of it.
12:31 timotimo hm. the artistic license 2 is kind of long
12:36 timotimo it seems like a very sensible license
12:55 Ven joined #perl6
12:56 atroxaper i've been waiting to ask why the main branch of Rakudo names 'nom'?
12:59 timotimo it's named after the "new object model"
12:59 timotimo which refers to 6model
13:00 atroxaper masak: one more thing about russian people. Often we write 'i' instead of 'I' becouse in russian language we should write 'You' instead of 'you' (with respect to somebody). And don't use single quotes at all :)
13:01 timotimo the I vs You thing is a thing in german as well :)
13:01 Ven r: class A { has @.stuff; }; my A $a .= new(:stuff(<a b c lel e f>)); sub doom(A $a (:stuff [$first, *@rest])) { say :rest($a).perl; }; doom($a);
13:01 camelia rakudo-parrot da53ec, rakudo-jvm da53ec, rakudo-moar da53ec: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfile�Malformed parameter�at /tmp/tmpfile:1�------> [32mstuff(<a b c lel e f>)); sub doom(A $a ([33m�[31m:stuff [$first, *@rest])) { say :rest($…»
13:04 Ven r: class A { has @.stuff; }; my A $a .= new(stuff => <a b c lel e f>); sub doom(A $a (:stuff [$first, *@rest])) { say :rest($a).perl; }; doom($a);
13:04 camelia rakudo-parrot da53ec, rakudo-jvm da53ec, rakudo-moar da53ec: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfile�Malformed parameter�at /tmp/tmpfile:1�------> [32muff => <a b c lel e f>); sub doom(A $a ([33m�[31m:stuff [$first, *@rest])) { say :rest($…»
13:06 Ven r: class A { has @.stuff; }; my A $a .= new(:stuff(<a b c lel e f>)); sub doom(A $a ( :stuff [$first, *@rest] ) ) { say :rest($a).perl; }; doom($a);
13:06 camelia rakudo-parrot da53ec, rakudo-jvm da53ec, rakudo-moar da53ec: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfile�Malformed parameter�at /tmp/tmpfile:1�------> [32mtuff(<a b c lel e f>)); sub doom(A $a ( [33m�[31m:stuff [$first, *@rest] ) ) { say :rest…»
13:06 Ven err.
13:08 jnthn :stuff isn't a valid named param decl; needs to be :$stuff
13:09 Mouq joined #perl6
13:09 timotimo :\stuff could also work if you want it to be called just "stuff"
13:09 Ven jnthn: http://perlcabal.org/syn/S06.htm​l#Unpacking_tree_node_parameters is where I'm taking that from
13:10 Ven r: class A { has @.stuff; }; my A $a .= new(:$stuff(<a b c lel e f>)); sub doom(A $a ( :stuff [$first, *@rest] ) ) { say :rest($a).perl; }; doom($a);
13:10 camelia rakudo-parrot da53ec, rakudo-jvm da53ec, rakudo-moar da53ec: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfile�Variable '$stuff' is not declared�at /tmp/tmpfile:1�------> [32m{ has @.stuff; }; my A $a .= new(:$stuff[33m�[31m(<a b c lel e f>)); sub d…»
13:10 masak atroxaper: yes, the 'You' thing is widespread in many languages.
13:10 masak atroxaper: only the British and US tribes are self-centered enough to capitalize 'I' instead :P
13:10 timotimo %)
13:11 Ven jnthn: not sure I get what you mean
13:13 colomon grondilu: your code seems elegant, but is about 75% mystifying to me.
13:15 pmurias_ joined #perl6
13:15 jnthn Ven: I said parameter, not argument... :)
13:15 pmurias joined #perl6
13:15 timotimo Ven: let's sing the doom song!
13:15 pmurias timotimo: re suggestion error message, wouldn't it make sense to mix in a suggestion role of sorts?
13:15 jnthn Ven: You need the $ in the signature
13:15 timotimo pmurias: isn't that exactly what i suggested? :)
13:16 Ven r: class A { has @.stuff; }; my A $a .= new(:stuff(<a b c lel e f>)); sub doom(A $a ( :$stuff [$first, *@rest] ) ) { say :rest($a).perl; }; doom($a);
13:16 camelia rakudo-parrot da53ec, rakudo-jvm da53ec, rakudo-moar da53ec: OUTPUT«"rest" => A.new(stuff => Array.new("a", "b", "c", "lel", "e", "f"))␤»
13:16 pmurias timotimo: just noticed that ;)
13:16 timotimo okay :)
13:16 timotimo glad to see you
13:16 timotimo how's life? :)
13:16 Ven r: class A { has @.stuff; }; my A $a .= new(:stuff(<a b c lel e f>)); sub doom(A $a ( :@stuff [$first, *@rest] ) ) { say :rest($a).perl; }; doom($a);
13:16 camelia rakudo-parrot da53ec, rakudo-jvm da53ec, rakudo-moar da53ec: OUTPUT«"rest" => A.new(stuff => Array.new("a", "b", "c", "lel", "e", "f"))␤»
13:16 Ven r: class A { has @.stuff; }; my A $a .= new(:stuff(<a b c lel e f>)); sub doom(A $a ( :@stuff [$first, *@rest] ) ) { say @rest.perl; }; doom($a);
13:16 camelia rakudo-parrot da53ec, rakudo-jvm da53ec, rakudo-moar da53ec: OUTPUT«Array.new("b", "c", "lel", "e", "f")␤»
13:17 Ven ok, that seems to be what I wanted indeed
13:17 timotimo holy crap
13:17 timotimo :$foobar.perl
13:17 timotimo that's a really cool way to output the name and value of a variable
13:17 timotimo like, for debugging purposes
13:18 Ven jnthn: I believe this needs fixing http://perlcabal.org/syn/S06.htm​l#Unpacking_tree_node_parameters <= here, right ?
13:18 Ven it's missing the $
13:18 Ven docs too long for github PR
13:19 timotimo oh, looks like a good catch!
13:20 awwaiid joined #perl6
13:20 colomon grondilu: ah, figured it out
13:21 Ven timotimo: might miss a @ instead, though
13:21 Ven r: class A { has @.stuff; }; my A $a .= new(:stuff(<a b c lel e f>)); sub doom(A $a ( :$stuff [$first, *@rest] ) ) { say @rest.perl; }; doom($a);
13:21 camelia rakudo-parrot da53ec, rakudo-jvm da53ec, rakudo-moar da53ec: OUTPUT«Array.new("b", "c", "lel", "e", "f")␤»
13:21 Ven meh, that's the same
13:23 pmurias timotimo: just started a new semester, I still have to finish some $other perl5 stuff before resuming work on rakudo-js
13:24 timotimo that's fine :)
13:25 Ven pmurias: is rakudo-js on github ?
13:28 FROGGS Ven: yes, see https://github.com/pmurias/rakudo-js
13:28 Ven I should've guessed :). ++>>[ FROGGS , pmurias ]
13:28 FROGGS *g*
13:28 timotimo why is that ++>> and not ++<< ?
13:29 FROGGS m: constant FROGGS = 1; constant pmurias = 1; ++>>[ FROGGS , pmurias ]
13:29 camelia rakudo-moar da53ec: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/4YYAiHpm0p�Preceding context expects a term, but found infix + instead�at /tmp/4YYAiHpm0p:1�------> [32mant FROGGS = 1; constant pmurias = 1; ++[33m�[31m>>[ FROGGS , pmurias ][0m�»
13:29 FROGGS well, does not make much sense with constants anyway >.<
13:30 * timotimo has been digging into the qt-creator source and asking questions on #qt-creator
13:30 FROGGS m: my \FROGGS = 1; my \pmurias = 1; say ++<<[ FROGGS , pmurias ]
13:30 camelia rakudo-moar da53ec: OUTPUT«2 2␤»
13:30 timotimo the architecture and design of the thing is a work of art
13:30 FROGGS timotimo: in a good way?
13:30 timotimo yes
13:30 timotimo FROGGS: don't be so humble, you're at least 10! and pmurials, too
13:31 FROGGS timotimo: I am just one :o)
13:32 Ven timotimo: because I'm tired ! eh
13:35 spider-mario joined #perl6
13:39 Ven r: sub a($n) { $n so true; }; a(1);
13:39 camelia rakudo-parrot da53ec, rakudo-jvm da53ec, rakudo-moar da53ec: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfileâ�¤Two terms in a rowâ�¤at /tmp/tmpfile:1â�¤------> [32msub a($n) { $n [33mâ��[31mso true; }; a(1);[0mâ�¤    expecting any of:â�¤        postfix…»
13:39 Ven I remember seeing that, though. I'll need to find it again ...
13:43 Ven r: sub b($v) { say $v.perl; }; sub a($n) { b so true; }; a(1);
13:43 camelia rakudo-parrot da53ec, rakudo-jvm da53ec, rakudo-moar da53ec: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfileâ�¤Undeclared routine:â�¤    true used at line 1â�¤â�¤Â»
13:43 Ven r: sub b($v) { say $v.perl; }; sub a($n) { b so 1; }; a(1);
13:43 camelia rakudo-parrot da53ec, rakudo-jvm da53ec, rakudo-moar da53ec: OUTPUT«Bool::True␤»
13:43 Ven That might
13:43 Ven That might've been it, wouldn't make sense otherwise
13:45 pdcawley joined #perl6
13:46 rurban1 joined #perl6
14:13 xragnar_ joined #perl6
14:13 awwaiid joined #perl6
14:22 salv0 joined #perl6
14:28 araujo joined #perl6
14:33 btyler joined #perl6
14:39 [Sno] joined #perl6
14:48 hoelzro timotimo: there's a way, but I've never learned enough to make it work right
14:48 skids joined #perl6
14:52 hoelzro dammit, another thing to support: https://github.com/atom
14:57 araujo joined #perl6
14:57 Mouq joined #perl6
14:57 rindolf joined #perl6
14:59 rurban1 joined #perl6
15:00 geekosaur another text editor? *baps github*
15:01 geekosaur you fools want I should learn *another* editor?
15:01 rindolf geekosaur: what?
15:01 geekosaur [27 14:52] <hoelzro> dammit, another thing to support: https://github.com/atom
15:02 rindolf geekosaur: ah, yes, I heard about it.
15:02 rindolf I was told there were some heated threads about it on reddit.
15:02 geekosaur (also referencing an old comic that I can't find any more about the zen master and the grasshopper who wants to solve the editor wars by building an editor combining both...)
15:05 jnap joined #perl6
15:06 treehug88 joined #perl6
15:11 darutoko- joined #perl6
15:13 Gruber joined #perl6
15:14 ggoebel1119 joined #perl6
15:14 spider-mario_ joined #perl6
15:14 bonsaikitten joined #perl6
15:15 sivoais joined #perl6
15:15 yihshih joined #perl6
15:17 genehack_ joined #perl6
15:22 pecastro joined #perl6
15:22 spider-mario joined #perl6
15:23 [Coke] still no daily runs.
15:23 grondilu joined #perl6
15:23 _thou joined #perl6
15:23 bjz joined #perl6
15:24 [Coke] There is already a ticket that .chars doesn't mean .graphs.
15:24 [Coke] https://rt.perl.org/Ticket/Display.html?id=65170
15:26 nwc10 merge! child?
15:26 nwc10 "references"?
15:26 nwc10 things RT can do.
15:26 nwc10 (which I think you already know)
15:27 [Coke] Yes. I'm mentioning it here to let someone who actually understands the -contents- of the tickets to chime in, then I can do the dirty bugadmin work.
15:27 sorear joined #perl6
15:28 yves_ joined #perl6
15:28 rindolf joined #perl6
15:29 mtk joined #perl6
15:31 * masak merges #121338 into #65170
15:31 * synopsebot Link: https://rt.perl.org/rt3//Publ​ic/Bug/Display.html?id=121338
15:31 masak [Coke]++
15:32 masak synopsebot: heh, you realize that was two RT references, right? :)
15:32 masak not that it matters in this case, since I merged them :P
15:33 [Coke] masak++ #thanks
15:33 xinming joined #perl6
15:41 Guest23735 joined #perl6
15:42 * moritz back
15:46 hoelzro hmm
15:46 hoelzro apparently you can fairly easily convert a Textmate bundle to support Atom
15:46 timotimo that sounds good
15:47 hoelzro well, we can kill two birds with one stone =)
15:49 hoelzro oh, I didn't know TM was OS X only
15:49 hoelzro now there's no hope of me working on it =/
15:49 treehug88 joined #perl6
15:50 erkan joined #perl6
15:50 hoelzro I just saw this in Grammar.pm:
15:50 hoelzro for $<module_name>
15:50 hoelzro how could that ever work?
15:51 hoelzro shouldn't that be for $<module_name>.list?
15:51 moritz remember that Grammar.pm is NQP code
15:51 hoelzro ahhhh
15:51 hoelzro so that's different in NQP?
15:51 moritz yes
15:51 moritz there is no flattening in NQP
15:51 hoelzro ah, I keep forgetting that
15:51 moritz and 'for' always iterates over an array
15:52 moritz and there's no distinction between itemized arrays and "flat" arrays
15:52 hoelzro ok
15:57 Guest23735 joined #perl6
16:00 jnap1 joined #perl6
16:05 timotimo do we have e standard for what an "app" package should look like?
16:05 timotimo lib/ folder with lib/App/Programname/* and bin/ folder with the runnable in it?
16:11 FROGGS yes, that is it mostly
16:13 _thou joined #perl6
16:14 awwaiid joined #perl6
16:17 timotimo sounds good.
16:19 kst joined #perl6
16:21 torbjorn joined #perl6
16:22 fhelmberger joined #perl6
16:29 timotimo is there something like perl6 -Mfoobar that will run the given module and any MAIN if there is one?
16:29 timotimo there's -M to load a module "prior to running the program" which doesn't seem to be exactly what i mean?
16:30 PerlJam perl6 Module.pm6  will run any MAIN if there is one
16:30 PerlJam well, any that matches the appropriate sig
16:32 timotimo ah, good.
16:34 hoverboard joined #perl6
16:36 FROGGS perl6 -Mfoobar will just run the repl with that module loaded
16:36 timotimo mhm
16:37 molaf__ joined #perl6
16:42 hoelzro it would be nice to combine the running MAIN of perl6 Module.pm6 with the search through @*INC
16:42 hoelzro but then again, can't you just distribute a small script that invokes your module?
16:45 PerlJam Is there a way to skip a positional parameter when calling a subroutine such that it just uses the default?
16:46 moritz maybe passing Nil?
16:47 moritz no idea if rakudo supports that, and if it's specced
16:47 jnthn Generally that means "shoulda used named args" :)
16:47 jnthn uh, parameters
16:48 moritz I agree, but the caller doesn't always have the power to refactor the callee
16:48 jnthn True :)
16:48 PerlJam Aye, and I'm wondering about porting Perl 5 code that may use this "feature"
16:48 hoelzro Nil as the argument seems to make sense
16:50 timotimo hoelzro: just like some .so files being actually executable (try it!), python has the convention that if you launch a module with python -m foo.bar.baz, it will execute the section that's separated out by the "if __name__ == '__main__'"
16:50 timotimo which is kind of meh, but ... whatevs :)
16:50 moritz m: sub f($a = 'a', $b = 'b') { say ($a, $b).perl }; f(Nil, 'c')
16:50 camelia rakudo-moar da53ec: OUTPUT«(Nil, "c")␤»
16:50 hoelzro timotimo: right
16:50 hoelzro I'm just wondering if that idea is Perl6y
16:51 moritz well, you can include a MAIN in a module
16:51 hoelzro to me, it's interesting that I can run a script via "script-name", which searches PATH
16:51 moritz and it's only executed if you run the module as a script
16:51 hoelzro or I can run a module via "perl6 -m ModuleName", which searches @*INC
16:51 colomon joined #perl6
16:51 hoelzro (theoretical usage, of course)
16:51 moritz but there seems to be no combination of searching in @*INC and executing MAIN
16:52 hoelzro moritz: that's what I was getting at with -m
16:52 moritz hoelzro: yes, I understand
16:52 hoelzro if I want to run code as an executable, shouldn't I only have to worry about PATH?
16:52 hoelzro why throw more variables into the equation
16:53 moritz yes, adding a script in $PATH is certainly the least hacky / most obvious way
16:53 geekosaur shells use $PATH, perl uses @*INC, what's the problem?
16:54 geekosaur perl is not the shell
16:54 geekosaur C compilers don't search PATH for libraries either
16:55 hoelzro right, but it's generally understood (I think?) that one var is for executables, and another is for libraries
16:55 geekosaur my point is, you explicitly said a module, not a script
16:55 hoelzro granted, this usage would require the user to say "run this module"
16:55 FROGGS perl does not search in PATH for scripts when I do: perl -e foobar.pl
16:55 geekosaur system facilities know executables (scripts) not "modules"
16:56 hoelzro and they should understand that, I guess
16:56 geekosaur perl defines "module", by its rules
16:56 geekosaur and most modules have no business being on $PATH; "execute a module" is kinda weird on its face
16:56 jnap joined #perl6
16:56 hoelzro I'm not saying that adding "search for this module and run it" is a bad idea; I'm more thinking about it =)
16:57 hoelzro I wouldn't want something to be added just because Python has it
16:57 geekosaur (I used the libraries thing for a reason; a module is more like a library than a program)
16:57 PerlJam hoelzro: seems interesting to me. Dunno if there's a real need for it though.
16:58 hoelzro I think it's interesting too
16:58 hoelzro the one instance I found myself wanting something like that in Perl 5 was serving the current directory
16:58 hoelzro in Python, it's something like python -m SimpleHttpServer
16:59 hoelzro but the distributor could always bundle up a script to launch the appropriate module...
16:59 geekosaur note, I'm not saying "execute a module" is *wrong*, just that it's not an obvious normal case. just like on Linux you can execute a shared library (the only one normally provided that *supports* this is libc.so and it just tells you about the libc version etc.)
16:59 hoelzro geekosaur: I think we're both just elaborating on the idea =)
17:00 FROGGS[mobile] joined #perl6
17:03 hoelzro how can I list where a module is loaded from?
17:03 hoelzro (%INC in Perl 6)
17:03 hoelzro er, Perl 5
17:04 hoelzro hmm
17:04 moritz %*INC in rakudo
17:04 hoelzro if I use/need a module twice, does it get parsed/compiled twice?
17:04 hoelzro moritz: that didn't work for me
17:05 moritz erm
17:05 moritz wait
17:05 timotimo i think modules are cached; though if you supply arguments and it has an EXPORT sub, that should be re-run of course
17:06 hoelzro interesting...if I delete the precompiled .moarvm file in my module loading test for MoarMoneyMoarProblems, the test passes
17:06 moritz hoelzro: it's stored in a lexical inside Perl6::ModuleLoader
17:06 hoelzro also, a say() line in the precompiled module is run twice
17:07 hoelzro this just gets moar and moar interesting..
17:11 timotimo hoelzro: what about a BEGIN say?
17:11 hoelzro hmm
17:11 hoelzro I'll try it
17:12 hoelzro grr
17:12 hoelzro I fubar'd my mokudo
17:18 timotimo :(
17:35 kivutar joined #perl6
17:42 vendethiel joined #perl6
17:42 FROGGS joined #perl6
17:44 * timotimo builds a zeroconf-based "serverless" paste service for qt-creator to get accustomed to the codebase
17:46 [Coke] If you want to run a module's main without the six equiv of $^X, you can manually invoke it.
17:46 [Coke] no?
17:47 timotimo i don't know what $^X is
17:47 timotimo the difference between manually invoking it and using -M is the way you specify the path
17:47 timotimo perl6 -Minvoke Foo::Bar::Baz vs perl6 /home/timo/perl6/lib/Foo/Bar/Baz.pm6
17:48 [Coke] i don't understand. if you're loading a module, you use whatever use is doing. yes/
17:48 [Coke] timotimo: why on earth would you do the former on the command line?
17:48 [Coke] ... eh, i retract that, it seems vaguely useful. But it's clearly not the same thing:  you want to use the name, you use the INC path, no?
17:49 [Coke] isn't this just timtoady?
17:49 benabik joined #perl6
17:49 TimToady wow, that's the first time I was able to sleep 8 hours in about three weeks
17:51 xenoterracide joined #perl6
17:51 timotimo TimToady: 8 hours in three weeks is really not much sleep! you should really sleep at least one hour a day!
17:52 TimToady I also try to sleep one hour a day :P
17:52 timotimo [Coke]: the difference is that you can just say "run the module named foo" rather than having to know where it is
17:52 timotimo the -Minvoke is just my "pretend implementation" of this feature
17:53 [Coke] timotimo: what are you saying is the problem here?
17:54 [Coke] I see two ways of doing the same thing that you might want to use depending on the situation.
17:54 _thou joined #perl6
17:54 timotimo yes. the former is currently impossible, though :)
17:55 [Coke] the first one shoudl be spelled 'perl6 -MFoo::Bar::Baz MAIN', mebbe?
18:00 colomon TimToady: does the sleep deprivation explain the decision to start committing changes to Rakudo?  ;)
18:01 TimToady undoubtedly 8]
18:01 TimToady hmm, that one looks like Cookie Monster
18:02 TimToady 8)  <-  Kermit
18:03 TimToady 8] 8 88
18:03 TimToady or 888 since most cookie sheets are rectangular
18:15 tgt joined #perl6
18:18 berekuk joined #perl6
18:28 bluescreen10 joined #perl6
18:33 TimToady grondilu: http://rosettacode.org/wiki/One-di​mensional_cellular_automata#Perl_6 is spectacular.  However, since I just made [Z+] work a couple days ago, I fixed your example for you.  :)
18:34 colomon grondilu++ TimToady++
18:35 * colomon is still not convinced by the <| |>,join: Str idiom
18:35 bjz_ joined #perl6
18:35 moritz colomon: what's the idiom?
18:35 TimToady using .join inside-out
18:36 colomon what TimToady said.  for instance, method gist { <| |>.join: @!cells.map({$_ ?? '#' !! ' '}).join }
18:36 TimToady treating the string as the delimiter
18:36 colomon and the delimiters as the list argument for join
18:37 TimToady it's kinda the same idea as '[' ~ ']' in regex
18:37 colomon TimToady: I'm not wildly comfortable with that, either.  :)
18:37 TimToady putting the opener and closer next to each other makes the intent clearer
18:38 colomon but using join makes the intent less clear
18:39 TimToady would <| |>.insert: be more to your liking
18:39 TimToady ?
18:39 colomon … I don't know.
18:40 colomon my code will probably give it as '|' ~ whatever ~ '|' for the foreseeable future.
18:41 TimToady which works as long as whatever is shorter than  @!cells.map({$_ ?? '#' !! ' '}).join
18:41 moritz m: use MONKEY_TYPING; augment class Str { method enclosed-by($a, $b = $a) { $a ~ self ~ $b } }; 'foo'.surrounded-by: '|'
18:41 camelia rakudo-moar da53ec: OUTPUT«No such method 'surrounded-by' for invocant of type 'Str'␤  in block  at /tmp/UcZNimHKuU:1␤␤»
18:41 moritz m: use MONKEY_TYPING; augment class Str { method enclosed-by($a, $b = $a) { $a ~ self ~ $b } }; 'foo'.enclosed-by: '|'
18:41 camelia rakudo-moar da53ec: ( no output )
18:41 moritz m: use MONKEY_TYPING; augment class Str { method enclosed-by($a, $b = $a) { $a ~ self ~ $b } }; say 'foo'.enclosed-by: '|'
18:42 camelia rakudo-moar da53ec: OUTPUT«|foo|␤»
18:42 moritz m: use MONKEY_TYPING; augment class Str { method enclosed-by($a, $b = $a) { $a ~ self ~ $b } }; say 'foo'.enclosed-by: |<| |>
18:42 camelia rakudo-moar da53ec: OUTPUT«|foo|␤»
18:42 moritz m: use MONKEY_TYPING; augment class Str { method enclosed-by($a, $b = $a) { $a ~ self ~ $b } }; say 'foo'.enclosed-by: |«< >»
18:42 camelia rakudo-moar da53ec: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/AHBLBV15f4â�¤Confusedâ�¤at /tmp/AHBLBV15f4:1â�¤------> [32m ~ $b } }; say 'foo'.enclosed-by: |«< >»[33mâ��[31m<EOL>[0mâ�¤    expecting any of:â�¤        postfixâ�¤Â»
18:42 TimToady I'm just wondering whether there's a different primitive that alternates whose degenerate case is this
18:42 TimToady insert all the following values between all the preceding values
18:45 colomon looking at the RC code again, would @.code work as well as self.code ?  I think the former might be clearer.  (Though switching it from hash to array is already a huge step forward in clarity of intent -- I spent ten minutes thinking the old self.code{ } was trying to pass a code block to the function code.
18:45 timotimo .fmt("|%s|")?
18:45 colomon (changing the subject because I don't have a good answer to TimToady++'s question.)
18:45 timotimo r: <foo bar baz>.join(" ").fmt("|%s|").say
18:45 camelia rakudo-parrot da53ec, rakudo-jvm da53ec, rakudo-moar da53ec: OUTPUT«|foo bar baz|␤»
18:45 timotimo ^ this seems okay
18:45 timotimo and still puts the | | close together
18:45 moritz .fmt('|%s') looks fairly nice, timotimo++
18:46 colomon timotimo++ # perhaps less elegant, but definitely more to my liking
18:46 colomon r: <foo bar baz>.fmt("|%s|").say
18:46 camelia rakudo-parrot da53ec, rakudo-jvm da53ec, rakudo-moar da53ec: OUTPUT«|foo| |bar| |baz|␤»
18:46 TimToady r: <foo bar baz>.Str.fmt("|%s|").say
18:46 camelia rakudo-parrot da53ec, rakudo-jvm da53ec, rakudo-moar da53ec: OUTPUT«|foo bar baz|␤»
18:46 * colomon didn't recall whether or not .fmt distributed across lists.
18:47 TimToady same keystrokes as join :)
18:47 moritz r: say <foo bar baz>.fmt('%s', ', ')
18:47 camelia rakudo-parrot da53ec, rakudo-jvm da53ec, rakudo-moar da53ec: OUTPUT«foo, bar, baz␤»
18:49 timotimo hmm. i could imagine a three-argument-version of fmt
18:50 timotimo .fmt($foo, '%s', ', ') could then be equivalent to .fmt('%s', ', ').fmt($foo)
18:50 timotimo hm, no, that's kinda weird
18:50 timotimo then you'd have something like "|%s|", "%s", ", "
18:50 timotimo that's a mighty big WAT
18:50 grondilu about this cellular automaton code:  it is very slow.  I'm looking forward to the day it will run fast.  But meanwhile if someone has ideas to speed it up, please go ahead.
18:55 TimToady well, it wants a GPU :)
18:56 timotimo that it does.
18:57 timotimo grondilu: you can have bigger neighbourhoods that get zipped together to create more than one result cell at the next step or alternatively one result cell skipping a few steps
18:57 timotimo those bigger neighbourhoods and the cells they result in can then be cached i na hash
18:57 timotimo that's how HashLife gets so incredibly fast
18:57 skids joined #perl6
18:58 kurahaupo_mobile joined #perl6
18:59 TimToady hmm, my .insert is really a roundrobin in disguise
19:00 FROGGS jnthn: could "Implement CUDA threads for MoarVM" be a GSoC project?
19:00 FROGGS for me it feels as if this would be the right time and it would offer the right amount of work for a student
19:00 grondilu hang on.  Are there serious hopes that P6 will allow GPU programming transparently??
19:01 * grondilu thought TimToady was kidding when he talked about GPU
19:01 timotimo grondilu: i've got that hope in me
19:02 FROGGS my hope is that the compiler might choose to use gpu threads if it sees that it has to compute a few hundreds small tasks at once
19:03 FROGGS and that it chooses to use cpu threads for larger/fewer tasks
19:06 timotimo i think a good first step would be to emit SIMD first
19:06 timotimo that'll already make a huge difference
19:06 timotimo as i understand it, there is significant overhead when putting data onto the GPU and retrieving data back
19:06 timotimo that's not the case with SIMD, afaik
19:07 FROGGS of course is there is some bottelneck
19:07 timotimo now you need to build good heuristics to avoid GPU-offloading if it's not effective  :)
19:08 FROGGS the same issue make you to choose a software surface for one thing and a hardware surface for another
19:08 timotimo mh, right
19:08 nwc10 I would have thought that "working ropes" and "NFG" were more useful projects this year
19:08 FROGGS nwc10: true
19:09 nwc10 CUDA sounds like something that optimises existing functionality. Which seems daft to do before needed functionality is "exsting functionality"
19:10 PerlJam nwc10++ (ropes, NFG)
19:10 timotimo CUDA is problematic, because it's nvidia-only
19:10 timotimo OpenCL on the other hand is very, very poorly supported by NVidia
19:10 timotimo (they only support like OpenCL 1.1 or something like that)
19:14 FROGGS okay okay, scratch that idea then :o)
19:14 timotimo one of these projects (was that opencl?) also supports putting code onto FPGAs and such :)
19:15 hoverboard joined #perl6
19:21 rurban1 joined #perl6
19:22 simcop2387 joined #perl6
19:27 TimToady grondilu: why would I not be serious about GPUs?  SIMD is the main reason for having hypers in the first place?  See also S03:4254 for an explicit reference to GPUs
19:27 synopsebot Link: http://perlcabal.org/syn/S03.html#line_4254
19:27 TimToady s:2nd/'?'/./
19:28 dalek panda/moar-support: 9fb996e | (Tobias Leich)++ | lib/Panda/Common.pm:
19:28 dalek panda/moar-support: simplify compfuffix/comptarget, tadzik++
19:28 dalek panda/moar-support: review: https://github.com/tadzik/panda/commit/9fb996ed88
19:35 TimToady I don't think English capitalizes 'I' out of self-regard, but because simply because people thought 'i' was too hard to see for a pronoun that is going to change how you parse the verb, not to mention all the pragmatics surrounding 1st vs 2nd vs 3rd persons.
19:36 FROGGS p: sub MAIN($where = '.'.path.absolute) { say $where }; MAIN
19:36 camelia rakudo-parrot da53ec: OUTPUT«IO::Path</home/p6eva​l>␤IO::Path</home/p6eval>␤»
19:38 TimToady and there may have been some intererence with normally seeing 'I' at the front of the sentence, so people got used to the capital.
19:38 TimToady i note also that we don't capitalize Me.
19:39 TimToady if it were purely self-regard, we'd capitalize that too :)
19:39 TimToady but We don't do that, do We?
19:39 dmol joined #perl6
19:40 TimToady so I think it's mostly just a visual huffman thing
19:40 tgt joined #perl6
19:46 TimToady another way to look at it is that the ideographical nature of 'I' came to override the regular case rules.  there are probably other examples of this in English
19:48 TimToady some of our characters are fossilized ideographs of words, like & and @
19:49 FROGGS so @ is a word?
19:51 TimToady and the little circles in % and ‰ and ‱ surely used to be 0's
19:52 FROGGS yeah, I've always seen it that way
19:52 FROGGS and was # meant to represent a table? (for a calculation?)
19:53 TimToady and arguably Å is just the ideograph that evolved from Å
19:53 FROGGS O.o
19:54 FROGGS .u Å
19:54 yoleaux U+212B ANGSTROM SIGN [Lu] (Å)
19:54 TimToady so a good case could be made that I is just an ideograph for I, except that Unicode hasn't yet assigned a separate codepoint :)
19:54 FROGGS .u Å
19:54 yoleaux U+00C5 LATIN CAPITAL LETTER A WITH RING ABOVE [Lu] (Å)
19:54 FROGGS *g*
19:57 TimToady though obviously the I/me distinction keeps it from becoming a complete ideograph
19:57 TimToady or we'd write 'I' and pronounce it 'me'
19:58 FROGGS I pronounce it "Ei" :o)
19:59 TimToady I daresay most people write I rather than i because it's the convention, which is breaking down a bit nowadays due to lazy typists
19:59 FROGGS or "egg", even
20:00 grondilu I've made the P5 translation http://rosettacode.org/wiki/E​lementary_cellular_automaton#.7B.7Bheader.7CPerl.7D.7D
20:00 grondilu P5 is waaay faster than P6 on this.
20:01 beastd joined #perl6
20:01 TimToady s/this/most things/
20:01 rurban1 joined #perl6
20:02 grondilu I know but it's kind of worrying because that shows all the work that still needs to be done to catch up with P5
20:02 TimToady in P5 you get the eager optimization for "free" :)
20:02 TimToady so everything is batched
20:03 TimToady we'll have to work a bit harder to propagate eager context
20:03 TimToady you'll note that hypers are implicitly eager, unlike Z
20:03 denis_boyun joined #perl6
20:04 grondilu for some reason I could not overload ++ in P5.  I thought I knew how to do this kind of things.  Haven't done it for quite some time, though.
20:04 TimToady overloading in P5 is a complete hodgepodge of special cases
20:05 TimToady implemented by a brilliant but mad Russian :)
20:06 tgt joined #perl6
20:13 telex joined #perl6
20:17 FROGGS tadzik: I've cloned all ecosystem modules and there are only three that have a Build.pm
20:17 FROGGS Math--ThreeD/Build.pm:    method build ($where) {
20:17 FROGGS perl6-Imlib2/Build.pm:    method build(Pies::Project $p) {
20:17 FROGGS perl6-IUP/Build.pm:    method build(Pies::Project $p) {
20:17 FROGGS and the last two seem to be off
20:18 telex joined #perl6
20:21 hoverboard joined #perl6
20:24 masak TimToady: who implemented overloading in P5?
20:25 lue I seem to be unable to use Panda anymore :(  The error is "Cannot assign a non-Perl 6 value to a Perl 6 container" (previously spelled "cannot unbox to native int"), and it seems to be related to the "when X::Panda" bit in MAIN('install'
20:27 [Coke] oh. hey. I just had a horrible horrible idea involving something like CORBA and our metamodel.
20:28 FROGGS lue: can you provide more information?
20:29 berekuk joined #perl6
20:29 FROGGS lue: what (rakudo) branches are you on? what are you doing to get the error?
20:29 dmol joined #perl6
20:30 lue during bootstrap.pl, under ==>Building File::Find,  panda/master, rakudo/nom, nqp/master, moarvm/flatten_fastpath (though my default perl6 is perl6-p), parrot/master
20:31 lue (I know it's the when conditional because I expanded the CATCH { } into a multiline statement to better see what's failing)
20:35 lue FROGGS:    https://gist.github.com/lue/9258983
20:38 FROGGS lue: can you invoke the shell cmd within bootstrap.pl with --ll-exception added?
20:38 lue sure, just a second
20:41 kivutar joined #perl6
20:43 lue FROGGS: updated the gist.
20:49 tgt joined #perl6
20:49 aindilis joined #perl6
20:52 FROGGS lue: I don't see the issue :/
20:59 kaare_ joined #perl6
21:04 lue :/
21:12 dalek panda/absolute: 026cd23 | (Tobias Leich)++ | / (7 files):
21:12 dalek panda/absolute: use absolute paths where possible
21:12 dalek panda/absolute: review: https://github.com/tadzik/panda/commit/026cd23367
21:16 dayangkun joined #perl6
21:17 bjz joined #perl6
21:27 lue FROGGS: I'm running perl6-j ./bootstrap.pl  , and it got past where parrot died.
21:29 lue perl6-m has segfaults, which considering the existence of panda/moar-support isn't surprising :)
21:29 lue So, it looks to be a Parrot issue I'm having :/
21:29 timotimo pandarot
21:29 FROGGS which is a weird thing
21:34 lue My guess is that for some part of the implicit $_ ~~ X::Panda in the when conditional is making Parrot complain.
21:35 rurban1 joined #perl6
21:42 * lue considers bisecting rakudo to find the issue... too bad parrot is the slowest of them all to build :/
21:53 dayangkun joined #perl6
22:01 treehug8_ joined #perl6
22:07 dayangkun joined #perl6
22:10 rurban lue: where does it die? did you gdb it?
22:11 lue it dies upon "when X::Panda" in bin/panda.
22:12 treehug88 joined #perl6
22:12 lue I'm not sure what I would gdb, seeing as it's a P6/nqp-level exception.
22:12 FROGGS rurban: it dies in perl land, a few layers above gdb
22:12 rurban oh
22:12 * lue is in the process of bisecting rakudo to find where it happens
22:12 FROGGS lue++
22:13 rurban tell me when you found a parrot problem. I just have a lot of parrot time
22:13 FROGGS I have no other idea/advice
22:13 lue the slow, slooow process of bisecting the backend that happens to be the slowest to build rakudo for :)
22:13 FROGGS lue: do you have a "good" revision already?
22:14 lue nope, I'm still waiting to be done compiling the first revision I want to see if it's good (that's 2014.02 specifically)
22:15 FROGGS are you recompiling parrot/nqp also?
22:15 lue nope, just rakudo so far. I hope that's where the error lies :)
22:15 FROGGS should be, yes
22:16 rurban well, gdb should even catch perl errors (using the proper breakpoint)
22:17 FROGGS well, he is far away from such a breakpoint atm
22:18 lue just so everyone here knows, I started compiling just perl6-p at 13:45:33, at it just got done now at 14:17:31 :P
22:18 FROGGS ??
22:18 FROGGS you are not supposed to compile rakudo on your toaster...
22:19 FROGGS that is kinda slow
22:19 lue Yeah, to the point where I wish I had a better way of even finding what the cause is. But I don't :/
22:19 FROGGS I guess it takes about five minutes on my laptop btw
22:20 FROGGS I am compiling rakudo/nom now too
22:20 FROGGS hopefully I get the same problem
22:20 lue Way to make me feel like I have a stupid computer, FROGGS :P
22:20 FROGGS *g*
22:20 _thou joined #perl6
22:21 lue Yeah, if *you* could do the bisecting, it'd be over with in a quarter of the time :)
22:21 FROGGS yeah, we should try :o)
22:21 lue Cool, 2014.02 is a good revision, I'm testing File::Find right now ( /me ^C and goes to the next revision)
22:23 FROGGS okay, I get the same error as you
22:25 lue FROGGS: Note that before a recent update, I instead got "cannot unbox to native int" in the same spot, so I believe that qualifies as the same error.
22:25 BenGoldberg joined #perl6
22:26 FROGGS it definitely feels related, yes
22:27 lue In fact, when I first saw the "Perl 6 object" error message, I thought it was a reworded form of the native int message. Could be wrong though :)
22:27 FROGGS no, it is a different one
22:27 FROGGS p: my $l = nqp::list
22:27 camelia rakudo-parrot da53ec: OUTPUT«Cannot assign a non-Perl 6 value to a Perl 6 container␤  in block  at /tmp/VsJRK0667T:1␤␤»
22:28 FROGGS p: my $l = nqp::hllize( nqp::list )
22:28 camelia rakudo-parrot da53ec: ( no output )
22:28 FROGGS that is one way to trigger it
22:29 rurban I made parrot -O1 stable, -O2 soon. benchmarks: https://github.com/parrot/parrot/​issues/1037#issuecomment-36274524
22:31 FROGGS p: say 16.269/17.428
22:31 camelia rakudo-parrot da53ec: OUTPUT«0.933498␤»
22:32 FROGGS rurban++
22:32 FROGGS btw, my box takes 5m28.473s to build perl6-p 2014.02
22:33 * lue should probably invest in a cooler processor some time :P
22:34 FROGGS I've got a core i5
22:34 timotimo i don't understand these benchmarks?
22:34 masak 'night, #perl6
22:34 FROGGS gnight masak
22:34 lue ♞ masak o/
22:34 masak tomorrow is Perl 6 day for me.
22:34 FROGGS nice!
22:35 masak yes!
22:35 FROGGS :o)
22:35 FROGGS ^---- nose
22:35 lue ja!
22:36 rurban make-4.0 -j10 should help
22:36 rurban make 4 fixes a lot of concurrency issues, and -j10 saturates your cores better
22:36 lue FROGGS: I have a dual core Athlon that came with the computer; should shoot for a much nicer AMD CPU at some point :)
22:36 FROGGS rurban: that does not help building rakudo though
22:36 rurban and using ccache also helps a lot with bisecting
22:37 lue rurban: don't have make 4, so I'll be sure to check out sometime (for other stuff if not rakudo ☺)
22:37 rurban no parallelisms in the rakudo makefile
22:37 FROGGS the problem is that the dependencies almost force a sequential build
22:38 FROGGS and the setting is one huge chunk wich takes like 40% of the total time
22:38 rurban ah, the setting. yes, RAM. nobody has make 4 yet, because some devs spreading the rumors that their builds will break
22:39 rurban it fixed my -j4 builds with some hairy shellcode in the makefile
22:47 FROGGS Bisecting: 4 revisions left to test after this (roughly 2 steps)
22:54 rurban1 joined #perl6
22:56 Alina-malina joined #perl6
23:02 virtualsue joined #perl6
23:02 FROGGS lue: this seems to it: e6c7baf01de1f38175ed4a51f9c2cfab2edfa9ba
23:04 panchiniak joined #perl6
23:05 lue FROGGS: I'm in the process of bisecting 4x as long as you took, let's see in a couple hours or so if my findings corroborate :P Could it possibly be the de-listification of lol there?
23:07 FROGGS lue: my guess is that this X op (METAOP_CROSS) does return something that wants hllizing:
23:07 FROGGS panda/blib/lib/Panda/Builder.pm:8:    my %color_of = @modules X=> 'not yet visited';
23:08 FROGGS p: say < foo bar baz > X=> 'nyv'
23:08 camelia rakudo-parrot da53ec: OUTPUT«Cannot assign a non-Perl 6 value to a Perl 6 container␤  in method REIFY at gen/parrot/CORE.setting:8407␤  in method reify at gen/parrot/CORE.setting:7279␤  in method gimme at gen/parrot/CORE.setting:7724␤  in method push at gen/parrot/CORE.setti…»
23:08 FROGGS \o/
23:08 lue FROGGS: What's weird is that error backtrace does not in any way go past bin/panda
23:08 lue \o/
23:09 FROGGS lue: see https://gist.github.com/lu​e/9258983#file-output-L25
23:09 lue Ah, I was referring to the non---ll-exception backtrace :)
23:09 FROGGS m: say < foo bar baz > X=> 'nyv'
23:09 camelia rakudo-moar da53ec: OUTPUT«"foo" => "nyv" "bar" => "nyv" "baz" => "nyv"␤»
23:10 FROGGS lue: yes, when you hit stuff in the setting, the non-ll hides it often
23:11 Psyche^ joined #perl6
23:11 lue Well no, I'm referring to how I never learned it was in Builder.pm from the error message, which I think at least is Wrong™
23:12 FROGGS I suspected Builder.pm fwiw :o)
23:13 Mouq joined #perl6
23:13 lue Yeah, but still. :) I should still be told where in the code the issue came up.
23:13 FROGGS yes but...
23:20 timotimo joined #perl6
23:23 lue FROGGS: I assume the problem is bigger than a simple nqp::hllize ?
23:23 FROGGS lue: I dunno yet
23:23 FROGGS I am staring at the line else { $i = $i + 1; @j.push($j); $j = 0; }
23:24 lue ah, alright.
23:24 FROGGS that native int $j seems to cause the issue when getting pushed to @j
23:24 FROGGS p: my @j; my int $j = 0; @j.push($j) # like that
23:24 camelia rakudo-parrot da53ec: OUTPUT«Cannot assign a non-Perl 6 value to a Perl 6 container␤  in method REIFY at gen/parrot/CORE.setting:8407␤  in method reify at gen/parrot/CORE.setting:7279␤  in method gimme at gen/parrot/CORE.setting:7724␤  in method push at gen/parrot/CORE.setti…»
23:25 FROGGS damn, I am an awesome golfer :P
23:25 timotimo huh
23:25 timotimo that's not right
23:25 FROGGS don't you say *g*
23:25 timotimo m: my @j; my int $j = 0; @j.push($j); # does that work?
23:25 camelia rakudo-moar da53ec: ( no output )
23:25 FROGGS star: my @j; my int $j = 0; @j.push($j)
23:25 timotimo how did we b0rk that?!
23:25 camelia star 2013-09: OUTPUT«Cannot assign a non-Perl 6 value to a Perl 6 container␤  in method REIFY at src/gen/CORE.setting:8332␤  in method reify at src/gen/CORE.setting:7265␤  in method gimme at src/gen/CORE.setting:7675␤  in method push at src/gen/CORE.setting:7754␤  in metho…»
23:25 lue p6: my @j; my int $j = 0; @j.push($j)
23:26 camelia rakudo-jvm da53ec, rakudo-moar da53ec: ( no output )
23:26 camelia ..niecza v24-109-g48a8de3: OUTPUT«[31m===[0mSORRY![31m===[0m��Malformed my at /tmp/tmpfile line 1:�------> [32mmy @j; my[33m�[31m int $j = 0; @j.push($j)[0m��Parse failed��»
23:26 camelia ..rakudo-parrot da53ec: OUTPUT«Cannot assign a non-Perl 6 value to a Perl 6 container␤  in method REIFY at gen/parrot/CORE.setting:8407␤  in method reify at gen/parrot/CORE.setting:7279␤  in method gimme at gen/parrot/CORE.setting:7724␤  in method push at gen/parrot/CORE.setti…»
23:28 dalek rakudo/nom: 3c80d3a | (Tobias Leich)++ | src/core/metaops.pm:
23:28 dalek rakudo/nom: parrots arrays do not seem to like natives
23:28 dalek rakudo/nom:
23:28 dalek rakudo/nom: This explodes using perl6-p: my @j; my int $j = 0; @j.push($j)
23:28 dalek rakudo/nom: Since I dont expect that this will be fixed quickly, I am de-
23:28 dalek rakudo/nom: optimizing the code slightly to make it work on perl6-p.
23:28 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/3c80d3ae0e
23:29 FROGGS timotimo: wasn't it the case that native ints have no container?
23:29 timotimo er
23:30 FROGGS ... and that an array relies on these containers?
23:30 timotimo the array should build a container, though
23:30 timotimo (it's what arrays do)
23:30 FROGGS except when it does not (or so)
23:30 FROGGS p: my int @j; my int $j = 0; @j.push($j)
23:30 timotimo btw: is there a good "eselsbrücke" to remember which of array and list have containers and which doesn't?
23:30 camelia rakudo-parrot da53ec: OUTPUT«Cannot call 'push'; none of these signatures match:␤:(Any:U \SELF: *@values, *%_)␤  in any  at gen/parrot/BOOTSTRAP.nqp:1219␤  in any  at gen/parrot/BOOTSTRAP.nqp:1210␤  in method push at gen/parrot/CORE.setting:1596␤  in block  at /tmp/n4KI3lz…»
23:31 FROGGS dunno, is that a Fangfrage?
23:32 lue FROGGS: "mnemonic"
23:33 BenGoldberg What's the proper way to do something like:
23:33 BenGoldberg sub foo(int $native) { say $native }; foo(42);
23:33 lue FROGGS: Ah, nevermind :) /me needs a drastically better Deutsch vocabulary
23:33 FROGGS lue: *g*
23:34 FROGGS BenGoldberg: writing "r: " in front of it?
23:34 FROGGS r: sub foo(int $native) { say $native }; foo(42);
23:34 camelia rakudo-parrot da53ec, rakudo-jvm da53ec, rakudo-moar da53ec: OUTPUT«42␤»
23:36 FROGGS timotimo: btw I think the array should build the containers, but for some reason it does not seem to happen
23:36 * BenGoldberg feels silly ;)
23:37 FROGGS :o)
23:37 BenGoldberg Why can't the dispatcher autobox natives?
23:38 timotimo it can't?
23:38 FROGGS I always thought it does that
23:39 BenGoldberg Well, considering that the error message for 'p: my int @j; my int $j = 0; @j.push($j)' failing is 'Cannot call 'push'; none of these signatures match:', it seems to me that it's a failure to autobox.
23:41 lue BenGoldberg: it's a Parrot thing, not a Perl6 thing.
23:41 FROGGS my guess is that this is Array specific and not dispatcher specific
23:41 lue -j and -m do just fine with said code.
23:41 bluescreen100 joined #perl6
23:42 FROGGS lue: still likely to be a rakudo thing
23:42 lue well, parrot-leaning rakudo thing :)
23:42 FROGGS yes
23:42 Maddingu1 joined #perl6
23:45 segomos joined #perl6
23:45 berekuk joined #perl6
23:45 Kelder joined #perl6
23:45 awwaiid joined #perl6
23:45 _thou joined #perl6
23:45 FROGGS .u 「」
23:45 yoleaux U+FF62 HALFWIDTH LEFT CORNER BRACKET [Ps] (「)
23:45 yoleaux U+FF63 HALFWIDTH RIGHT CORNER BRACKET [Pe] (」)
23:48 lue FROGGS: is that just for parrot, or does the parse time skyrocket for all backends?
23:49 Psyche^ joined #perl6
23:49 FROGGS I think it is for all, but I'm not sure
23:50 FROGGS I think it happened on the jvm at least, six months ago when lizmat++ added set/bag uniode ops
23:51 lue FROGGS: waitaminute: " otherwise the setting parse time increases insanely." but that's not the setting, it's the Grammar. Or is it affecting how fast the parser itself is?
23:52 FROGGS you are right, the last time the unicode ops where added to the setting
23:52 FROGGS so perhaps this is really about Grammar.pm parse time
23:52 FROGGS I can benchmark that tomorrow
23:52 FROGGS but now I wanna go to bed :o)
23:53 timotimo gnite everyone
23:53 lue ♞ FROGGS o/
23:53 lue ♞ timotimo o/
23:53 FROGGS gnight

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

Perl 6 | Reference Documentation | Rakudo