»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg camelia perl6: ... | irclog: irc.perl6.org | UTF-8 is our friend!
Set by sorear on 25 June 2013.
00:05 LLamaRider left 00:12 berekuk left 00:15 pippo left, kivutar left 00:20 spider-mario left 00:21 dmol left
TimToady r: say ([[1,2,3],[4,5,6],[7,8,9]]»[1]).perl 00:21
camelia rakudo-parrot da53ec, rakudo-jvm da53ec, rakudo-moar da53ec: OUTPUT«(2, 5, 8)␤» 00:22
00:22 berekuk joined
TimToady r: say (-»[[1,2,3],[4,5,6],[7,8,9]]»[1]).perl 00:22
camelia rakudo-parrot da53ec, rakudo-jvm da53ec, rakudo-moar da53ec: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile␤Preceding context expects a term, but found infix - instead␤at /tmp/tmpfile:1␤------> say (-⏏»[[1,2,3],[4,5,6],[7,8,9]]»[1])…»
TimToady r: say (-«[[1,2,3],[4,5,6],[7,8,9]]»[1]).perl
camelia rakudo-parrot da53ec, rakudo-jvm da53ec, rakudo-moar da53ec: OUTPUT«(-2, -5, -8)␤»
TimToady heh 00:23
00:23 Grrrr joined
TimToady r: say ([[1,2,3],[4,5,6],[7,8,9]]».&prefix:<->).perl 00:25
camelia rakudo-parrot da53ec, rakudo-jvm da53ec, rakudo-moar da53ec: OUTPUT«(-3, -3, -3)␤»
TimToady (doesn't know about nodal yet)
00:29 simcop2387 joined 00:32 berekuk left 00:33 berekuk joined 00:40 mavcunha joined 00:41 stevan_ joined 00:43 stevan_ left, stevan_ joined, mavcunha left 00:44 berekuk left 00:45 berekuk joined 00:47 ilbot3 joined 00:52 tgt joined, xenoterracide left 00:53 denis_boyun_ left, _thou left 00:56 berekuk left 00:57 berekuk joined, tgt left 01:07 berekuk left 01:08 berekuk joined 01:15 hoverboard joined 01:18 berekuk left 01:19 Guest50972 left, araujo joined, berekuk joined 01:30 berekuk left 01:31 berekuk joined 01:36 benabik joined 01:42 berekuk left 01:43 berekuk joined 01:52 tgt joined 01:54 berekuk left 01:55 berekuk joined 01:57 tgt left 02:03 FROGGS_ joined 02:05 berekuk left 02:06 berekuk joined 02:07 FROGGS left 02:16 berekuk left 02:17 berekuk joined 02:24 kurahaupo_mobile left 02:27 berekuk left 02:28 berekuk joined 02:39 berekuk left 02:40 berekuk joined 02:41 xinming joined 02:44 xinming_ left
TimToady the codepoints actually start to get off after 0x33ff, so it's also a problem in the BMP 02:48
02:48 klapperl_ joined
TimToady m: say "\c[HEXAGRAM FOR THE CREATIVE HEAVEN]".ord.base(16) 02:49
camelia rakudo-moar da53ec: OUTPUT«4DCA␤»
TimToady that should be 4DC0
02:49 xinming_ joined 02:50 berekuk left 02:51 berekuk joined, klapperl left 02:53 xinming left 02:56 xinming joined 02:58 xinming_ left 03:01 berekuk left 03:02 xinming_ joined, berekuk joined 03:03 xinming left 03:13 berekuk left, dayangkun joined 03:14 berekuk joined 03:17 dayangkun left 03:18 dayangkun joined 03:22 xinming joined 03:24 berekuk left, xinming_ left 03:25 berekuk joined 03:29 segomos_ left 03:30 telex left 03:32 telex joined 03:36 berekuk left, rurban1 joined 03:37 berekuk joined 03:40 segomos joined 03:47 berekuk left, btyler joined 03:48 berekuk joined 03:59 berekuk left 04:00 berekuk joined 04:10 berekuk left 04:11 berekuk joined 04:15 sivoais left 04:19 xinming left 04:20 xinming joined 04:21 berekuk left 04:22 berekuk joined 04:27 sivoais joined 04:33 berekuk left 04:34 berekuk joined 04:45 berekuk left 04:46 berekuk joined 04:49 SamuraiJack joined 04:56 SamuraiJack left, berekuk left 04:57 berekuk joined 04:58 sivoais left, sivoais joined 04:59 grondilu left 05:07 berekuk left, skids left 05:08 berekuk joined 05:10 xinming_ joined 05:12 xinming_ left 05:13 xinming left 05:15 xinming joined 05:18 JumpingJackal joined 05:19 berekuk left, _thou joined 05:20 berekuk joined 05:27 sivoais left 05:28 sivoais joined 05:29 btyler left 05:30 berekuk left 05:31 berekuk joined 05:42 berekuk left 05:43 berekuk joined 05:53 berekuk left 05:54 berekuk joined 06:00 xinming_ joined 06:03 xinming left 06:04 berekuk left 06:05 berekuk joined
TimToady r: say "\c[CUNEIFORM SIGN AB2]" 06:06
camelia rakudo-moar da53ec: OUTPUT«𠥒␤»
..rakudo-jvm da53ec: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile␤Unrecognized character name CUNEIFORM SIGN AB2␤at /tmp/tmpfile:1␤------> say "\c[CUNEIFORM SIGN AB2⏏]"␤»
..rakudo-parrot da53ec: OUTPUT«𒀖␤»
06:06 xinming_ left 06:08 xinming joined
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 ?
TimToady after futzing with it all afternoon, I discovered if I switched branches to master, it works right
trouble is, you need --gen-moar=master and --gen-nqp=master or you get detached heads, apparently 06:12
06:13 donaldh left
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?
TimToady dunno 06:15
06:16 berekuk left 06:17 berekuk joined 06:18 donaldh joined
TimToady doing a complete rebuild on my other machine to verify 06:20
06:20 xinming_ joined 06:21 BenGoldberg left, xinming left 06:27 berekuk left 06:28 berekuk joined
TimToady huh, works on one of my machines, but not the other 06:30
huh, that other machine used a headless nqp, despite removing reconfiguring with a --gen-nqp=master 06:32
TimToady doesn't get it
trying again after forcing nqp branch to master 06:33
06:37 xinming joined 06:38 berekuk left 06:40 xinming_ left 06:42 xinming_ joined 06:44 xinming left
TimToady wow, amazing how much cleaner the spectest is with working unicode... 06:45
the parsing CORE on moar seems to be running considerably slower though on master than on my detached head 06:49
from 78 seconds to 113
huh, still fails on my other machine :/ 06:52
06:53 xinming joined
TimToady the unicode.c files are identical, so that's not the problem 06:54
06:56 xinming_ left
TimToady both machines are 64-bit Linux 06:57
oh, I think I'm running with a libmoar.so that's from when I was experimenting with turning off unicode compression 07:02
drat 07:05
07:06 slavik left
TimToady so is it worth blowing up libmoar.so from 3meg to 8meg just to get unicode to work temporarily? 07:11
could conceivably explain the slower compile too 07:12
maybe I should just find the bug...
07:35 ilogger2 joined, ChanServ sets mode: +v ilogger2 07:38 darutoko joined 07:40 slavik joined 07:46 SamuraiJack joined 07:51 kshannon joined 07:52 FROGGS joined 07:58 xinming joined 08:02 sivoais joined 08:03 xinming left 08:08 xinming joined 08:10 zakharyas joined 08:11 xinming left 08:12 rurban1 joined 08:13 SamuraiJack_ joined, SamuraiJack left 08:16 xinming joined 08:20 rurban1 left 08:30 tadzik joined 08:33 xinming left, tgt joined 08:34 xinming joined 08:37 tadzik left 08:38 tadzik joined
tadzik something's very wrong with feather's connection 08:38
08:39 pdcawley joined
moritz there's something wrong with connectivity in the state of Denmar^Wthe Netherlands? :-) 08:39
tadzik :) 08:40
08:50 SamuraiJack_ left
moritz will be offline most of today and tomorrow 08:54
08:58 xinming left 09:00 k1lldash9 joined, xinming joined, k1lldash9 left 09:02 tgt left 09:10 kaleem_ joined 09:12 dakkar joined 09:15 dayangkun joined, kaleem joined 09:17 kaleem_ left 09:21 dmol joined, denisboyun joined 09:26 kaleem left 09:27 kaleem joined 09:32 xinming_ joined
timotimo o/ 09:34
09:35 xinming left 09:40 atroxaper joined, xinming joined, atroxaper left
timotimo the end of the month nears and no star releaser has stepped up, to my knowledge :| 09:40
09:43 xinming_ left 09:46 SamuraiJack_ joined 09:54 rindolf joined 09:56 WACHYYM joined, denisboyun left
timotimo gist.github.com/timo/8f9a5591cdb48dcd0ab1 :\ 09:57
09:59 SamuraiJack_ left
masak I like how the passing test before that is called "we didn't segfault" 09:59
famous last words.
"phew! that was a tought one... but we survived!" *death*
tough*
10:00 Maddingue joined
timotimo :) 10:00
also: 1 megabyte lost all in all, that's a lot :| 10:01
jnthn timotimo: The work sharing code in parallel GC hasn't been exercised on a real workload until now. 10:04
timotimo: It'd be more surprising if we didn't find bugs.
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
timotimo: *Probably* not. Probably you just changed when GC happens.
I'll try and find time to review that branch (which I'd like to do before it gets merged)
timotimo sure, the change to gc_status is potentially dangerous 10:07
so you're definitely right to want to review it before merging
FROGGS timotimo: what test file is this? 10:10
timotimo threads.rakudo.moar.t
FROGGS k 10:11
10:11 atroxaper joined
atroxaper Good morning, #perl6 ! 10:12
FROGGS hi atroxaper
atroxaper FROGGS: Hi!
timotimo hi there :) 10:13
10:14 mavcunha joined
atroxaper I have a bussiness trip to Paris for two months from my Siberia.) 10:14
timotimo: Hi!
Paris is really nice) 10:15
FROGGS I'll just see Paris's airport in march 10:16
jnthn Hm, iirc I've been in Siberia more recently than I've been in Paris :) 10:17
atroxaper jnthn: where in Siberia? 10:19
masak morning, atroxaper. 10:22
atroxaper: I can tell you're from Russia, because you close your parens but you do not open them :P
jnthn atroxaper: Novosibirsk last time, but I also have in my life done Trans-Sib railway ))
masak .oO( Russians only open parens when they're sad )
jnthn atroxaper: So been many places. 10:23
atroxaper jnthn: I live in Novodibirsk. Tell me if you are going to visit it again. 10:24
masak: Is only russians do so? 10:26
masak: nice note. I'll remember it. ')' 10:27
masak atroxaper: yeah, it seems to be a Russian/slavic thing to not include the eyes of the smiley. 10:28
atroxaper: I still think it's reasonably avant-garde to get rid of the nose :)
jnthn atroxaper: Seen it used by Ukrainians also... It just doesn't surprise me any more... ) But masak seems creeped out by the eyelessness ;)
masak atroxaper: but you people go one step further!
not creeped out. just amused )))) 10:29
masak gives atroxaper and jnthn some spare sets of eyes ::::::::::
jnthn uses them to prevent backtracking in his regexes instead
FROGGS bah! :o(
10:30 xinming_ joined 10:32 mavcunha left, mavcunha joined 10:34 xinming left
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:37
Some people write '(:'. That really weird for me. 10:38
timotimo 10:39
tadzik ( ͡° ͜ʖ ͡°)
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
camelia rakudo-parrot da53ec, rakudo-jvm da53ec, rakudo-moar da53ec: OUTPUT«11␤»
tadzik hmm, I count 8
10:42 kivutar joined
masak tadzik: me too. 10:46
tadzik: submit it!
clearly we should have a ( ͡° ͜ʖ ͡°) in RT :D
jnthn Need Flippin' Graphemes 10:47
masak those graphemes, how they flip. 10:48
tadzik n: "( ͡° ͜ʖ ͡°)".chars.say 10:49
camelia niecza v24-109-g48a8de3: OUTPUT«11␤»
tadzik ha!
oh, no-ha 10:50
so maybe it's not wrong after all
masak I'd say it is.
if by .chars we mean "graphs".
timotimo wishes to tackle questhub.io/realm/perl/quest/52d6a...441a000089 today
masak which I *think* we do. 10:51
jnthn By default .chars means .graphs, I believe.
tadzik reported 10:52
masak tadzik++ 10:55
let's see what RT does with those characters :P
tadzik I'm mildly amused by my choice of words :)
10:57 donaldh joined
masak RT++ # renders the face quite nicely 10:58
tadzik just noticed he bought a concert tickets for one of the PLPW days 11:01
timotimo maybe i'll think about how breakpoints for the "target code" could be implemented in the gdb support for moarvm 11:06
11:10 denisboyun joined
FROGGS tadzik: can you have a look at that PR? 11:17
11:19 mtk joined
tadzik FROGGS: oh, by all means 11:23
FROGGS humm?
11:23 atroxaper left
tadzik yes, I can have a look :) 11:23
FROGGS ossum *g* 11:24
#69 would be important to merge also
tadzik I have mixed feelings about #69 11:26
it looks like a workaround of sorts, for something I don't understand
FROGGS I think I can explain
it is the same problem as like pushing to an array you are iterating lazily over 11:27
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
so fetching the dir list eagerly before we write to that dir seems very very sane 11:28
we should perhaps add a comment that says "eager evaluation needed here because we write to that directory"
tadzik ah! 11:31
of course
tell me: in moar-support, is compsuffix() used for anything?
since Builder moved to comptarget 11:32
ah, I see it now
you pass --target=mbc, but what you get out if .moarvm
is that so?
FROGGS yes
target is mbc but fileext is moarvm
tadzik that's weird
FROGGS but not my fault :o) 11:33
tadzik I know :)
timotimo well, we don't want to call it "moarvm byte code file"
because that's not really what it is
but --target=moarvm is even more confusing
tadzik maybe comptarget could be: if 'moar' { 'mbc' } else { compsuffix(@_) } 11:34
less code duplication
food&
timotimo hoelzro: do you know of any way to make vim cleverer about syntax highlighting beginning in the middle of a file? 11:35
11:39 Sqirrel joined
FROGGS tadzik: that sounds good 11:40
timotimo / jnthn: perl6-m t/spec/S17-concurrency/thread.rakudo.jvm passes on my box 11:41
timotimo rakudo.jvm? :)
FROGGS timotimo: so I don't have to fudge it :o) 11:42
the last three are skipped though 11:43
timotimo of course
hm. 11:44
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?
maybe we could have a role "Suggestions" that would add any string to an exception's message? 11:45
12:02 atroxaper joined
timotimo gist.github.com/timo/ae5b88787b04aae3aa49 12:06
maybe this error could be tackled from the other direction 12:09
"parsed a term with arguments that doesn't take arguments"?
12:10 gfldex_ is now known as gfldex
timotimo that's probably pretty fragile. 12:12
12:31 grondilu joined
grondilu check out my rewrite of rosettacode.org/wiki/One-dimensiona...ata#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
it seems like a very sensible license 12:36
12:37 kivutar left 12:55 Ven joined
atroxaper i've been waiting to ask why the main branch of Rakudo names 'nom'? 12:56
timotimo it's named after the "new object model" 12:59
which refers to 6model
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:00
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);
camelia rakudo-parrot da53ec, rakudo-jvm da53ec, rakudo-moar da53ec: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile␤Malformed parameter␤at /tmp/tmpfile:1␤------> stuff(<a b c lel e f>)); sub doom(A $a (⏏:stuff [$first, *@rest])) { say :rest($…»
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«===SORRY!=== Error while compiling /tmp/tmpfile␤Malformed parameter␤at /tmp/tmpfile:1␤------> uff => <a b c lel e f>); sub doom(A $a (⏏:stuff [$first, *@rest])) { say :rest($…» 13:05
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«===SORRY!=== Error while compiling /tmp/tmpfile␤Malformed parameter␤at /tmp/tmpfile:1␤------> tuff(<a b c lel e f>)); sub doom(A $a ( ⏏:stuff [$first, *@rest] ) ) { say :rest…»
Ven err.
jnthn :stuff isn't a valid named param decl; needs to be :$stuff 13:08
13:09 Mouq joined
timotimo :\stuff could also work if you want it to be called just "stuff" 13:09
Ven jnthn: perlcabal.org/syn/S06.html#Unpackin...parameters is where I'm taking that from
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«===SORRY!=== Error while compiling /tmp/tmpfile␤Variable '$stuff' is not declared␤at /tmp/tmpfile:1␤------> { has @.stuff; }; my A $a .= new(:$stuff⏏(<a b c lel e f>)); sub d…»
masak atroxaper: yes, the 'You' thing is widespread in many languages.
atroxaper: only the British and US tribes are self-centered enough to capitalize 'I' instead :P
timotimo %)
Ven jnthn: not sure I get what you mean 13:11
colomon grondilu: your code seems elegant, but is about 75% mystifying to me. 13:13
13:13 Mouq left, pdcawley left 13:15 pmurias_ joined, pmurias_ left
jnthn Ven: I said parameter, not argument... :) 13:15
13:15 pmurias joined
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?
jnthn Ven: You need the $ in the signature
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);
camelia rakudo-parrot da53ec, rakudo-jvm da53ec, rakudo-moar da53ec: OUTPUT«"rest" => A.new(stuff => Array.new("a", "b", "c", "lel", "e", "f"))␤»
pmurias timotimo: just noticed that ;)
timotimo okay :)
glad to see you
how's life? :)
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);
camelia rakudo-parrot da53ec, rakudo-jvm da53ec, rakudo-moar da53ec: OUTPUT«"rest" => A.new(stuff => Array.new("a", "b", "c", "lel", "e", "f"))␤»
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);
camelia rakudo-parrot da53ec, rakudo-jvm da53ec, rakudo-moar da53ec: OUTPUT«Array.new("b", "c", "lel", "e", "f")␤»
Ven ok, that seems to be what I wanted indeed 13:17
timotimo holy crap
:$foobar.perl
that's a really cool way to output the name and value of a variable
like, for debugging purposes
Ven jnthn: I believe this needs fixing perlcabal.org/syn/S06.html#Unpackin...parameters <= here, right ? 13:18
it's missing the $
docs too long for github PR
timotimo oh, looks like a good catch! 13:19
13:20 awwaiid joined
colomon grondilu: ah, figured it out 13:20
Ven timotimo: might miss a @ instead, though 13:21
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);
camelia rakudo-parrot da53ec, rakudo-jvm da53ec, rakudo-moar da53ec: OUTPUT«Array.new("b", "c", "lel", "e", "f")␤»
Ven meh, that's the same
pmurias timotimo: just started a new semester, I still have to finish some $other perl5 stuff before resuming work on rakudo-js 13:23
timotimo that's fine :) 13:24
Ven pmurias: is rakudo-js on github ? 13:25
FROGGS Ven: yes, see github.com/pmurias/rakudo-js 13:28
Ven I should've guessed :). ++>>[ FROGGS , pmurias ]
FROGGS *g*
timotimo why is that ++>> and not ++<< ?
FROGGS m: constant FROGGS = 1; constant pmurias = 1; ++>>[ FROGGS , pmurias ] 13:29
camelia rakudo-moar da53ec: OUTPUT«===SORRY!=== Error while compiling /tmp/4YYAiHpm0p␤Preceding context expects a term, but found infix + instead␤at /tmp/4YYAiHpm0p:1␤------> ant FROGGS = 1; constant pmurias = 1; ++⏏>>[ FROGGS , pmurias ]␤»
FROGGS well, does not make much sense with constants anyway >.<
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 ]
camelia rakudo-moar da53ec: OUTPUT«2 2␤»
timotimo the architecture and design of the thing is a work of art
FROGGS timotimo: in a good way?
timotimo yes
FROGGS: don't be so humble, you're at least 10! and pmurials, too
FROGGS timotimo: I am just one :o) 13:31
Ven timotimo: because I'm tired ! eh 13:32
13:35 spider-mario joined
Ven r: sub a($n) { $n so true; }; a(1); 13:39
camelia rakudo-parrot da53ec, rakudo-jvm da53ec, rakudo-moar da53ec: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile␤Two terms in a row␤at /tmp/tmpfile:1␤------> sub a($n) { $n ⏏so true; }; a(1);␤ expecting any of:␤ postfix…»
Ven I remember seeing that, though. I'll need to find it again ...
13:39 kaleem left
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«===SORRY!=== Error while compiling /tmp/tmpfile␤Undeclared routine:␤ true used at line 1␤␤»
Ven r: sub b($v) { say $v.perl; }; sub a($n) { b so 1; }; a(1);
camelia rakudo-parrot da53ec, rakudo-jvm da53ec, rakudo-moar da53ec: OUTPUT«Bool::True␤»
Ven That might
That might've been it, wouldn't make sense otherwise
13:45 pdcawley joined 13:46 rurban1 joined 13:50 awwaiid left 14:13 xragnar_ joined, xragnar left, xragnar_ is now known as xragnar, awwaiid joined 14:22 salv0 joined 14:28 araujo joined, rindolf left 14:33 btyler joined 14:39 [Sno] joined 14:40 rurban1 left
hoelzro timotimo: there's a way, but I've never learned enough to make it work right 14:48
14:48 skids joined
hoelzro dammit, another thing to support: github.com/atom 14:52
14:52 sivoais left 14:56 araujo left 14:57 araujo joined, Mouq joined, rindolf joined 14:59 rurban1 joined
geekosaur another text editor? *baps github* 15:00
you fools want I should learn *another* editor? 15:01
rindolf geekosaur: what?
geekosaur [27 14:52] <hoelzro> dammit, another thing to support: github.com/atom
rindolf geekosaur: ah, yes, I heard about it. 15:02
15:02 Mouq left
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 15:06 treehug88 joined 15:11 darutoko- joined 15:13 Gruber joined 15:14 ggoebel1119 joined, spider-mario_ joined, bonsaikitten joined 15:15 sivoais joined, spider-mario left, yihshih joined 15:17 genehack_ joined 15:20 spider-mario_ left 15:21 rindolf left, grondilu left, mtk left, darutoko left 15:22 pecastro joined, spider-mario joined
[Coke] still no daily runs. 15:23
15:23 grondilu joined, _thou joined, bjz joined
[Coke] There is already a ticket that .chars doesn't mean .graphs. 15:24
rt.perl.org/Ticket/Display.html?id=65170
nwc10 merge! child? 15:26
"references"?
things RT can do.
(which I think you already know)
[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
15:27 sorear joined 15:28 yves_ joined, rindolf joined 15:29 xinming_ left, mtk joined 15:30 treehug88 left
masak merges #121338 into #65170 15:31
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=121338
masak [Coke]++
synopsebot: heh, you realize that was two RT references, right? :) 15:32
not that it matters in this case, since I merged them :P
[Coke] masak++ #thanks 15:33
15:33 xinming joined 15:36 awwaiid left 15:41 Guest23735 joined
moritz back 15:42
hoelzro hmm 15:46
apparently you can fairly easily convert a Textmate bundle to support Atom
timotimo that sounds good
hoelzro well, we can kill two birds with one stone =) 15:47
oh, I didn't know TM was OS X only 15:49
now there's no hope of me working on it =/
15:49 treehug88 joined 15:50 erkan joined
hoelzro I just saw this in Grammar.pm: 15:50
for $<module_name>
how could that ever work?
shouldn't that be for $<module_name>.list? 15:51
moritz remember that Grammar.pm is NQP code
hoelzro ahhhh
so that's different in NQP?
moritz yes
there is no flattening in NQP
hoelzro ah, I keep forgetting that
moritz and 'for' always iterates over an array
and there's no distinction between itemized arrays and "flat" arrays 15:52
15:52 Guest23735 left
hoelzro ok 15:52
15:54 donaldh left 15:57 Guest23735 joined 15:59 erkan left 16:00 Guest23735 left, jnap1 joined 16:01 jnap left
timotimo do we have e standard for what an "app" package should look like? 16:05
lib/ folder with lib/App/Programname/* and bin/ folder with the runnable in it?
FROGGS yes, that is it mostly 16:11
16:13 _thou left, _thou joined 16:14 awwaiid joined
timotimo sounds good. 16:17
16:19 kst joined 16:21 torbjorn joined 16:22 fhelmberger joined 16:23 denisboyun left
timotimo is there something like perl6 -Mfoobar that will run the given module and any MAIN if there is one? 16:29
there's -M to load a module "prior to running the program" which doesn't seem to be exactly what i mean?
PerlJam perl6 Module.pm6 will run any MAIN if there is one 16:30
well, any that matches the appropriate sig
timotimo ah, good. 16:32
16:33 Gruber is now known as Grrrr 16:34 hoverboard joined, zakharyas left
FROGGS perl6 -Mfoobar will just run the repl with that module loaded 16:36
timotimo mhm
16:37 molaf__ joined
hoelzro it would be nice to combine the running MAIN of perl6 Module.pm6 with the search through @*INC 16:42
but then again, can't you just distribute a small script that invokes your module?
PerlJam Is there a way to skip a positional parameter when calling a subroutine such that it just uses the default? 16:45
moritz maybe passing Nil? 16:46
no idea if rakudo supports that, and if it's specced 16:47
jnthn Generally that means "shoulda used named args" :)
uh, parameters
moritz I agree, but the caller doesn't always have the power to refactor the callee 16:48
jnthn True :)
PerlJam Aye, and I'm wondering about porting Perl 5 code that may use this "feature"
hoelzro Nil as the argument seems to make sense 16:49
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
which is kind of meh, but ... whatevs :)
moritz m: sub f($a = 'a', $b = 'b') { say ($a, $b).perl }; f(Nil, 'c')
camelia rakudo-moar da53ec: OUTPUT«(Nil, "c")␤»
hoelzro timotimo: right
I'm just wondering if that idea is Perl6y
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
moritz and it's only executed if you run the module as a script
hoelzro or I can run a module via "perl6 -m ModuleName", which searches @*INC
16:51 colomon joined
hoelzro (theoretical usage, of course) 16:51
moritz but there seems to be no combination of searching in @*INC and executing MAIN
hoelzro moritz: that's what I was getting at with -m 16:52
moritz hoelzro: yes, I understand
hoelzro if I want to run code as an executable, shouldn't I only have to worry about PATH?
why throw more variables into the equation
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?
perl is not the shell 16:54
C compilers don't search PATH for libraries either
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
hoelzro granted, this usage would require the user to say "run this module"
FROGGS perl does not search in PATH for scripts when I do: perl -e foobar.pl
geekosaur system facilities know executables (scripts) not "modules"
hoelzro and they should understand that, I guess 16:56
geekosaur perl defines "module", by its rules
16:56 jnap1 left
geekosaur and most modules have no business being on $PATH; "execute a module" is kinda weird on its face 16:56
16:56 jnap joined
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:56
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)
PerlJam hoelzro: seems interesting to me. Dunno if there's a real need for it though.
hoelzro I think it's interesting too 16:58
the one instance I found myself wanting something like that in Perl 5 was serving the current directory
in Python, it's something like python -m SimpleHttpServer
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.)
hoelzro geekosaur: I think we're both just elaborating on the idea =)
17:00 FROGGS[mobile] joined
hoelzro how can I list where a module is loaded from? 17:03
(%INC in Perl 6)
er, Perl 5
17:04 FROGGS left
hoelzro hmm 17:04
moritz %*INC in rakudo
hoelzro if I use/need a module twice, does it get parsed/compiled twice?
moritz: that didn't work for me
moritz erm 17:05
wait
timotimo i think modules are cached; though if you supply arguments and it has an EXPORT sub, that should be re-run of course
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
hoelzro also, a say() line in the precompiled module is run twice
this just gets moar and moar interesting.. 17:07
17:10 atroxaper left
timotimo hoelzro: what about a BEGIN say? 17:11
hoelzro hmm
I'll try it
grr 17:12
17:12 Ven left
hoelzro I fubar'd my mokudo 17:12
timotimo :( 17:18
17:31 btyler left 17:34 pdcawley left 17:35 kivutar joined 17:42 vendethiel joined, FROGGS joined
timotimo builds a zeroconf-based "serverless" paste service for qt-creator to get accustomed to the codebase 17:44
[Coke] If you want to run a module's main without the six equiv of $^X, you can manually invoke it. 17:46
no?
timotimo i don't know what $^X is 17:47
the difference between manually invoking it and using -M is the way you specify the path
perl6 -Minvoke Foo::Bar::Baz vs perl6 /home/timo/perl6/lib/Foo/Bar/Baz.pm6
[Coke] i don't understand. if you're loading a module, you use whatever use is doing. yes/ 17:48
timotimo: why on earth would you do the former on the command line?
... 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?
isn't this just timtoady? 17:49
17:49 benabik joined
TimToady wow, that's the first time I was able to sleep 8 hours in about three weeks 17:49
17:49 benabik left 17:51 xenoterracide joined
timotimo TimToady: 8 hours in three weeks is really not much sleep! you should really sleep at least one hour a day! 17:51
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
the -Minvoke is just my "pretend implementation" of this feature
[Coke] timotimo: what are you saying is the problem here? 17:53
17:53 _thou left
[Coke] I see two ways of doing the same thing that you might want to use depending on the situation. 17:54
17:54 _thou joined
timotimo yes. the former is currently impossible, though :) 17:54
[Coke] the first one shoudl be spelled 'perl6 -MFoo::Bar::Baz MAIN', mebbe? 17:55
colomon TimToady: does the sleep deprivation explain the decision to start committing changes to Rakudo? ;) 18:00
TimToady undoubtedly 8] 18:01
hmm, that one looks like Cookie Monster
8) <- Kermit 18:02
8] 8 88 18:03
or 888 since most cookie sheets are rectangular
18:08 skids left 18:15 tgt joined 18:16 dakkar left 18:18 berekuk joined 18:20 dmol left 18:28 bluescreen10 joined
TimToady grondilu: rosettacode.org/wiki/One-dimensiona...ata#Perl_6 is spectacular. However, since I just made [Z+] work a couple days ago, I fixed your example for you. :) 18:33
colomon grondilu++ TimToady++ 18:34
colomon is still not convinced by the <| |>,join: Str idiom 18:35
18:35 bjz_ joined, bjz left
moritz colomon: what's the idiom? 18:35
TimToady using .join inside-out
colomon what TimToady said. for instance, method gist { <| |>.join: @!cells.map({$_ ?? '#' !! ' '}).join } 18:36
TimToady treating the string as the delimiter
colomon and the delimiters as the list argument for join
TimToady it's kinda the same idea as '[' ~ ']' in regex 18:37
colomon TimToady: I'm not wildly comfortable with that, either. :)
18:37 hoverboard left
TimToady putting the opener and closer next to each other makes the intent clearer 18:37
colomon but using join makes the intent less clear 18:38
TimToady would <| |>.insert: be more to your liking 18:39
?
colomon … I don't know. 18:40
my code will probably give it as '|' ~ whatever ~ '|' for the foreseeable future.
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: '|'
camelia rakudo-moar da53ec: OUTPUT«No such method 'surrounded-by' for invocant of type 'Str'␤ in block at /tmp/UcZNimHKuU:1␤␤»
moritz m: use MONKEY_TYPING; augment class Str { method enclosed-by($a, $b = $a) { $a ~ self ~ $b } }; 'foo'.enclosed-by: '|'
camelia ( no output )
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|␤»
moritz m: use MONKEY_TYPING; augment class Str { method enclosed-by($a, $b = $a) { $a ~ self ~ $b } }; say 'foo'.enclosed-by: |<| |>
camelia rakudo-moar da53ec: OUTPUT«|foo|␤»
moritz m: use MONKEY_TYPING; augment class Str { method enclosed-by($a, $b = $a) { $a ~ self ~ $b } }; say 'foo'.enclosed-by: |«< >»
camelia rakudo-moar da53ec: OUTPUT«===SORRY!=== Error while compiling /tmp/AHBLBV15f4␤Confused␤at /tmp/AHBLBV15f4:1␤------> ~ $b } }; say 'foo'.enclosed-by: |«< >»⏏<EOL>␤ expecting any of:␤ postfix␤»
TimToady I'm just wondering whether there's a different primitive that alternates whose degenerate case is this
insert all the following values between all the preceding values
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|")?
colomon (changing the subject because I don't have a good answer to TimToady++'s question.)
timotimo r: <foo bar baz>.join(" ").fmt("|%s|").say
camelia rakudo-parrot da53ec, rakudo-jvm da53ec, rakudo-moar da53ec: OUTPUT«|foo bar baz|␤»
timotimo ^ this seems okay
and still puts the | | close together
moritz .fmt('|%s') looks fairly nice, timotimo++ 18:46
colomon timotimo++ # perhaps less elegant, but definitely more to my liking
r: <foo bar baz>.fmt("|%s|").say
camelia rakudo-parrot da53ec, rakudo-jvm da53ec, rakudo-moar da53ec: OUTPUT«|foo| |bar| |baz|␤»
TimToady r: <foo bar baz>.Str.fmt("|%s|").say
camelia rakudo-parrot da53ec, rakudo-jvm da53ec, rakudo-moar da53ec: OUTPUT«|foo bar baz|␤»
colomon didn't recall whether or not .fmt distributed across lists.
TimToady same keystrokes as join :) 18:47
moritz r: say <foo bar baz>.fmt('%s', ', ')
camelia rakudo-parrot da53ec, rakudo-jvm da53ec, rakudo-moar da53ec: OUTPUT«foo, bar, baz␤»
18:48 FROGGS[mobile] left
timotimo hmm. i could imagine a three-argument-version of fmt 18:49
.fmt($foo, '%s', ', ') could then be equivalent to .fmt('%s', ', ').fmt($foo) 18:50
hm, no, that's kinda weird
then you'd have something like "|%s|", "%s", ", "
that's a mighty big WAT
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:51 rurban1 left 18:55 kivutar left
TimToady well, it wants a GPU :) 18:55
timotimo that it does. 18:56
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
those bigger neighbourhoods and the cells they result in can then be cached i na hash
that's how HashLife gets so incredibly fast
18:57 skids joined 18:58 kurahaupo_mobile joined
TimToady hmm, my .insert is really a roundrobin in disguise 18:59
FROGGS jnthn: could "Implement CUDA threads for MoarVM" be a GSoC project? 19:00
for me it feels as if this would be the right time and it would offer the right amount of work for a student
grondilu hang on. Are there serious hopes that P6 will allow GPU programming transparently??
grondilu thought TimToady was kidding when he talked about GPU 19:01
timotimo grondilu: i've got that hope in me
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:02
and that it chooses to use cpu threads for larger/fewer tasks 19:03
19:05 darutoko- left
timotimo i think a good first step would be to emit SIMD first 19:06
that'll already make a huge difference
as i understand it, there is significant overhead when putting data onto the GPU and retrieving data back
that's not the case with SIMD, afaik
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 :)
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
nwc10 I would have thought that "working ropes" and "NFG" were more useful projects this year
FROGGS nwc10: true
nwc10 CUDA sounds like something that optimises existing functionality. Which seems daft to do before needed functionality is "exsting functionality" 19:09
PerlJam nwc10++ (ropes, NFG) 19:10
timotimo CUDA is problematic, because it's nvidia-only
OpenCL on the other hand is very, very poorly supported by NVidia
(they only support like OpenCL 1.1 or something like that)
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 19:21 rurban1 joined 19:22 simcop2387 joined 19:26 rurban1 left
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: perlcabal.org/syn/S03.html#line_4254
TimToady s:2nd/'?'/./
dalek nda/moar-support: 9fb996e | (Tobias Leich)++ | lib/Panda/Common.pm:
simplify compfuffix/comptarget, tadzik++
19:28
19:31 tgt left
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:35
FROGGS p: sub MAIN($where = '.'.path.absolute) { say $where }; MAIN 19:36
camelia rakudo-parrot da53ec: OUTPUT«IO::Path</home/p6eval>␤IO::Path</home/p6eval>␤»
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
i note also that we don't capitalize Me.
if it were purely self-regard, we'd capitalize that too :) 19:39
but We don't do that, do We?
19:39 dmol joined
TimToady so I think it's mostly just a visual huffman thing 19:40
19:40 tgt joined
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:46
some of our characters are fossilized ideographs of words, like & and @ 19:48
FROGGS so @ is a word? 19:49
TimToady and the little circles in % and ‰ and ‱ surely used to be 0's 19:51
19:51 bjz_ left
FROGGS yeah, I've always seen it that way 19:52
and was # meant to represent a table? (for a calculation?)
TimToady and arguably 􏿽xE2􏿽x84􏿽xAB is just the ideograph that evolved from Å 19:53
FROGGS O.o
.u 􏿽xE2􏿽x84􏿽xAB 19:54
yoleaux U+212B ANGSTROM SIGN [Lu] (􏿽xE2􏿽x84􏿽xAB)
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 :)
FROGGS .u Å
yoleaux U+00C5 LATIN CAPITAL LETTER A WITH RING ABOVE [Lu] (Å)
FROGGS *g*
TimToady though obviously the I/me distinction keeps it from becoming a complete ideograph 19:57
or we'd write 'I' and pronounce it 'me'
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
FROGGS or "egg", even
19:59 dmol left, tgt left
grondilu I've made the P5 translation rosettacode.org/wiki/Elementary_cel...Perl.7D.7D 20:00
P5 is waaay faster than P6 on this.
20:01 beastd joined
TimToady s/this/most things/ 20:01
20:01 rurban1 joined
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" :)
so everything is batched
we'll have to work a bit harder to propagate eager context 20:03
you'll note that hypers are implicitly eager, unlike Z
20:03 denis_boyun joined
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
implemented by a brilliant but mad Russian :) 20:05
20:06 tgt joined 20:13 telex joined 20:16 telex left
FROGGS tadzik: I've cloned all ecosystem modules and there are only three that have a Build.pm 20:17
Math--ThreeD/Build.pm: method build ($where) {
perl6-Imlib2/Build.pm: method build(Pies::Project $p) {
perl6-IUP/Build.pm: method build(Pies::Project $p) {
and the last two seem to be off
20:18 telex joined 20:20 hoverboard left 20:21 hoverboard joined
masak TimToady: who implemented overloading in P5? 20:24
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:26
[Coke] oh. hey. I just had a horrible horrible idea involving something like CORBA and our metamodel. 20:27
20:27 berekuk left
FROGGS lue: can you provide more information? 20:28
20:29 berekuk joined
FROGGS lue: what (rakudo) branches are you on? what are you doing to get the error? 20:29
20:29 dmol joined
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:30
(I know it's the when conditional because I expanded the CATCH { } into a multiline statement to better see what's failing) 20:31
FROGGS: gist.github.com/lue/9258983 20:35
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
lue FROGGS: updated the gist. 20:43
20:48 grondilu left, tgt left 20:49 tgt joined, aindilis joined
FROGGS lue: I don't see the issue :/ 20:52
20:59 kaare_ joined 21:02 dayangkun left
lue :/ 21:04
dalek nda/absolute: 026cd23 | (Tobias Leich)++ | / (7 files):
use absolute paths where possible
21:12
21:16 dayangkun joined 21:17 bjz joined
lue FROGGS: I'm running perl6-j ./bootstrap.pl , and it got past where parrot died. 21:27
perl6-m has segfaults, which considering the existence of panda/moar-support isn't surprising :) 21:29
So, it looks to be a Parrot issue I'm having :/
timotimo pandarot
FROGGS which is a weird thing
21:32 rurban1 left
lue My guess is that for some part of the implicit $_ ~~ X::Panda in the when conditional is making Parrot complain. 21:34
21:35 rurban1 joined
lue considers bisecting rakudo to find the issue... too bad parrot is the slowest of them all to build :/ 21:42
21:45 dayangkun left 21:48 rindolf left 21:53 dayangkun joined 21:57 dayangkun left 22:01 treehug8_ joined 22:02 treehug88 left 22:07 dayangkun joined
rurban lue: where does it die? did you gdb it? 22:10
lue it dies upon "when X::Panda" in bin/panda. 22:11
22:12 treehug88 joined
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
rurban oh
lue is in the process of bisecting rakudo to find where it happens
FROGGS lue++
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
lue the slow, slooow process of bisecting the backend that happens to be the slowest to build rakudo for :)
FROGGS lue: do you have a "good" revision already?
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:14
22:14 treehug8_ left
FROGGS are you recompiling parrot/nqp also? 22:15
lue nope, just rakudo so far. I hope that's where the error lies :)
FROGGS should be, yes
rurban well, gdb should even catch perl errors (using the proper breakpoint) 22:16
FROGGS well, he is far away from such a breakpoint atm 22:17
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 ??
you are not supposed to compile rakudo on your toaster...
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 :/
FROGGS I guess it takes about five minutes on my laptop btw
I am compiling rakudo/nom now too 22:20
22:20 _thou left
lue Way to make me feel like I have a stupid computer, FROGGS :P 22:20
FROGGS hopefully I get the same problem
*g*
22:20 _thou joined
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)
lue Cool, 2014.02 is a good revision, I'm testing File::Find right now ( /me ^C and goes to the next revision)
FROGGS okay, I get the same error as you 22:23
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
22:25 BenGoldberg joined
FROGGS it definitely feels related, yes 22:26
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
p: my $l = nqp::list
camelia rakudo-parrot da53ec: OUTPUT«Cannot assign a non-Perl 6 value to a Perl 6 container␤ in block at /tmp/VsJRK0667T:1␤␤»
FROGGS p: my $l = nqp::hllize( nqp::list ) 22:28
camelia ( no output )
FROGGS that is one way to trigger it
rurban I made parrot -O1 stable, -O2 soon. benchmarks: github.com/parrot/parrot/issues/10...t-36274524 22:29
FROGGS p: say 16.269/17.428 22:31
camelia rakudo-parrot da53ec: OUTPUT«0.933498␤»
FROGGS rurban++ 22:32
btw, my box takes 5m28.473s to build perl6-p 2014.02
lue should probably invest in a cooler processor some time :P 22:33
FROGGS I've got a core i5 22:34
timotimo i don't understand these benchmarks?
masak 'night, #perl6
FROGGS gnight masak
lue masak o/
masak tomorrow is Perl 6 day for me.
FROGGS nice!
masak yes! 22:35
FROGGS :o)
^---- nose
lue ja!
rurban make-4.0 -j10 should help 22:36
make 4 fixes a lot of concurrency issues, and -j10 saturates your cores better
lue FROGGS: I have a dual core Athlon that came with the computer; should shoot for a much nicer AMD CPU at some point :)
FROGGS rurban: that does not help building rakudo though
rurban and using ccache also helps a lot with bisecting
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
FROGGS the problem is that the dependencies almost force a sequential build
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
it fixed my -j4 builds with some hairy shellcode in the makefile 22:39
22:40 rurban1 left 22:42 hoverboard is now known as iq2400
FROGGS Bisecting: 4 revisions left to test after this (roughly 2 steps) 22:47
22:50 skids left 22:52 iq2400 is now known as hoverboard 22:54 rurban1 joined, rurban1 left 22:56 Alina-malina joined, denis_boyun left 23:02 virtualsue joined
FROGGS lue: this seems to it: e6c7baf01de1f38175ed4a51f9c2cfab2edfa9ba 23:02
23:04 panchiniak joined
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:05
23:05 pmurias left 23:07 virtualsue left
FROGGS lue: my guess is that this X op (METAOP_CROSS) does return something that wants hllizing: 23:07
panda/blib/lib/Panda/Builder.pm:8: my %color_of = @modules X=> 'not yet visited';
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…»
FROGGS \o/
lue FROGGS: What's weird is that error backtrace does not in any way go past bin/panda
\o/
FROGGS lue: see gist.github.com/lue/9258983#file-output-L25 23:09
lue Ah, I was referring to the non---ll-exception backtrace :)
FROGGS m: say < foo bar baz > X=> 'nyv'
camelia rakudo-moar da53ec: OUTPUT«"foo" => "nyv" "bar" => "nyv" "baz" => "nyv"␤»
FROGGS lue: yes, when you hit stuff in the setting, the non-ll hides it often 23:10
23:11 Psyche^ joined
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:11
23:11 tgt left
FROGGS I suspected Builder.pm fwiw :o) 23:12
23:13 Mouq joined
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 23:22 treehug88 left
lue FROGGS: I assume the problem is bigger than a simple nqp::hllize ? 23:23
FROGGS lue: I dunno yet
I am staring at the line else { $i = $i + 1; @j.push($j); $j = 0; }
lue ah, alright. 23:24
FROGGS that native int $j seems to cause the issue when getting pushed to @j
p: my @j; my int $j = 0; @j.push($j) # like that
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…»
FROGGS damn, I am an awesome golfer :P 23:25
timotimo huh
that's not right
FROGGS don't you say *g*
timotimo m: my @j; my int $j = 0; @j.push($j); # does that work?
camelia ( no output )
FROGGS star: my @j; my int $j = 0; @j.push($j)
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…»
timotimo how did we b0rk that?!
lue p6: my @j; my int $j = 0; @j.push($j)
camelia ( no output ) 23:26
..niecza v24-109-g48a8de3: OUTPUT«===SORRY!===␤␤Malformed my at /tmp/tmpfile line 1:␤------> my @j; my⏏ int $j = 0; @j.push($j)␤␤Parse failed␤␤»
..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…»
dalek kudo/nom: 3c80d3a | (Tobias Leich)++ | src/core/metaops.pm:
parrots arrays do not seem to like natives

This explodes using perl6-p: my @j; my int $j = 0; @j.push($j) Since I dont expect that this will be fixed quickly, I am de- optimizing the code slightly to make it work on perl6-p.
23:28
FROGGS timotimo: wasn't it the case that native ints have no container? 23:29
timotimo er
FROGGS ... and that an array relies on these containers? 23:30
timotimo the array should build a container, though
(it's what arrays do)
FROGGS except when it does not (or so)
p: my int @j; my int $j = 0; @j.push($j)
timotimo btw: is there a good "eselsbrücke" to remember which of array and list have containers and which doesn't?
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…»
FROGGS dunno, is that a Fangfrage? 23:31
lue FROGGS: "mnemonic" 23:32
BenGoldberg What's the proper way to do something like: 23:33
sub foo(int $native) { say $native }; foo(42);
lue FROGGS: Ah, nevermind :) /me needs a drastically better Deutsch vocabulary
FROGGS lue: *g*
BenGoldberg: writing "r: " in front of it? 23:38
r: sub foo(int $native) { say $native }; foo(42);
camelia rakudo-parrot da53ec, rakudo-jvm da53ec, rakudo-moar da53ec: OUTPUT«42␤»
23:39 kurahaupo_mobile left 23:41 berekuk left, bluescreen10 left 23:44 awwaiid left, Maddingue left 23:45 segomos joined, _thou left, berekuk joined, awwaiid joined
FROGGS timotimo: btw I think the array should build the containers, but for some reason it does not seem to happen 23:46
BenGoldberg feels silly ;)
FROGGS :o)
BenGoldberg Why can't the dispatcher autobox natives?
timotimo it can't?
FROGGS I always thought it does that
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.
lue BenGoldberg: it's a Parrot thing, not a Perl6 thing.
FROGGS my guess is that this is Array specific and not dispatcher specific
lue -j and -m do just fine with said code.
23:46 bluescreen100 joined
FROGGS lue: still likely to be a rakudo thing 23:46
lue well, parrot-leaning rakudo thing :)
FROGGS yes
23:46 spider-mario left, Maddingu1 joined, Kelder joined, _thou joined
FROGGS .u 「」 23:46
yoleaux U+FF62 HALFWIDTH LEFT CORNER BRACKET [Ps] (「)
U+FF63 HALFWIDTH RIGHT CORNER BRACKET [Pe] (」)
23:48 berekuk left, Psyche^ left
lue FROGGS: is that just for parrot, or does the parse time skyrocket for all backends? 23:48
23:49 Psyche^ joined
FROGGS I think it is for all, but I'm not sure 23:49
I think it happened on the jvm at least, six months ago when lizmat++ added set/bag uniode ops 23:50
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:51
FROGGS you are right, the last time the unicode ops where added to the setting 23:52
so perhaps this is really about Grammar.pm parse time
I can benchmark that tomorrow
but now I wanna go to bed :o)
timotimo gnite everyone 23:53
lue FROGGS o/
timotimo o/
FROGGS gnight