Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2013-01-28

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:05 cog_ joined #perl6
00:07 dalek perl6-roast-data: 1fde6da | coke++ | / (4 files):
00:07 dalek perl6-roast-data: today (automated commit)
00:07 dalek perl6-roast-data: review: https://github.com/coke/perl6​-roast-data/commit/1fde6daa47
00:07 dalek perl6-roast-data: c18b898 | coke++ | / (4 files):
00:07 dalek perl6-roast-data: today (automated commit)
00:07 dalek perl6-roast-data: review: https://github.com/coke/perl6​-roast-data/commit/c18b8982d3
00:18 timotimo why is it always(?) two commits?
00:19 [Coke] one a day
00:19 [Coke] so that's saturday and sunday.
00:19 [Coke] I just didn't push yesterday.
00:21 balders_1od joined #perl6
00:25 rjbs So, say I was porting some p5 code to p6, hypothetically.
00:25 rjbs and I'd been making a fair amount of use of p5's pack and unpack
00:26 rjbs What do I want to look at in p6?
00:32 [Coke] Str's pack and unpack methods. But I'm not sure they've seen much love.
00:33 Targen joined #perl6
00:36 [Coke] r: Buf.new(:16<41>).say
00:36 p6eval rakudo 9c9d79: OUTPUT«Buf:0x<41>␤»
00:37 [Coke] r: Buf.new(:16<41>).unpack("H*").say
00:37 p6eval rakudo 9c9d79: OUTPUT«41␤»
01:08 anuby joined #perl6
01:20 hypolin joined #perl6
01:48 xinming joined #perl6
01:54 am0c joined #perl6
02:42 FROGGS_ joined #perl6
02:47 dayangkun joined #perl6
02:53 alec joined #perl6
03:44 aindilis joined #perl6
03:53 alec__ joined #perl6
04:13 anuby joined #perl6
04:14 preflex_ joined #perl6
04:15 SamuraiJack joined #perl6
04:19 b1rkh0ff joined #perl6
04:27 TimToady http://rosettacode.org/wiki/La​st_letter-first_letter#Perl_6
04:28 TimToady 3 more to get to 500
05:17 fhelmberger joined #perl6
05:21 telex joined #perl6
05:38 telex joined #perl6
05:47 erkan joined #perl6
05:47 erkan joined #perl6
06:12 benabik joined #perl6
06:13 nwc10 jnthn++ # 16% of the NQP test suite passing already
06:20 TimToady http://rosettacode.org/wik​i/Break_OO_privacy#Perl_6
06:20 TimToady 2 more to go
06:24 fgomez joined #perl6
06:34 diakopter :)
06:45 quester joined #perl6
07:01 am0c joined #perl6
07:08 sevin joined #perl6
07:15 balders_dod joined #perl6
07:19 fgomez joined #perl6
07:25 TimToady http://rosettacode.org/wiki/Introspection#Perl_6
07:25 TimToady 1 to go
07:28 drbean joined #perl6
07:49 kaleem joined #perl6
08:02 am0c joined #perl6
08:08 FROGGS joined #perl6
08:08 jnthn Go TimToady++
08:09 jnthn :)
08:09 FROGGS morning
08:10 jnthn hi FROGGS
08:11 FROGGS hi
08:11 quester left #perl6
08:12 sorear hi FROGGS
08:13 FROGGS hi sorear
08:14 FROGGS sorear: is niecza STD-based too, like rakudo/nom?
08:17 jnthn Niecza is closer to STD than Rakudo in some places (used to be way closer, but Rakudo has converged a lot)
08:17 jnthn aku
08:17 jnthn oops
08:17 sorear niecza is STD-based.
08:18 FROGGS hmmm, so I can even steal stuff from niecza :o)
08:18 sorear it has diverged from STD in places, but the grammar was created by copying STD and editing the parts that didn't work. :D
08:19 FROGGS thats the point, I try to get nom closer to STD when it comes to contextualizers in regexes, but right now I cant compile the setting
08:22 hypolin joined #perl6
08:28 jnthn ok, teaching time :)
08:28 jnthn will be around now and then today...
08:29 nwc10 coffee assimilated?
08:29 hoelzro morning #perl6, I see I have messages =)
08:29 phenny hoelzro: 27 Jan 12:09Z <timotimo> tell hoelzro do you feel like you can open a pull request for your pygments work soon? or do you want more testing to be done first?
08:29 phenny hoelzro: 27 Jan 12:21Z <timotimo> tell hoelzro the only issues i can see with it are: @!foo has a red, fat ! and +@($block) has a red, fat ($ in it, so everything that looks remotely like a twigil (thrigil?) seems to get that treatment
08:29 hoelzro thank you, phenny
08:32 TimToady http://rosettacode.org/wiki/Echo_server#Perl_6
08:33 TimToady That's 500, though I cheated by putting up non-working code
08:33 FROGGS someone should fix async then^^
08:34 FROGGS but it sounds like a lot of work
08:35 TimToady well, to do it so that threads can't block other threads, yes
08:35 hoelzro timotimo: ping
08:35 GlitchMr 500. Perfect :-).
08:35 TimToady should be trivial once NQP is ported to Go  :P
08:35 GlitchMr Hmmm... how many tasks Rosetta Code does have?
08:35 GlitchMr "630 tasks"
08:36 GlitchMr Sounds like we are closer and closer to having Perl 6 example in every task
08:36 GlitchMr Except that appears to include draft tasks, so not really.
08:37 TimToady Tcl has 687 implemented already
08:37 * FROGGS 's brain matched "500" as token http-error-code rather than token number-of-rc-tasks
08:37 arnsholt jnthn: In an attempt to debug my nativesize stuff, I added debug prints to NativeHow's compose and the nativesize trait. From the interleaving of the prints, it seems the trait is applied -after- the HOW's compose is called
08:37 nwc10 TimToady: I saw the smiley. But, serious question - Go assumes UTF-8 pervasively, doesn't it? That's going to be a bit, well, suboptimal, for NFG?
08:37 GlitchMr Perhaps I should try solving 24 game in Perl 6
08:38 TimToady as long as Go supports native integer arrays, we can easily implement NFG
08:38 TimToady "easily"
08:38 hoelzro hmm
08:38 moritz FROGGS: heh, I work in an office with number 408 REQUEST TIMEOUT :-)
08:38 hoelzro what does +@($block) mean? timotimo pointed it out in his syntax examples
08:39 TimToady usually, same as +$block does
08:39 GlitchMr hoelzro, it gives number of elements in array.
08:40 hoelzro ah, I see
08:40 TimToady nr: my $array := <a b c d e>; say +$arrray
08:40 GlitchMr Except with block, I think it's always 1.
08:40 p6eval niecza v24-18-gaf64300: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤â�¤Variable $arrray is not predeclared at /tmp/afgeGvo30d line 1:â�¤------> [32mmy $array := <a b c d e>; say +[33mâ��[31m$arrray[0mâ�¤â�¤Potential difficulties:â�¤  $array is declared but not used at /tmp/afgeGvo30d line 1:â�¤------> …
08:40 p6eval ..rakudo 9c9d79: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Variable '$arrray' is not declared. Did you mean '$array'?â�¤at /tmp/buQyArygVD:1â�¤------> [32mmy $array := <a b c d e>; say +$arrray[33mâ��[31m<EOL>[0mâ�¤    expecting any of:â�¤        postfixâ�¤Â»
08:40 TimToady nr: my $array := <a b c d e>; say +$array
08:40 p6eval rakudo 9c9d79, niecza v24-18-gaf64300: OUTPUT«5␤»
08:40 FROGGS moritz: hehe, nice, that would fit here too :o)
08:41 TimToady well, if you know it's a block, why are you asking it how many of it there are?
08:41 nwc10 TimToady: yes. True. I seem to be forgetting that Java thinks that UTF-16 is the way to go. :-( Silly me.
08:42 TimToady yes, well, we can do NFG there too, presumably
08:42 nwc10 exactly. I'd already assumed that to be a SMOP, so why should I treat Go differently. Clearly insufficient coffee
08:44 sqirrel joined #perl6
08:45 nwc10 moritz: I remembered. The first issue with constant folding on Perl 5 may not apply to Perl 6 -- $SIG{__WARN__}
08:46 nwc10 $SIG{__WARN__} is dynamic. For correctness (ie, as if no optimisation had taken place), warnings should be dispatched at runtime to the dynamic warning handler
08:47 nwc10 moritz: the IRC logger index for a channel generates no link for a particular day if there is no activity. Is there a way to filter out days when a channel only has parts and joins? (ie no chat, just tumbleweeds)
08:47 moritz nwc10: ($SIG{__WARN__}) that one's nasty
08:48 moritz nwc10: no, not yet, but would be pretty easy to do
08:49 nwc10 moritz: that would be cool
08:49 nwc10 although having it running on Rakudo would also be cool :-)
08:49 nwc10 dogfood for the long term win
08:56 snearch joined #perl6
08:58 mathw morning all
08:59 FROGGS morning mathw
08:59 moritz nwc10: my plan is to port the logger itself first, because that's less performance critical
09:00 nwc10 oh, interesting. I would have thought that the logger is (also) the part that must not fail, else there is data loss
09:00 nwc10 however, the easy answer to that is run two loggers - Perl 5, and Rakudo
09:00 nwc10 (and diff the output)
09:04 moritz nwc10++ # constant nagging about dogfooding
09:04 nwc10 yes, sorry if I sound like a broken record. But
09:04 nwc10 a) I think that it's one of the reasons that Parrot went wrong
09:05 nwc10 b) Actually a way to make your build system more portable
09:05 nwc10 c) A way to make your system more maintainable. (Much like self-hosting is, or at least, has massive advantages in that area)
09:06 moritz you don't have to apologize; I even ++'ed you for it :-)
09:07 nwc10 I also realised last night that, well, nothing serious is written in Perl 6. Except an entire compiler.
09:07 nwc10 Which, actually, is pretty damn cool. And proof that it isn't a toy.
09:07 nwc10 but it would be nice to have other things :-)
09:08 moritz I totally agree
09:11 nwc10 also, what rjbs asked last night about pack - I'd guess that the bits of Perl 6 that are needed to write compilers are pretty much fleshed out.
09:11 nwc10 But compilers are not the only fruit.
09:12 moritz I totally agree
09:13 moritz our native call interface, and DBIish in extension, could use some good bit of extra stability :-)
09:13 grondilu joined #perl6
09:16 arnsholt moritz: BTW, you mentioned some time ago that you managed to trigger segfaults with Zavolaj in DBIish
09:16 arnsholt What was the issue again_
09:16 arnsholt s/_/?
09:16 moritz arnsholt: doing too much stuff in a postgres database
09:16 arnsholt Doing too much stuff?
09:17 moritz preparing and executing a lot of different queries
09:17 moritz each of them didn't segfault in isolation
09:17 arnsholt Weird
09:17 moritz I'll try to re-test on a newer toolchain soon
09:18 arnsholt That'd be cool. I think it might smell of some kind of Zavolaj issue
09:20 kivutar joined #perl6
09:22 GlitchMr rn: https://gist.github.com/4654154
09:22 kresike joined #perl6
09:22 p6eval rakudo 9c9d79: OUTPUT«[31m===[0mSORRY![31m===[0m�Cannot call 'trait_mod:<is>'; none of these signatures match:�:(Mu:U $child, Mu:U $parent)�:(Attribute:D $attr, :rw(:$rw)!)�:(Attribute:D $attr, :readonly(:$readonly)!)�:(Attribute:D $attr, :box_target(:$box_target)!)�:(Routine:D $r, …
09:22 p6eval ..niecza v24-18-gaf64300: OUTPUT«True␤Unhandled exception: Ambiguous call to infix:<in>; these signatures all match:␤    Any, Any␤    Any, Any␤  at /tmp/ydXsQDK2s1 line 7 (mainline @ 10) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4218 (ANON @ 3) ␤  at /home/p6eval/niecza/lib/CORE.set…
09:22 GlitchMr std: https://gist.github.com/4654154
09:23 kresike hello all you happy perl6 people
09:23 p6eval std 7deb9d7: OUTPUT«[31m===[0mSORRY![31m===[0m�Cannot negate in because additive operators are not iffy enough at /tmp/DVsJ_IO66Z line 7:�------> [32msay 2 !in[33m�[31m (1, 22, 23);[0m�Parse failed�FAILED 00:01 53m�»
09:23 GlitchMr Am I using proto subs incorrectly or what?
09:25 dakkar joined #perl6
09:26 FROGGS maybe you must create your own infix:<!in> ?
09:27 GlitchMr It's not that
09:27 GlitchMr Well, std complains about that.
09:27 GlitchMr But the errors in rakudo and niecza say something else.
09:27 FROGGS ahh, sorry, looked at the wrong msg
09:27 GlitchMr Niecza appears to parse multi sub correctly.
09:28 GlitchMr Except it seems it doesn't know whatever it should use ($a, $b) as signature or ($a, @b).
09:33 FROGGS GlitchMr: if you try that locally, do you see the three signatures in the list?
09:34 hypolin joined #perl6
09:34 GlitchMr No, only two.
09:34 GlitchMr The ($a, %b) signature isn't involved in array check.
09:35 arnsholt r: my int8 $x = 1024; say $x
09:35 GlitchMr The problem is that ($a, $b) has exactly the same weight as ($a, @b) and ($a, %b)
09:35 p6eval rakudo 9c9d79: OUTPUT«1024␤»
09:35 arnsholt Does the spec say anything about what's supposed to happen in that case?
09:35 GlitchMr I will check
09:36 TimToady http://rosettacode.org/wiki/Carmichael_3_strong_​pseudoprimes,_or_Miller_Rabin%27s_nemesis#Perl_6
09:36 TimToady to make up for cheating on #500 :)
09:36 sftp joined #perl6
09:37 cog_ joined #perl6
09:38 * TimToady --> bed
09:38 FROGGS TimToady: gnight
09:39 GlitchMr But I would assume :($a, @b) is more specific than :($a, $b) because @b requires type to be Positional.
09:41 moritz r:  multi a($, $) { 1 }; multi a ($, @) { 2 }; say a(42, @*INC)
09:41 p6eval rakudo 9c9d79: OUTPUT«2␤»
09:41 moritz looks like it is.
09:41 GlitchMr In Rakudo, not in Niecza
09:41 moritz ok
09:42 GlitchMr I think it could be niecza bug, but not sure.
09:42 GlitchMr Still, I guess I will report it.
09:43 Psyche^ joined #perl6
09:46 moritz please do
09:49 GlitchMr https://github.com/sorear/niecza/issues/168
09:52 SmokeMachine joined #perl6
09:52 jnthn arnsholt: (called after) that's very weird, and if so a bug...
09:52 jmf joined #perl6
09:57 arnsholt jnthn: Right. I'll try to narrow it down, in that case
10:04 SmokeMac_ joined #perl6
10:15 arnsholt So, trying to print the $!nativesize of my natives I get "Method 'Str' not found for invocant of class 'Int'". How do I get the damn thing printed?
10:15 arnsholt (Mucking about with different nqp:: stuff hasn't gotten me far)
10:15 jnthn heh, you're in the setting so it's not defined yet ;)
10:15 jnthn nqp::say(nqp::unbox_i($!nativesize)) perhaps
10:16 arnsholt Hmm. From the Perl 6 side, it looks like it's correct
10:19 jnthn lunch *
10:19 jnthn & even
10:19 * arnsholt may have found it
10:27 arnsholt Heh. "Method 'Int' not found for invocant of class 'Int'"
10:27 arnsholt Hopefully judicious unboxing takes care of that
10:27 arnsholt Victory!
10:27 arnsholt (Also, I am a moron)
10:30 arnsholt When the code expects {integer => {bits => $!nativesize}}, better not pass {bits => $!nativesize}
10:30 grondilu joined #perl6
10:30 arnsholt 'Cuz that just plain won't work
10:31 FROGGS :o)
10:31 FROGGS it's obvious after you found out, right?
10:31 arnsholt Ridiculously so
10:32 arnsholt And yet, completely inscrutable up until the moment you realize what it is =)
10:49 arnsholt It works!
10:49 arnsholt And now I get to debug segfaults =D
10:49 FROGGS *g*
10:49 FROGGS gorram it, it's hard to hack javascript and php at work while there is such a nice language out there ó.ò
10:56 jnthn arnsholt++
10:58 arnsholt Not quite done yet, but at least I squashed the inscrutable bug
10:58 arnsholt I think my current segfault may be due to a waterbed distribution of sized int support =)
11:05 Su-Shee_ joined #perl6
11:06 jnthn Well, P6opaque is clueless about aligning 'em for one :)
11:07 moritz alignment is overrated :-)
11:07 jnthn On x86, mostly yes :P
11:07 moritz ... unless you actually want to use the stuff :-)
11:08 jnthn But getting it wrong on some other platforms can be 'ARMful...
11:08 * nwc10 groans
11:08 jnthn .oO( I shouldn't be such a bright Sparc... )
11:08 nwc10 x86, ELF and glibc have a lot to answer for
11:08 nwc10 oh, and ld.so
11:09 * nwc10 will be much HPPAier when the puns are exhausted
11:09 jnthn I gotta teach now, so they should go down like the itanic :)
11:10 nwc10 please give me alpha mo to make another one
11:10 moritz like, with overlong movie coverage?
11:11 moritz though it wouldn't have gone down with a hull made of Itanium
11:36 GlitchMr joined #perl6
11:37 GlitchMr I hate DoS attacks...
11:43 huf joined #perl6
12:40 timotimo hoelzro: pong
12:45 hoelzro ping
12:45 hoelzro timotimo: thanks for testing out the highlighter!
12:45 hoelzro I wasn't able to reproduce the issues you saw, though =/
12:50 timotimo huh?
12:51 timotimo (to be fair, this is nqp code, but it shouldn't matter)
12:51 hoelzro timotimo: well, you said that you saw an issue when highlighting @!foo, right?
12:53 SmokeMachine joined #perl6
12:56 * timotimo types some examples for a screenshot
12:57 timotimo you're right. in isolation it doesn't "break", but i've found something else
12:57 hoelzro ok, good!
12:58 timotimo http://t.h8.lv/hoelzpygment.png
12:58 hoelzro ah, so $!privattr is busted?
12:59 timotimo seems so
12:59 hoelzro =/
12:59 hoelzro well, thanks for the input!
12:59 timotimo you're welcome
13:00 timotimo rakudo/src/Perl6/Optimizer.pm gave me the strange effects, fwiw. starts right near the beginning
13:00 hoelzro timotimo: are you going to keep that screenshot up? or should I make a copy?
13:00 hoelzro ok, cool!
13:00 timotimo any way you like. i can also nopaste the code :P
13:01 hoelzro I'll probably just look at the rakudo source, thanks =)
13:02 timotimo you're welcome
13:02 timotimo maybe i should invest some time in proper syntax highlighting, too. vims highlighter has some problems with / ... / i think
13:03 hoelzro timotimo: help on Vim's highlighting would be most welcome!
13:03 hoelzro I try to fix bits (for both Perl 5 and 6), but I never seem to find time for it
13:06 hoelzro help on the pygments highlighter for Perl 6 would also be appreciated =)
13:24 nwc10 why is GCD one of the NQP ops?
13:25 jnthn Because we do it often enough that we want it fast.
13:25 jnthn (Rat)
13:25 timotimo hoelzro: how does one correctly work on that? would i get the vim sources from whatever repo they have and copypaste the syntax file to my home folder?
13:25 moritz because we need it in Perl 6, and our bigint lib provices it
13:26 hoelzro timotimo: here's what I do: I have a clone of github.com/vim-perl/vim-perl in ~/projects/
13:26 timotimo wow, i know english champions verbing nouns, but "provinces"? :D
13:26 hoelzro and I have a branch in my ~/.vim repo called vim-perl-work
13:27 jnthn timotimo: We should province people who do that...
13:27 timotimo i don't even know what that means!
13:27 hoelzro vim-perl-work is a single commit ahead of master, and simply adds a symlink to ~/projects/vim-perl to Vim's runtime path
13:27 SmokeMachine joined #perl6
13:27 hoelzro so whenver I work on vim-perl, I just cd ~/.vim; git co vim-perl-work
13:27 timotimo oh, that's clever
13:28 timotimo where does the symlink go? could i just do it with pathogen like i do all my other extensions?
13:29 hoelzro timotimo: yeah, mine's under ~/.vim/bundle/vim-perl
13:36 mtk joined #perl6
13:43 cog_ joined #perl6
13:44 nwc10 jnthn: aha. I hadn't realised that. Thanks
13:46 am0c joined #perl6
14:05 cog joined #perl6
14:09 atrodo joined #perl6
14:09 balders_1od joined #perl6
14:12 PacoAir joined #perl6
14:19 bluescreen10 joined #perl6
14:25 krunen joined #perl6
14:35 jas joined #perl6
14:38 arnsholt Segfault squashed. Onto the next failure!
14:39 moritz arnsholt++ # vanquisher of segfaults!
14:40 arnsholt Segfaults are generally easier to fix than braindead typos =)
14:41 moritz unless it's the result of a braindead typo :-)
14:42 timotimo substitute "at least as easy" :P
14:42 arnsholt Hmm. This next one seems to be size-related as well
14:42 krunen joined #perl6
14:42 nnunley joined #perl6
14:42 moritz .oO( well-sized failures )
14:43 timotimo what's that, lassie? arnsholt fell into the well? oh boy!
14:46 arnsholt Score!
14:47 arnsholt Now that I think about it, I think this is one of those that might have always failed on 64-bit
14:47 arnsholt (Due to lack of sized-int support =)
14:54 dalek rakudo/dyncall-sized-num: c7fe112 | (Arne Skjærholt)++ | src/Perl6/Metamodel/NativeHOW.pm:
14:54 dalek rakudo/dyncall-sized-num: Fix braino. NativeHOW sent bad data to the REPR compose.
14:54 dalek rakudo/dyncall-sized-num: review: https://github.com/rakudo/rakudo/commit/c7fe112410
14:54 dalek zavolaj: 20b41e7 | (Arne Skjærholt)++ | t/06-struct. (2 files):
14:54 dalek zavolaj: Add tests for sized ints in structs.
14:54 dalek zavolaj:
14:54 dalek zavolaj: Also tweaks the array member of structs test a bit (and once we have sized
14:54 dalek zavolaj: ints in arrays it should likely be updated again).
14:54 dalek zavolaj: review: https://github.com/jnthn/zavolaj/commit/20b41e7cd0
14:54 dalek nqp/dyncall-sized-num: b4e360b | (Arne Skjærholt)++ | src/6model/reprs/ (2 files):
14:54 dalek nqp/dyncall-sized-num: Fix two brainos.
14:54 dalek nqp/dyncall-sized-num:
14:54 dalek nqp/dyncall-sized-num: One in P6int.c; if you're gonna reset the bit value to the default just before
14:54 dalek nqp/dyncall-sized-num: returning, you're gonna have a bad time.
14:54 dalek nqp/dyncall-sized-num: Another in CStruct.c; ensuring proper alignment wasn't done properly.
14:54 dalek nqp/dyncall-sized-num: review: https://github.com/perl6/nqp/commit/b4e360b2cc
14:54 arnsholt And there we go. Initial support for sized ints in structs
14:55 arnsholt Sized nums and arrays are still to be done, but I think the hard part is mostly done
14:55 * FROGGS discovered the viv utility right now O.o
14:55 timotimo is there something like ctags for perl6 yet? if not, i would assume something like that could be somewhat easily be built in nqp, no?
14:56 FROGGS ctags?
14:56 timotimo it parses code and creates an index for where objects, methods, subs, variables, ... are defined
14:56 timotimo so that your IDE/text editor can "jump to symbol under cursor"
14:56 FROGGS ahh
14:57 FROGGS would be nice to have, yes
14:58 timotimo don't know if the ctags project would accept nqp code, though :P
15:01 kivutar joined #perl6
15:01 arnsholt Probably not
15:01 arnsholt Might be a cool thing to do though
15:02 arnsholt I guess leveraging STD might be a viable approach, and then outputting the proper format
15:09 pmurias joined #perl6
15:11 stopbit joined #perl6
15:15 pmurias timotimo: re ctags for perl6, I don't think there is a good reason to integrate with the officials ctags binary, as it should be possible to the ctags format from a standalone tool
15:15 timotimo right
15:15 timotimo is there more than just ... in perl6?
15:16 moritz well, there is a good reason: several editors already have key bindings for invoking ctags
15:16 moritz timotimo: yes, ??? and !!! too
15:16 kaare_ joined #perl6
15:16 timotimo ah!
15:17 GlitchMr joined #perl6
15:17 moritz http://doc.perl6.org/!!!
15:17 timotimo the syn google search is super useless for these
15:17 moritz aye
15:26 SmokeMachine joined #perl6
15:30 benabik joined #perl6
15:36 snearch joined #perl6
15:40 nnunley joined #perl6
15:42 hash_table joined #perl6
16:01 SmokeMachine joined #perl6
16:09 kresike bye folks
16:09 kaleem joined #perl6
16:10 SmokeMachine joined #perl6
16:16 decasm joined #perl6
16:17 jnthn decommute &
16:37 GlitchMr joined #perl6
16:45 GlitchMr .u 
16:45 phenny U+F8FF (No name found)
16:46 GlitchMr 'Chrome 24.0.1312 on Mac OS X 10.8.2537'
16:46 GlitchMr I'm almost sure it's Apple logo then.
16:47 benabik I see an Apple on my Apple.
16:48 GlitchMr Somebody on certain forum has used that symbol and I was wondering why my font doesn't support it.
16:48 GlitchMr According to the profile page, he was using Mac OS X... makes sense.
16:49 benabik_ joined #perl6
16:49 [Coke] m/me readds RFC#101 from timo and is no more enlightened.
16:50 kaleem joined #perl6
16:50 [Coke] er, no, slightly.
16:50 GlitchMr https://duckduckgo.com/?q=%EF%A3%BF
16:50 GlitchMr DuckDuckGo somehow shows Apple Inc...
16:52 GlitchMr https://duckduckgo.com/?q=perl6+Int.Str
16:52 benabik_ F8FF is the top of the Private Use section of the Unicode.  Apple using it for an apple logo is probably the most common use of it.
16:52 aindilis` joined #perl6
16:54 timotimo [Coke]: can i help you?
16:55 benabik joined #perl6
16:57 [Coke] Why the temp var?
16:57 [Coke] to avoid issues where reading the value had a side effect?
16:58 timotimo yes, exactly
16:58 [Coke] danke.
16:58 timotimo gerne doch :)
17:00 FROGGS joined #perl6
17:02 FROGGS jnthn, moritz: do you have an idea where "No such method 'Any' for invocant of type 'Str'" comes from?
17:02 FROGGS https://gist.github.com/9307c76​81cfb9ff34de0#file-nom_dbg-txt
17:02 SmokeMachine joined #perl6
17:06 spider-mario joined #perl6
17:10 FROGGS jnthn,  moritz: btw, /$( a )/ does complain now about unknown sub &a, like std
17:10 jnthn FROGGS: Not sure where the error comes from
17:13 SmokeMachine joined #perl6
17:20 FROGGS jnthn: do you wanna see the QAST dump?
17:21 jnthn FROGGS: You seem to have some debugging code. Is it that which leads to the error?
17:21 FROGGS the debuggung stuff just prints $/ within the action methods
17:22 Chillance joined #perl6
17:22 FROGGS dont think that this produces the error, since I got the error even without my debug stuff
17:22 jnthn ok
17:23 jnthn I can take a look at the patch
17:23 FROGGS https://gist.github.com/9307c768​1cfb9ff34de0#file-qast_dump-txt
17:23 FROGGS the grammar is fine now, since it gets to the tokens similar to STD's viv output
17:24 FROGGS there is just something borken with the AST
17:24 jnthn Yeah, I can read the diff of what you did faster than the QAST dump :)
17:25 FROGGS the qast dump is pretty neat, but yes, the diff isnt that heavy
17:25 jnthn yeah, something looks wrong...
17:29 adu joined #perl6
17:30 * jnthn bbs
17:34 b1rkh0ff joined #perl6
17:36 MayDaniel joined #perl6
17:40 GlitchMr joined #perl6
17:46 moritz FROGGS: is that error from compiling the setting?
17:46 FROGGS no, afterwards
17:47 FROGGS I believe it tries to call something on the thing enclosed by '$(' ~ ')'
17:47 FROGGS because the type changes when I do: /$(1)/ and /$("a")/
17:47 moritz r: /a/
17:47 p6eval rakudo 9c9d79:  ( no output )
17:48 moritz r: m/a/
17:48 p6eval rakudo 9c9d79: OUTPUT«No such method 'match' for invocant of type 'Any'␤  in block  at /tmp/93Ut_nlQjv:1␤␤»
17:48 moritz in method ACCEPTS at src/gen/CORE.setting:10733
17:48 moritz which ACCEPTS is that?
17:48 FROGGS the second one is because $_ isnt set, IMO
17:49 FROGGS $_.ACCEPTS( match result )
17:49 FROGGS brb linch
17:49 FROGGS lunch
17:50 moritz FROGGS: when you're back, please try  ./perl6 -e 'say "1" ~~ /$( say .perl )/
17:57 FROGGS moritz: No such method 'Any' for invocant of type 'Bool'
17:58 FROGGS but it prints "1" directly before that
17:58 [Coke] r: (say "1").WHAT.say
17:58 p6eval rakudo 9c9d79: OUTPUT«1␤Bool()␤»
17:59 moritz FROGGS: so it tries to call the method Any on the return value of the expression
18:01 FROGGS so it might be in method metachar:sym<rakvar>
18:01 moritz in any  at src/gen/BOOTSTRAP.pm:836
18:02 moritz usually the format is    in sub foo at ...
18:02 moritz where 'sub' is lc $routine.^name
18:02 moritz so, something gets invoked which is of type Any
18:02 moritz r: Any()
18:02 p6eval rakudo 9c9d79: OUTPUT«No such method 'Any' for invocant of type 'Parcel'␤  in  at src/gen/BOOTSTRAP.pm:845␤  in  at src/gen/BOOTSTRAP.pm:839␤  in any  at src/gen/BOOTSTRAP.pm:836␤  in block  at /tmp/zG8KOzVLWd:1␤␤»
18:03 moritz OH
18:03 moritz r: Any('foo')
18:03 p6eval rakudo 9c9d79: OUTPUT«No such method 'Any' for invocant of type 'Str'␤  in  at src/gen/BOOTSTRAP.pm:839␤  in any  at src/gen/BOOTSTRAP.pm:836␤  in block  at /tmp/pPJV8pI1MT:1␤␤»
18:03 moritz that's the backtrace you're getting, right?
18:04 FROGGS No such method 'Any' for invocant of type 'Int'
18:04 FROGGS in  at src/gen/BOOTSTRAP.pm:839
18:04 FROGGS in any  at src/gen/BOOTSTRAP.pm:836
18:04 FROGGS yes, it is
18:04 FROGGS r: Any(1) # this
18:04 p6eval rakudo 9c9d79: OUTPUT«No such method 'Any' for invocant of type 'Int'␤  in  at src/gen/BOOTSTRAP.pm:839␤  in any  at src/gen/BOOTSTRAP.pm:836␤  in block  at /tmp/ZVM1ERdYJq:1␤␤»
18:05 b1rkh0ff joined #perl6
18:05 moritz ah, now I see
18:05 moritz the regex engine tries to invoke the result from the $(...) as a regex
18:06 moritz FROGGS: you need to change the codgen to go through method Cursor.INTEROLATE
18:06 tadzik hello hello
18:06 moritz like other variable interpolation in regexes
18:06 moritz tadzik tadzik
18:07 FROGGS moritz: I thought it was the same with INTERPOLATE, but will test  now
18:08 spider-mario_ joined #perl6
18:10 FROGGS moritz: do you think it would be easy to dump out all matched tokens like STD's viv script?
18:11 moritz FROGGS: depends on your notion of "easy" :-)
18:11 moritz not as easy as a single method call
18:11 moritz but certainly not very hard
18:12 TimToady .oO(MHF)
18:13 FROGGS okay, sounds possible then ;o)
18:13 spider-mario joined #perl6
18:13 FROGGS mhf?
18:13 TimToady Mid Hanging Fruit
18:13 FROGGS ahh
18:13 TimToady maybe we need a Hanging-Fruit-o-Meter
18:14 FROGGS and then you know how tall you are in that measurement
18:15 nwc10 why does this make me think    raw ... not yet ... edible ... wasps are going to get it ... compost
18:15 nwc10 possibly because the pears on my parents tree seemed to quantum tunnel between the 2nd and 4th steps, effortlessly
18:16 TimToady 1 HF == 1 Hckr × 1 Tuit
18:16 FROGGS does that mean that there is nothing to do when there is no hacker?
18:17 TimToady no, you just use calculus to multiple 0 Hckr × ∞ Tuit to end up with 1 hanging fruit equivalent
18:19 TimToady *multiply
18:20 FROGGS and I stupid dungbag didnt took a round tuit from the tables from last YAPC :o(
18:20 tadzik I didn't know they're for picking up :|
18:20 FROGGS well, they are lying around...
18:20 FROGGS I didnt know too at that time too
18:22 FROGGS tadzik: I would buy them if they would be sold by tpf, but it looks like they weren't sold that way
18:22 tadzik they can be sold by anyone else and I'd buy them anyway :)
18:23 FROGGS yes sure, but if I could spend some money to tpf at the same moment that would be better
18:24 tadzik let's do a startup
18:24 tadzik then we can say it's Perl6-based
18:25 xenoterracide joined #perl6
18:31 moritz hey, I've recently come across a service that does custom laser cutting and engraving
18:32 tadzik in any material?
18:32 moritz not any, but they have a wide selection, and are willing to experiment with more
18:32 tadzik cool beans
18:33 * [Coke] would love a tuit that was heavy enough to be a card protector.
18:33 moritz but I guess laser-cutting wood isn't a good option :-)
18:33 moritz http://www.formulor.de/
18:33 moritz A friend of mine ordered stuff there, and it was in the order of 25€ or so
18:33 tadzik that's awesome
18:33 tadzik now to find a use for it... ;)
18:34 tadzik maybe a nice combo with thegamecrafter
18:34 moritz well, custom tuits :-)
18:34 moritz with camelia laser-engraved
18:34 tadzik and a 1:1 camelia model
18:34 tadzik as it'd probably be too big for a 3d printer
18:34 TimToady in depleted uranium, preferably
18:35 moritz what, you can laser-cut leather?
18:35 moritz that's awesome :-)
18:37 moritz seems they don't support metal :(
18:40 TimToady just tell 'em that metal is what they've removed from the depleted uranium, so they're good to go
18:42 TimToady .oO("No, that's not metal, it's just thermite.")
18:42 * FROGGS prefers transparent aluminium
18:45 FROGGS moritz: I get the same result when using the code from method assertion:sym<{ }>
18:45 FROGGS ... which calls MAKE_REGEX and then interpolates
18:45 moritz huh, strange
18:46 FROGGS which is:
18:46 FROGGS r: say "abc" ~~ /<{"a"}>/
18:46 p6eval rakudo 9c9d79: OUTPUT«「a」␤␤»
18:46 werwerwer joined #perl6
18:46 timotimo http://t.h8.lv/gosper_thinkpad.jpeg <- had this laser-cut into his laptop recently
18:47 timotimo gotta run now
18:47 hoelzro damn!
18:47 FROGGS timotimo: nice
18:48 hoelzro timotimo: don't leave!
18:48 hoelzro I just uploaded a new version of the lexer!
18:48 hoelzro someone needs to test it!
18:48 tadzik I'll take the ring to mordor
18:49 * FROGGS hands out a bag of lembas bread to tadzik
18:49 TimToady .oO(lambdas bread)
18:50 tadzik at least it's pure :)
18:50 hoelzro haha
18:52 moritz TimToady: that makes you Galadriel, right? :-)
18:56 TimToady that, and the little matter of power-hunger
18:58 TimToady Rule 2: When Galadriel makes a mistake with the One Ring, she's still right.
19:19 mwilson_ joined #perl6
19:19 mwilson_ left #perl6
19:19 sftp joined #perl6
19:22 japhb_ joined #perl6
19:33 TimToady .oO(Santa's elves forge rings for Santa, who then forges his own Ring to let him fly very fast once a year)
19:34 TimToady Santa is really from the South Pole, so he'd have access to Mt Erebus.
19:37 dalek nqp-jvm-prep: 056979a | jnthn++ | / (2 files):
19:37 dalek nqp-jvm-prep: Fix !"string".
19:37 dalek nqp-jvm-prep: review: https://github.com/jnthn/nqp​-jvm-prep/commit/056979a90c
19:37 dalek nqp-jvm-prep: 4ab9860 | jnthn++ | src/org/perl6/nqp/sixmodel​/KnowHOWBootstrapper.java:
19:37 dalek nqp-jvm-prep: Give some boot types a bool spec.
19:37 dalek nqp-jvm-prep: review: https://github.com/jnthn/nqp​-jvm-prep/commit/4ab9860440
19:37 dalek nqp-jvm-prep: a712ae4 | jnthn++ | nqp-jvm-cc.nqp:
19:37 dalek nqp-jvm-prep: Fix prefix ~ and + compilation thinkos.
19:37 dalek nqp-jvm-prep: review: https://github.com/jnthn/nqp​-jvm-prep/commit/a712ae4e26
19:37 dalek nqp-jvm-prep: 688ed7f | jnthn++ | t/nqp/ (2 files):
19:37 dalek nqp-jvm-prep: Two more passing test files.
19:37 dalek nqp-jvm-prep: review: https://github.com/jnthn/nqp​-jvm-prep/commit/688ed7f93a
19:41 nwc10 26% of test files, 21% of tests?
19:43 TimToady small test files are easier to pass than large ones :)
19:46 jnthn nwc10: heh, I'm not keeping a close watch :)
19:46 nwc10 I was just curious. So I tried to do the numbers.
19:47 nwc10 I believe 100%, 100% and a pony (or failing that, a beer) is the goal?
19:47 nwc10 possibly more than one beer?
19:49 benabik I think the goal is always more than one beer.
19:49 jnthn Something like, but note that this is t/nqp and then there's also t/qregex :)
19:49 TimToady a cup of non-java?
19:49 nwc10 ah, so this is twenty-muble percent of t/nqp?
19:50 nwc10 and t/qregex is a whole new counting system?
19:50 * TimToady read that as 'twenty-mule'
19:50 nwc10 hopefully not involving too many Alephs
19:50 jnthn nwc10: yeah, but it's a bit more convoluted 'cus some of the t/nqp also need regex stuff. :)
19:50 nwc10 (got to look on the bright side)
19:51 jnthn nwc10: Also, a couple of t/nqp are Parrot-specific and so meaningless to run.
19:51 nwc10 pass!
19:51 nwc10 (actually, that's a pun)
19:51 nwc10 wasn't intended to be
19:51 jnthn :P
19:58 arnsholt jnthn: if without braces is bad style ;p
20:00 jnthn arnsholt: And 2 chars less to type! ;)
20:01 benabik 3 if you put the closing brace on its own line.  (more if you're manually indenting, but who does that?)
20:05 fgomez joined #perl6
20:06 dalek nqp-jvm-prep: 1b1c969 | jnthn++ | lib/QAST/JASTCompiler.nqp:
20:06 dalek nqp-jvm-prep: Implement resultchild handling.
20:06 dalek nqp-jvm-prep: review: https://github.com/jnthn/nqp​-jvm-prep/commit/1b1c969b0b
20:06 dalek nqp-jvm-prep: f241d98 | jnthn++ | t/nqp/ (2 files):
20:06 dalek nqp-jvm-prep: Two more passing test files.
20:06 dalek nqp-jvm-prep: review: https://github.com/jnthn/nqp​-jvm-prep/commit/f241d98637
20:07 nwc10 is whatever counts the Karma running on Perl 6, or on something that wraps integers?
20:08 jnthn karma jnthn
20:08 jnthn not running :P
20:08 tadzik ENOALOHA
20:09 benabik "seen aloha" is not a very useful command...
20:11 SmokeMac_ joined #perl6
20:11 diakopter seen #perl6
20:12 arnsholt jnthn: Any particular reason there's a repr_get_attr_str, but no corresponding repr_at_pos_str?
20:12 arnsholt (I may have asked this before, come to think of it)
20:12 benabik At any rate, I think aloha is running on P5.
20:12 benabik (When it's running)
20:13 jnthn arnsholt: NYIness
20:13 arnsholt That's a good reason =)
20:14 atrodo joined #perl6
20:14 dalek nqp-jvm-prep: 063ec8a | jnthn++ | lib/QAST/JASTCompiler.nqp:
20:14 dalek nqp-jvm-prep: Implement mod_n.
20:14 dalek nqp-jvm-prep: review: https://github.com/jnthn/nqp​-jvm-prep/commit/063ec8abdf
20:14 dalek nqp-jvm-prep: cd1b7f0 | jnthn++ | t/nqp/47-loop-control.t:
20:14 dalek nqp-jvm-prep: Another passing test.
20:14 dalek nqp-jvm-prep: review: https://github.com/jnthn/nqp​-jvm-prep/commit/cd1b7f054f
20:18 spider-mario “It had been a decade since Perl 6 was announced, and I figured a full official release must be around the corner. But here we are in 2013, and that day seems even further away. Sure, there are variations considered to be Perl 6, such as Rakudo Perl, which is a specific implementation of Perl 6, but isn't, technically, Perl 6.”
20:18 spider-mario if that means that there isn’t a release of Perl6, it means that by definition, there won’t ever be any
20:18 spider-mario which is absurd
20:19 spider-mario ( https://www.infoworld.com/d/data-center/perl​-isnt-going-anywhere-better-or-worse-211580 )
20:19 jnthn hm, sounds like somebody is confused.
20:19 jnthn And doesn't know the "Perl 6 is the language / spec" thing
20:19 spider-mario hm, it seems that this point has been taken care of on reddit
20:20 spider-mario “That's a little bit like saying "GCC isn't, technically, C." Does he think Rakudo is some kind of ActiveState treatment of Perl 6 or is he genuinely being... disingenuous?”
20:20 * spider-mario upvotes
20:20 nwc10 A default installation of Red Hat Enterprise Linux today incorporates Perl 5.10, which was released in 2007
20:20 nwc10 and, um, whose "fault" is that?
20:20 spider-mario http://www.reddit.com/r/perl/comments/17fkn3/an​other_perl_is_dead_article_this_one_uses_tiobe/
20:22 PerlJam Maybe the "perl is dead" story is just what people publish when they've got nothing else.
20:22 decasm so, perl is a zombie?
20:23 spider-mario or “I don’t see blog posts about perl so it must be dead”
20:23 masak o/, #perl6
20:23 spider-mario from people that don’t even look for them
20:23 spider-mario o/ masak
20:23 crazedpsyc joined #perl6
20:23 spider-mario it’s perfectly understandable that perl users have given up on speaking about perl to non-perl users, considering the feedback they usually get
20:23 spider-mario “booh line noise”
20:24 spider-mario “$@&{} is executable in perl”
20:24 tadzik PerlJam: sure. Look at the attention they got :)
20:24 tadzik therefore it's quite reasonable to publish such things
20:24 spider-mario “I used to like perl but I realized I can’t look at the code I wrote 3 days ago.”
20:25 tadzik I'm glad (s)he's not in my team :)
20:25 benabik joined #perl6
20:26 dalek nqp-jvm-prep: 9108672 | jnthn++ | nqp-src/NQPCORE.setting:
20:26 dalek nqp-jvm-prep: Add a cheating NQPMu.
20:26 dalek nqp-jvm-prep:
20:26 dalek nqp-jvm-prep: In reality, it should be a class, but we don't deserialize P6opaques
20:26 dalek nqp-jvm-prep: just yet.
20:26 dalek nqp-jvm-prep: review: https://github.com/jnthn/nqp​-jvm-prep/commit/9108672f15
20:26 dalek nqp-jvm-prep: 67fa8fd | jnthn++ | t/nqp/ (3 files):
20:26 dalek nqp-jvm-prep: 3 more passing test files.
20:26 dalek nqp-jvm-prep: review: https://github.com/jnthn/nqp​-jvm-prep/commit/67fa8fdab6
20:28 jnthn Files=23, Tests=197 :)
20:28 TimToady The funny thing about naysayers is that, when we eventually succeed, they'll just assume it's because we fixed whatever they were naysaying, just because they naysaid it, and not because we were assiduously non-carborunduming the illigitimi.
20:28 tadzik jnthn: you know what it is... http://ragefac.es/154 ;)
20:29 arnsholt Hmm. Maybe I don't have to do the bits inout argument thing for arrays
20:29 jnthn If it's the obama...
20:29 jnthn bah! :P
20:29 tadzik :P
20:29 tadzik I'm predictable
20:30 * arnsholt likes the Obama-not-bad-face
20:30 masak it's not bad :P
20:30 arnsholt =D
20:31 masak today's autopun: https://twitter.com/alyankov​ic/status/295585459839594496
20:33 tadzik that fits the situation better: http://i.imgur.com/4AC7j0n.png
20:35 pjcj joined #perl6
20:37 benabik joined #perl6
20:40 arlinius joined #perl6
20:46 nwc10 I don't offhand have a way to check, but presumably a default install of RedHat also comes with Python 2.7, which Guido would rather you didn't use, and Ruby 1.8.7? or 1.8.6? Which is viewed as special biologist word
20:49 masak "parasite"? :P
20:50 arnsholt My work RHEL6 machine has Python 2.6.6
20:50 arnsholt No Ruby installed, so can't check that =)
20:50 arnsholt Perl is 5.10.1
20:51 nwc10 gosh. Python 2.6.6
20:52 nwc10 or do they mean Python 2.6.8, but we thought we should keep calling it 2.6.6? http://www.python.org/getit/releases/2.6.8/
20:53 arnsholt Who knows with RedHat. They have their own patch backporting thing, IIRC
20:53 kivutar joined #perl6
20:54 nwc10 Dear Infoworld, Python isn't going anywhere either. By your reasoning.
20:54 nwc10 (muppets)
20:58 jnthn Good news never sells...
20:59 nwc10 but I've just given them the basis for another story. Surely they want to run that one too?
21:02 jnthn Sure, if they're fair and unbiased ;)
21:04 balders_dod joined #perl6
21:09 fhelmberger joined #perl6
21:10 nwc10 Why does everyone feel the need to keep restating that Perl is dead, when TCL is dead too, and no-one needs to be reminded about that. Truthiness?
21:11 [Coke] hey.
21:11 tadzik hey, chill out :)
21:11 masak (chill out, we're dead)
21:12 nwc10 "... In the long run we are all dead" -- John Maynard Keynes
21:13 nwc10 http://www.tcl.tk/software/tcltk/8.6.html - Latest Release: Tcl/Tk 8.6.0 (Dec 20, 2012)
21:13 nwc10 clearly very dead.
21:14 [Coke] "you first." - Sawyer from Lost.
21:14 masak :)
21:14 hash_table joined #perl6
21:15 * timotimo tries out hoelzro++ 's new pygments work
21:15 timotimo 407 changes to 133 files! he's been busy!
21:18 timotimo does twigil refer to both letters or only the second one
21:19 arnsholt Canonically, the twigil is the character that comes after the sigil
21:19 timotimo is there, in theory, a thrigil?
21:20 diakopter you're a thrigil
21:21 PerlJam timotimo: and the generalization would be a n-igil  ?
21:21 timotimo >_<
21:22 jnthn I think one of the appocalypses promised not to introduce thrigils.
21:23 dalek nqp-jvm-prep: ed07f89 | jnthn++ | src/org/perl6/nqp/sixmodel/reprs/P6Opaque (3 files):
21:23 dalek nqp-jvm-prep: Start to stub in P6opaque deserialization.
21:23 dalek nqp-jvm-prep:
21:23 dalek nqp-jvm-prep: Funnily enough, since we serialize method caches, we actually survive
21:23 dalek nqp-jvm-prep: a surprising amount without actually deserializing the meta-objects
21:23 dalek nqp-jvm-prep: attributes.
21:23 dalek nqp-jvm-prep: review: https://github.com/jnthn/nqp​-jvm-prep/commit/ed07f89390
21:23 dalek nqp-jvm-prep: 5e127ce | jnthn++ | nqp-src/NQPCORE.setting:
21:23 dalek nqp-jvm-prep: Uncomment setting's EXPORTHOW; NQPMu is a class.
21:23 dalek nqp-jvm-prep: review: https://github.com/jnthn/nqp​-jvm-prep/commit/5e127ce550
21:23 dalek nqp-jvm-prep: c1b6aa1 | jnthn++ | nqp-src/NQPCORE.setting:
21:23 dalek nqp-jvm-prep: new/bless/CREATE, and a stub BUILDALL.
21:23 dalek nqp-jvm-prep: review: https://github.com/jnthn/nqp​-jvm-prep/commit/c1b6aa1e1a
21:23 dalek nqp-jvm-prep: ef24e8b | jnthn++ | t/nqp/25-class.t:
21:23 dalek nqp-jvm-prep: We pass 25-class.t.
21:23 dalek nqp-jvm-prep: review: https://github.com/jnthn/nqp​-jvm-prep/commit/ef24e8bd5f
21:24 colomon \o/
21:25 nwc10 \o/
21:25 tadzik whoa
21:25 masak timotimo: from A12: "We do hereby solemnly swear to never, never, ever add tertiary sigils. You have been warned."
21:25 tadzik jnthn: http://i.imgur.com/4AC7j0n.png
21:25 colomon A12++
21:25 * nwc10 finds https://github.com/perl6/nqp/commit/57​257818cd7630b987e606e1c38dbe3181049bce and is amused
21:26 masak "# test that a class can start with Q" -- heh, why would we have such a silly t... *remembers* oh. oops. sorry :P
21:26 * nwc10 wasn't aware of the problem at the time
21:26 nwc10 seems to be a "well, d'oh!" sort of bug
21:27 masak as opposed to all those "I meant to do that" sort of bugs.
21:27 nwc10 well, I meant that it looks like the sort that make you laugh rather than make you cry
21:28 jnthn My word, PIR code
21:29 * diakopter shudders at length
21:30 masak nwc10: if bugs made me cry, I'd have quit this job long ago :P
21:30 nwc10 nostalgia?
21:30 diakopter "bwahaha I'm an idiot"
21:35 fgomez joined #perl6
21:43 * jnthn wonders why dalek lost his last commit
21:43 diakopter note: I was quoting myself, above
21:43 tadzik stumbled upon a staircase, perhaps
21:44 colomon tadzik++
21:51 * [Coke] wonders if rakudo should eliminate support for Q:PIR
21:52 jnthn Files=25, Tests=202. Not bad progress :)
21:52 [Coke] (or add Q:Java ;)
21:52 tadzik haha
21:52 rjbs jnthn: What're the total counts? 70 and 600?
21:53 jnthn rjbs: There's 65 NQP test files but 3 of them are testing Parrot-specific things.
21:53 jnthn rjbs: After that there's also the regex test suite...
21:53 rjbs :-)  Excellent progress, though.  Something like double yesterday, isn't it?
21:54 jnthn Yeah; mostly just doing small fixes/additions.
21:54 jnthn The runtime and QAST -> JVM already supports quite a lot of things.
21:54 rjbs Cool, good luck.  Looking forward to seeing how it pans out.
21:54 jnthn Same :)
22:00 timotimo i wonder if the meta-tracing jit design of pypy would be of any use to us rakudo users?
22:00 timotimo (meaning: replicating it rather than implementing a qast backend for pypy)
22:01 jnthn Some kind of 6model-aware trace JIT would make sense.
22:01 jnthn Well, that's true even without the "trace" bit.
22:01 japhb_ These days, there's actually a fair number of open-source JITs to look at.  Lots of prior art.
22:02 timotimo right. i don't know how to do such a thing, though, so you all would have to do it :P
22:02 jnthn "We want to build a good JIT some day" was considered in the 6model design process way back. :)
22:03 japhb_ Even several tracing style ones.  (Off the top of my head, TraceMonkey and LuaJIT, and I suspect several more I'm forgetting at the moment.)
22:03 timotimo jnthn: would the jvm JIT do much to improve rakudo run-speed? do perl6 methods/functions get turned into raw jvm bytecode and will those be jitted properly, too?
22:03 timotimo i have no good mental model of all the meta-layers involved in this
22:03 jnthn We compile down to JVM bytecode, so the JIT can help to some degree
22:04 jnthn I mean, if you + two native ints, it compiles down to what a + of two native ints in Java does.
22:06 timotimo and things that need some dynamicism will end up looking like function calls into the interpreter? like "find_appropriate_method"? i suppose find_lexical would be done at compile time already?
22:06 jnthn It tries to avoid looking lexicals up by name at least.
22:12 jnthn For now I'm mostly interested in "make it work"
22:13 jnthn "Make it fast" can come after that :)
22:14 [Coke] Illegal option --stable-sc
22:15 [Coke] (building nqp-jvm-prep with nqp version 2012.12-49-g4084b68 built on parrot 4.10.0 revision RELEASE_4_10_0)
22:15 [Coke] ... which I thought was the latest.
22:15 diakopter not anymore
22:16 [Coke] with the implied "...as of about 10m ago"
22:16 diakopter oh
22:16 [Coke] (cd rakudo; git rb; perl Configure.pl --gen-parrot --gen-nqp=master --prefix=/Users/willcoleda/sandbox/sixdev/install; make -j3 install)
22:16 [Coke] Shouldn't that get me the latest nqp?
22:18 jnthn Should.
22:20 * [Coke] grumbles and sets this up to wipe parrot and nqp directories and suffer a full rebuild each time just in case.
22:21 jnthn https://gist.github.com/4659741 # very unscientific performance comparison; top is cross-compiling to JVM, second is running directly on Parrot. Note, this is early results, there's still room for optimization.
22:21 tadzik huhu
22:25 tadzik very impressive, esp. given JVM startup time
22:25 tadzik say("hi") alone is 3 seconds on my box :)
22:25 masak I for one welcome our new JVM overlords.
22:25 japhb_ Woah.
22:25 japhb_ Very nice, jnthn!
22:25 jnthn oh lol
22:25 masak finally Parrot gets some competition :P
22:26 jnthn yeah, that is 1.27 on mine
22:26 [Coke] (arglebargle. I cannot do this build behind the firewall because I'm not setup for anonymous git to github anymore.)
22:27 jnthn Well, thing to remember is that the cross-compiler is doing the cross-comp in NQP on Parrot, spitting out a .dump file, running a JVM process to turn that into a .class file, then spawning the JVM again to run the compiled output.
22:27 [Coke] as a former parrot developer, I'm horrified at those timings.
22:27 [Coke] jnthn: you're making it sound like you're doing a lot more work, but still running in a fraction of the time.
22:28 japhb_ ...
22:28 [Coke] r: say 5.36/85.11
22:28 p6eval rakudo 9c9d79: OUTPUT«0.062977␤»
22:29 [Coke] or are you not counting the time to cross compile at all?
22:29 [Coke] (it's reading like "5s to cross compile and then run on java" vs. "85s to run on parrot")
22:29 jnthn [Coke]: The time I posted there includes the cross-compile and run time.
22:29 jnthn [Coke]: Well, to compile and run on Parrot.
22:29 [Coke] so, yes, those timings are as horrifying as I thought. ;)
22:30 jnthn It's a microbenchmark; usual disclaimers apply.
22:33 * masak .oO( DOOM DOOM DOOM )
22:34 japhb_ http://www.girlswithslingshots.com/comic/gws-1136/
22:34 alec__ joined #perl6
22:34 tadzik jnthn: fwiw, on my box this microbenchmark is 11.12s vs 379.93s :)
22:34 timotimo where do i have to look for a specification of the POD objects that can be accessed with $=...? or are they just always strings?
22:35 tadzik r: say 11.12/379.93
22:35 p6eval rakudo 9c9d79: OUTPUT«0.029269␤»
22:35 tadzik timotimo: nope, they're full-blown objects
22:35 timotimo that's good to know
22:35 tadzik and they aren't really spec'd, they only exist on rakudo, and are inspired by S26
22:36 timotimo mhm, ok
22:36 tadzik they're in https://github.com/rakudo/rak​udo/blob/nom/src/core/Pod.pm
22:36 tadzik just ask me about anything :)
22:36 * timotimo just looked at S26 :)
22:36 timotimo i was just generally curious
22:36 tadzik I'm supposed to know everything about them :)
22:37 jnthn tadzik: Do they prefer caviar or trombones?
22:37 tadzik caviar any time
22:37 [Coke] bah. what sane creature would NOT choose trombones?
22:37 timotimo so, @.content will have any mixture of plain text and more complex objects that have their own @.content?
22:37 jnthn Pod block objects, apparently :P
22:38 jnthn r: say 8.58 / 106.72
22:38 p6eval rakudo 9c9d79: OUTPUT«0.080397␤»
22:38 tadzik timotimo: I think they're twines
22:39 tadzik or not
22:39 tadzik no, @.content is always Pod objects
22:39 tadzik except when it's a formatting code
22:39 tadzik then it's a twine
22:39 masak japhb_: ;)
22:39 jnthn OK, teaching tomorrow, so rest
22:39 jnthn 'night o/
22:39 japhb_ Sleep well
22:40 masak tadzik: I'm so glad the twine concept was useful to you. it brings back fond memories of Białowieża.
22:40 tadzik :)
22:40 masak 'night, jnthn
22:40 tadzik surprise ice rain!
22:40 tadzik good knight jnthn
22:40 masak tadzik: hahaha
22:41 tadzik "Let's see the place of power!" "RETREEEEEAT"
22:41 timotimo i have no idea what a twine is, tbh
22:41 tadzik I remember it took me some time to fully appreciate twines, finally got them around yapc::eu that year
22:41 tadzik timotimo: it's a data structures for mixing strings with rich content
22:42 timotimo oh, ok
22:42 tadzik it's always odd number of elements, and a string must always be te first and the last element, even if empty
22:42 tadzik that makes it easy to merge them
22:42 masak timotimo: it's an odd-element array with text<elem>text<elem>text etc
22:42 * timotimo finds it in his internet
22:42 tadzik it's a pretty simple concept, and it solves plenty of problems actually
22:43 timotimo apparently only in LLVM source code :|
22:43 masak I learned it through one of the XML modules on CPAN.
22:43 hash_table joined #perl6
22:43 tadzik yeah, that's the only place when I found it back in the days
22:48 masak 'night, #perl6
22:48 timotimo 'night masak :)
22:49 japhb_ o/
22:49 tadzik g'knight
23:05 Su-Shee joined #perl6
23:07 cotto joined #perl6
23:12 arlinius joined #perl6
23:22 FROGGS the times of the microbenchmark must be wrong
23:31 nnunley joined #perl6
23:33 tadzik how so?
23:37 FROGGS well, it's unbelievable
23:38 tadzik :)
23:39 FROGGS I do hope the parrot guys dont read this before first coffee ó.ò
23:39 tadzik jvm was about 50x faster on my box
23:39 tadzik if I exclude startup time, then well
23:40 tadzik r: say 8.12/379.93
23:40 p6eval rakudo 9c9d79: OUTPUT«0.021372␤»
23:40 tadzik yeah, about 50x
23:40 tadzik that's just a stupid loop though
23:40 FROGGS ya, of course
23:41 FROGGS does JVM has some nativecall stuff?
23:42 benabik joined #perl6
23:42 timotimo what microbenchmarks are going on here?
23:42 timotimo nqp on jvm benchmarks?
23:43 FROGGS right
23:51 timotimo i'll try running nqp-jvm again
23:51 FROGGS I'd need to install first
23:52 timotimo aaw
23:52 timotimo javac: invalid source release: 1.7
23:55 timotimo Exception in thread "main" java.lang.UnsupportedClassVersionError: org/perl6/nqp/jast2bc/JASTToJVMBytecode : Unsupported major.minor version 51.0 - er, huh?
23:57 FROGGS no idea
23:59 felher timotimo: this may happen if you try to run java 1.7 bytecode or compile to java 1.7 byte code using a java 1.6 JDK

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

Perl 6 | Reference Documentation | Rakudo