Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2009-12-16

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:03 zaslon lolperl6adventhazblogged! perl6advent++ 'Day 16: We call it ‘the old switcheroo’': http://perl6advent.wordpress.com/2009/12/​16/day-16-we-call-it-the-old-switcheroo/
00:04 carlin eiro: to get around that I usually do: git remote rm origin && git remote add origin git@github.com:masak/proto.git
00:05 carlin but I've seen others suggest editing the .git/config file
00:10 IllvilJa thanks for a great advent calendar posting.
00:12 eiro thx carlin, first patch pushed
00:13 carlin it was a good post, masak++ for 'giving' us it
00:14 jnthn I love it 'when' masak++ blogs
00:20 carlin the puns were a given
00:22 eiro 'night all
00:30 lazybird joined #perl6
00:40 itsscott joined #perl6
00:41 itsscott left #perl6
00:47 IllvilJa joined #perl6
01:08 nihiliad joined #perl6
01:15 * frettled battles bravely with Rakudo.
01:15 frettled I just discovered that the REPL remembers previous declarations of subtypes, methods, and so on.
01:17 jnthn frettled: In general, it remembers stuff that went into the lexpad, but not that went into the lexpad.
01:17 jnthn oh waht
01:17 jnthn into the *namespace, but not...
01:18 frettled aha
01:22 pugs_svn r29346 | lwall++ | [S04] slight clarification to break semantics
01:22 diakopter consider the semantics broken
01:23 [[synth]] joined #perl6
01:25 cbarrett joined #perl6
01:28 agentzh joined #perl6
01:29 lisppaste3 joined #perl6
01:36 c9s joined #perl6
01:37 diakopter .. I thought it was funny
01:42 frettled heh
01:43 JimmyZ joined #perl6
01:46 c9s joined #perl6
01:50 Wolfman2000 carlin++ for his post
01:53 Exodist joined #perl6
01:54 frettled Hmm, I think I may have found a rakudobug.
01:54 frettled Or I may be misremembering something about autovivification.
01:56 frettled No, I don't think I'm misremembering.
01:57 frettled rakudo: my @a; @a[0]=1; say @a.elems; say @a[0].WHAT; say @a[1].WHAT; say @a.elems;
01:57 p6eval rakudo 55f51d: 1␤Int()␤Failure()␤2␤
01:58 frettled ng: my @a; @a[0]=1; say @a.elems; say @a[0].WHAT; say @a[1].WHAT; say @a.elems;
01:58 p6eval ng 0307c2: 1␤Int()␤Proxy()␤1␤
02:01 meppl joined #perl6
02:21 diakopter ng: &.WHAT
02:21 p6eval ng 0307c2: Lexical 'self' not found␤current instr.: '_block14' pc 29 (EVAL_1:0)␤
02:28 colomon joined #perl6
02:38 sunnavy_ joined #perl6
03:03 * colomon has had enough of being frustrated with $work today.  time to be frustrated with ng...
03:05 diakopter ng: &.WHAT
03:06 p6eval ng 0307c2: Lexical 'self' not found␤current instr.: '_block14' pc 29 (EVAL_1:0)␤
03:07 JimmyZ rakudo: for^20{my ($a,$b)=<AT CG GC TA>.pick.comb;my ($c,$d)=6+4*sin($_/2),6+4*sin($_/2+2); ($c,$d)=$c min$d,$c max$d;say sprintf "%{$c}s%{$d-$c}s",$a,$b}
03:07 p6eval rakudo 55f51d:      A  T␤      CG␤     T A␤   C    G␤ A     T␤ G     C␤ G   C␤  AT␤ AT␤ G   C␤ T     A␤  A     T␤   T    A␤     A T␤      TA␤    C   G␤  T     A␤ C     G␤ C    G␤ G  C␤
03:07 dalek rakudo/ng: 8a7d1c5 | tene++ | src/Perl6/Actions.pm:
03:07 dalek rakudo/ng: try {} should not catch control exceptions
03:07 dalek rakudo/ng: review: http://github.com/rakudo/rakudo/commit/8​a7d1c5ea27dcab467b99f4fdd7ff7b9ca99f008
03:08 JimmyZ ng: for^20{my ($a,$b)=<AT CG GC TA>.pick.comb;my ($c,$d)=6+4*sin($_/2),6+4*sin($_/2+2); ($c,$d)=$c min$d,$c max$d;say sprintf "%{$c}s%{$d-$c}s",$a,$b}
03:08 p6eval ng 0307c2: Unable to parse blockoid, couldn't find final '}' at line 1␤current instr.: 'perl6;Regex;Cursor;FAILGOAL' pc 1664 (src/stage0/Regex-s0.pir:907)␤
03:11 colomon Tene: you out there?
03:12 Tene colomon: I'm here.
03:13 colomon So, when I was talking with pmichaud the other day about working around the array calling bug, he talked about removing the Positional role check that is failing.
03:13 colomon Any idea where that would be?
03:13 colomon here's the issue:
03:14 colomon ng: sub a(@b) { say @b; }; a(1...3)
03:14 p6eval ng 0307c2: Null PMC access in get_string()␤current instr.: 'perl6;Perl6Role;Str' pc -1 ((unknown file):-1)␤
03:14 colomon it's better with the trace:
03:14 colomon errr....
03:14 diakopter rakudo: for^20{my ($a,$b)=<AT CG GC TA>.pick.comb;my ($c,$d)=6+4*sin($_/2),6+4*sin($_/2+2); ($c,$d)=$c min$d,$c max$d;printf "%{$c}s%{$d-$c}s",$a,$b}
03:15 p6eval rakudo 55f51d:      C  G      GC     A T   A    T G     C A     T G   C  AT AT G   C C     G  C     G   T    A     T A      GC    G   C  C     G C     G A    T G  C
03:15 diakopter say sprintf?
03:16 diakopter oh, you wanted the line breaks
03:17 lisppaste3 colomon pasted "maybe the error trace" at http://paste.lisp.org/display/92172
03:18 colomon anyway, Tene, was wondering if you had any notion where the argument binding is happening.
03:19 colomon I've been poking around binder/bind.c, but haven't figured out anything useful yet.
03:22 Tene colomon: no, can't say that I can help here, sorry.
03:26 colomon Hmmm... looks like maybe in Rakudo_binding_bind_one_param
03:38 colomon ack, it's tantalizingly close to making sense to me now....
03:40 cbarrett joined #perl6
03:42 colomon bother.  maybe tomorrow.  time for bed now.
03:51 jql joined #perl6
03:56 patspam joined #perl6
03:58 justatheory joined #perl6
04:04 cbarrett left #perl6
04:28 ashizawa joined #perl6
04:36 FalseVinylShrub joined #perl6
04:36 dalek nqp-rx: 7c9ba0a | tene++ | src/NQP/ (2 files):
04:36 dalek nqp-rx: "Fat Arrow" named parameter passing syntax for japhb++
04:36 dalek nqp-rx: review: http://github.com/perl6/nqp-rx/commit/7​c9ba0a6615c9955dc808dcd36a7d7043aabc369
04:38 yahooooo joined #perl6
04:38 Tene hugme: add japhb to nqp-rx
04:38 hugme Tene: sorry, you don't have permissions to change 'nqp-rx'
04:38 gfx joined #perl6
04:38 Tene Hmm.
04:38 FalseVinylShrub joined #perl6
04:39 diakopter hugme: describe nqp-rx
04:39 diakopter hugme: nqp-rx
04:39 diakopter hugme: nqp-rx?
04:39 japhb hugme: projects
04:39 diakopter hugme: help
04:39 hugme diakopter: (add $who to $project | list projects | show $project | hug $nickname | tweet $twittername $message )
04:39 diakopter hugme show nqp-rx
04:39 hugme diakopter: the following people have power over 'nqp-rx': PerlJam, TimToady, [particle], jnthn, masak, moritz_, pmichaud. URL: http://github.com/perl6/nqp-rx/
04:40 diakopter PerlJam: bzzt
04:40 diakopter [particle]: bzzt
04:40 diakopter hugme: list projects
04:40 hugme diakopter: I know about book, gge, hugme, ilbot, json, november, nqp-rx, nqpbook, perl6-examples, proto, svg-matchdumper, svg-plot, temporal-flux-perl6syn, tufte, web
04:42 PerlJam diakopter: eh?
04:42 diakopter PerlJam: japhb wants added to nqp-rx
04:43 PerlJam hugme add japhb to nqp-rx
04:43 * hugme hugs japhb. Welcome to nqp-rx!
04:43 japhb PerlJam, diakopter: thanks!
04:43 diakopter now wreak havoc!
04:49 japhb diakopter, MWU-HA-HA-HA-HA-HAAAAAAAaaaaaaaaa .....
04:55 FalseVinylShrub left #perl6
05:12 jql joined #perl6
05:12 RichiH joined #perl6
05:12 diakopter joined #perl6
05:12 REPLeffect_ joined #perl6
05:12 akl joined #perl6
05:12 arnsholt joined #perl6
05:12 carlin joined #perl6
05:12 takadonet joined #perl6
05:12 silug joined #perl6
05:12 tomaw_ joined #perl6
05:12 stuuf joined #perl6
05:12 dukelet0 joined #perl6
05:12 s1n joined #perl6
05:12 hugme joined #perl6
05:12 ilogger2 joined #perl6
05:12 mtve joined #perl6
05:16 Tene joined #perl6
05:16 mubot joined #perl6
05:16 orafu joined #perl6
05:16 szabgab joined #perl6
05:16 jrockway joined #perl6
05:16 jimi_hendrix joined #perl6
05:16 youwin joined #perl6
05:16 PacoLinux joined #perl6
05:16 rachelBROWN joined #perl6
05:16 elmex joined #perl6
05:16 avuserow joined #perl6
05:16 BooK joined #perl6
05:16 perlygatekeeper joined #perl6
05:16 jan_ joined #perl6
05:16 zostay joined #perl6
05:16 viklund_ joined #perl6
05:16 pnu joined #perl6
05:16 charsbar_ joined #perl6
05:16 gabiruh joined #perl6
05:16 gbacon joined #perl6
05:16 perigrin joined #perl6
05:16 ssm joined #perl6
05:16 parduncia joined #perl6
05:16 jjore_ joined #perl6
05:16 Woodi joined #perl6
05:16 Infinoid joined #perl6
05:16 TimToady joined #perl6
05:16 cls_bsd joined #perl6
05:16 dukeleto joined #perl6
05:16 pugs_svn joined #perl6
05:16 hatseflats joined #perl6
05:16 jiing joined #perl6
05:16 phenny joined #perl6
05:28 Tene joined #perl6
05:28 mubot joined #perl6
05:28 orafu joined #perl6
05:28 szabgab joined #perl6
05:28 jrockway joined #perl6
05:28 jimi_hendrix joined #perl6
05:28 youwin joined #perl6
05:28 PacoLinux joined #perl6
05:28 rachelBROWN joined #perl6
05:28 elmex joined #perl6
05:28 avuserow joined #perl6
05:28 BooK joined #perl6
05:28 perlygatekeeper joined #perl6
05:28 jan_ joined #perl6
05:28 zostay joined #perl6
05:28 viklund_ joined #perl6
05:28 pnu joined #perl6
05:28 charsbar_ joined #perl6
05:28 gabiruh joined #perl6
05:28 gbacon joined #perl6
05:28 perigrin joined #perl6
05:28 ssm joined #perl6
05:28 parduncia joined #perl6
05:28 jjore_ joined #perl6
05:28 Woodi joined #perl6
05:28 Infinoid joined #perl6
05:28 TimToady joined #perl6
05:28 cls_bsd joined #perl6
05:28 dukeleto joined #perl6
05:28 pugs_svn joined #perl6
05:28 hatseflats joined #perl6
05:28 jiing joined #perl6
05:28 phenny joined #perl6
05:30 Tene joined #perl6
05:30 mubot joined #perl6
05:30 orafu joined #perl6
05:30 szabgab joined #perl6
05:30 jrockway joined #perl6
05:30 jimi_hendrix joined #perl6
05:30 youwin joined #perl6
05:30 PacoLinux joined #perl6
05:30 rachelBROWN joined #perl6
05:30 elmex joined #perl6
05:30 avuserow joined #perl6
05:30 BooK joined #perl6
05:30 perlygatekeeper joined #perl6
05:30 jan_ joined #perl6
05:30 zostay joined #perl6
05:30 viklund_ joined #perl6
05:30 pnu joined #perl6
05:30 charsbar_ joined #perl6
05:30 gabiruh joined #perl6
05:30 gbacon joined #perl6
05:30 perigrin joined #perl6
05:30 ssm joined #perl6
05:30 parduncia joined #perl6
05:30 jjore_ joined #perl6
05:30 Woodi joined #perl6
05:30 Infinoid joined #perl6
05:30 TimToady joined #perl6
05:30 cls_bsd joined #perl6
05:30 dukeleto joined #perl6
05:30 pugs_svn joined #perl6
05:30 hatseflats joined #perl6
05:30 jiing joined #perl6
05:30 phenny joined #perl6
05:37 Tene joined #perl6
05:37 mubot joined #perl6
05:37 orafu joined #perl6
05:37 szabgab joined #perl6
05:37 jrockway joined #perl6
05:37 jimi_hendrix joined #perl6
05:37 youwin joined #perl6
05:37 PacoLinux joined #perl6
05:37 rachelBROWN joined #perl6
05:37 elmex joined #perl6
05:37 avuserow joined #perl6
05:37 BooK joined #perl6
05:37 perlygatekeeper joined #perl6
05:37 jan_ joined #perl6
05:37 zostay joined #perl6
05:37 viklund_ joined #perl6
05:37 pnu joined #perl6
05:37 charsbar_ joined #perl6
05:37 gabiruh joined #perl6
05:37 gbacon joined #perl6
05:37 perigrin joined #perl6
05:37 ssm joined #perl6
05:37 parduncia joined #perl6
05:37 jjore_ joined #perl6
05:37 Woodi joined #perl6
05:37 Infinoid joined #perl6
05:37 TimToady joined #perl6
05:37 cls_bsd joined #perl6
05:37 dukeleto joined #perl6
05:37 pugs_svn joined #perl6
05:37 hatseflats joined #perl6
05:37 jiing joined #perl6
05:37 phenny joined #perl6
05:37 meppl joined #perl6
05:41 jql joined #perl6
05:41 RichiH joined #perl6
05:41 diakopter joined #perl6
05:41 REPLeffect_ joined #perl6
05:41 akl joined #perl6
05:41 arnsholt joined #perl6
05:41 carlin joined #perl6
05:41 takadonet joined #perl6
05:41 silug joined #perl6
05:41 tomaw_ joined #perl6
05:41 stuuf joined #perl6
05:41 dukelet0 joined #perl6
05:41 s1n joined #perl6
05:41 hugme joined #perl6
05:41 ilogger2 joined #perl6
05:41 mtve joined #perl6
05:42 RichiH joined #perl6
05:43 Tene joined #perl6
05:43 mubot joined #perl6
05:43 orafu joined #perl6
05:43 szabgab joined #perl6
05:43 jrockway joined #perl6
05:43 jimi_hendrix joined #perl6
05:43 youwin joined #perl6
05:43 PacoLinux joined #perl6
05:43 rachelBROWN joined #perl6
05:43 elmex joined #perl6
05:43 avuserow joined #perl6
05:43 BooK joined #perl6
05:43 perlygatekeeper joined #perl6
05:43 jan_ joined #perl6
05:43 zostay joined #perl6
05:43 viklund_ joined #perl6
05:43 pnu joined #perl6
05:43 charsbar_ joined #perl6
05:43 gabiruh joined #perl6
05:43 gbacon joined #perl6
05:43 perigrin joined #perl6
05:43 ssm joined #perl6
05:43 parduncia joined #perl6
05:43 jjore_ joined #perl6
05:43 Woodi joined #perl6
05:43 Infinoid joined #perl6
05:43 TimToady joined #perl6
05:43 cls_bsd joined #perl6
05:43 dukeleto joined #perl6
05:43 pugs_svn joined #perl6
05:43 hatseflats joined #perl6
05:43 jiing joined #perl6
05:43 phenny joined #perl6
05:53 Ryan52 joined #perl6
05:54 Tene joined #perl6
05:54 mubot joined #perl6
05:54 orafu joined #perl6
05:54 szabgab joined #perl6
05:54 jrockway joined #perl6
05:54 jimi_hendrix joined #perl6
05:54 youwin joined #perl6
05:54 PacoLinux joined #perl6
05:54 rachelBROWN joined #perl6
05:54 elmex joined #perl6
05:54 avuserow joined #perl6
05:54 BooK joined #perl6
05:54 perlygatekeeper joined #perl6
05:54 jan_ joined #perl6
05:54 zostay joined #perl6
05:54 viklund_ joined #perl6
05:54 pnu joined #perl6
05:54 charsbar_ joined #perl6
05:54 gabiruh joined #perl6
05:54 gbacon joined #perl6
05:54 perigrin joined #perl6
05:54 ssm joined #perl6
05:54 parduncia joined #perl6
05:54 jjore_ joined #perl6
05:54 Woodi joined #perl6
05:54 Infinoid joined #perl6
05:54 TimToady joined #perl6
05:54 cls_bsd joined #perl6
05:54 dukeleto joined #perl6
05:54 pugs_svn joined #perl6
05:54 hatseflats joined #perl6
05:54 jiing joined #perl6
05:54 phenny joined #perl6
05:56 Guest94292 joined #perl6
05:56 jql joined #perl6
05:56 diakopter joined #perl6
05:56 REPLeffect_ joined #perl6
05:56 akl joined #perl6
05:56 arnsholt joined #perl6
05:56 carlin joined #perl6
05:56 takadonet joined #perl6
05:56 silug joined #perl6
05:56 tomaw_ joined #perl6
05:56 stuuf joined #perl6
05:56 dukelet0 joined #perl6
05:56 s1n joined #perl6
05:56 hugme joined #perl6
05:56 ilogger2 joined #perl6
05:56 mtve joined #perl6
05:59 Tene joined #perl6
05:59 mubot joined #perl6
05:59 orafu joined #perl6
05:59 szabgab joined #perl6
05:59 jrockway joined #perl6
05:59 jimi_hendrix joined #perl6
05:59 youwin joined #perl6
05:59 PacoLinux joined #perl6
05:59 rachelBROWN joined #perl6
05:59 elmex joined #perl6
05:59 avuserow joined #perl6
05:59 BooK joined #perl6
05:59 perlygatekeeper joined #perl6
05:59 jan_ joined #perl6
05:59 zostay joined #perl6
05:59 viklund_ joined #perl6
05:59 pnu joined #perl6
05:59 charsbar_ joined #perl6
05:59 gabiruh joined #perl6
05:59 gbacon joined #perl6
05:59 perigrin joined #perl6
05:59 ssm joined #perl6
05:59 parduncia joined #perl6
05:59 jjore_ joined #perl6
05:59 Woodi joined #perl6
05:59 Infinoid joined #perl6
05:59 TimToady joined #perl6
05:59 cls_bsd joined #perl6
05:59 dukeleto joined #perl6
05:59 pugs_svn joined #perl6
05:59 hatseflats joined #perl6
05:59 jiing joined #perl6
05:59 phenny joined #perl6
06:02 Tene joined #perl6
06:02 mubot joined #perl6
06:02 orafu joined #perl6
06:02 szabgab joined #perl6
06:02 jrockway joined #perl6
06:02 jimi_hendrix joined #perl6
06:02 youwin joined #perl6
06:02 PacoLinux joined #perl6
06:02 rachelBROWN joined #perl6
06:02 elmex joined #perl6
06:02 avuserow joined #perl6
06:02 BooK joined #perl6
06:02 perlygatekeeper joined #perl6
06:02 jan_ joined #perl6
06:02 zostay joined #perl6
06:02 viklund_ joined #perl6
06:02 pnu joined #perl6
06:02 charsbar_ joined #perl6
06:02 gabiruh joined #perl6
06:02 gbacon joined #perl6
06:02 perigrin joined #perl6
06:02 ssm joined #perl6
06:02 parduncia joined #perl6
06:02 jjore_ joined #perl6
06:02 Woodi joined #perl6
06:02 Infinoid joined #perl6
06:02 TimToady joined #perl6
06:02 cls_bsd joined #perl6
06:02 dukeleto joined #perl6
06:02 pugs_svn joined #perl6
06:02 hatseflats joined #perl6
06:02 jiing joined #perl6
06:02 phenny joined #perl6
06:03 Guest94292 joined #perl6
06:03 jql joined #perl6
06:03 diakopter joined #perl6
06:03 REPLeffect_ joined #perl6
06:03 akl joined #perl6
06:03 arnsholt joined #perl6
06:03 carlin joined #perl6
06:03 takadonet joined #perl6
06:03 silug joined #perl6
06:03 tomaw_ joined #perl6
06:03 stuuf joined #perl6
06:03 dukelet0 joined #perl6
06:03 s1n joined #perl6
06:03 hugme joined #perl6
06:03 ilogger2 joined #perl6
06:03 mtve joined #perl6
06:06 Raugturi joined #perl6
06:07 Raugturi left #perl6
06:22 vamped joined #perl6
06:27 rotf joined #perl6
07:08 kaare joined #perl6
07:28 flip214 joined #perl6
07:31 Su-Shee joined #perl6
07:32 Baggio_ joined #perl6
07:33 moritz_ good morning
07:35 flip214 morning!
07:35 flip214 Are there any definitions about reduce() being serialized or not?
07:36 flip214 I'd like to use some variables for caching intermediate results ...
07:36 flip214 but if multiple threads could access them it might be a problem.
07:37 flip214 I don't know offhand whether reduce() can be used left-to-right, right-to-left and/or parallelized ... is there an option for that?
07:38 moritz_ it's left-to-right
07:43 flip214 and serialized?
07:48 colomon I'm kind of surprised there isn't a right-to-left adverb on reduce().
07:49 colomon flip214: and serialized, yes.
07:51 moritz_ flip214: what do you mean by "serialized"?
07:51 Woody2143 joined #perl6
08:05 JimmyZ joined #perl6
08:07 moritz_ same as "sequential"?
08:09 colomon that's how I took it, as distinct from "parallelized".
08:11 vorner joined #perl6
08:16 * moritz_ doesn't understand how a reduce could be left-to-right and still parallelized
08:19 flip214 yes - so that I can use a few tricks to speed up the calculation.
08:20 flip214 colomon: I'm surprised, too ... P6 should be better than Haskell and Lisp, shouldn't it?
08:20 flip214 moritz: parallelized was meant as a third alternative.
08:21 flip214 for [+] you can do parts of the array in parallel, and only combine the semi-results in the master thread.
08:21 moritz_ only if all multis of infix:<+> are associative
08:21 moritz_ which you generally can't know
08:21 flip214 maybe an operator could define whether it's parallizeable
08:22 flip214 yes, of course.
08:22 flip214 But if an operator could tell that by a trait or something like that ...
08:23 flip214 even [/] could be done in parallel, by .[0] / ([*] .[1..*])
08:23 flip214 (for normal arithmetic again)
08:24 moritz_ there's another problem
08:24 flip214 Sorry - not "an operator", but "a multi"
08:24 flip214 is there?
08:24 moritz_ if you do [+] @list, @list can be lazy
08:24 flip214 yes?
08:24 moritz_ and the number of elements would not be known in advance
08:24 flip214 yeS?
08:24 moritz_ so the optimizer doesn't have enough data to decide if it's worth parallelizing
08:24 flip214 so thread 1 does [1] + [5], thread 2 does [2]+[6], ...
08:25 moritz_ how does it even know there's a 5th and 6th item?
08:25 flip214 by doing clustered reads on the array? would help with cpu cache, too.
08:25 iblechbot joined #perl6
08:25 flip214 first try to get some elements, and handle them in other threads ...
08:26 flip214 depends how long the element fetch takes, of course.
08:26 flip214 maybe the fetching takes much longer than the calculation
08:26 flip214 (eg reading from network etc.)
08:27 flip214 I think that if there's a way to tell reduce to try parallalizing it should be done only if the common case has many elements.
08:27 flip214 and so, if there are only a few elements, it won't take much time, too. (of course, some time gets wasted by thread creation/deletion etc.)
08:27 flip214 but if the common case is known (by profiling or whatever)
08:28 flip214 there's a good chance that this will improve performance.
08:28 flip214 especially as there will be more and more cpus in all computers ...
08:28 moritz_ it'll be interesting to see how lightweight or heavyweight threads will be
08:30 flip214 maybe some implementations might use a thread pool?
08:47 rgrau joined #perl6
08:47 surya joined #perl6
08:48 jferrero joined #perl6
08:50 surya Hiii
08:51 surya anybody home
08:52 colomon hello
08:52 moritz_ for some value of "home" :-)
08:52 surya I m a perl fan
08:53 ejs joined #perl6
08:53 moritz_ great
08:53 surya just wanted to ask you great guys
08:53 moritz_ welcome to the wonderful world of Perl 6
08:53 surya wht kind of development actiity is going on
08:53 surya *activity
08:53 surya and hw can I contribute ?
08:54 moritz_ well, a lot of things are being developed: the language specification, the test suite, compilers, modules, documentation, a book, module installer...
08:54 moritz_ surya: what kind of work would you like to do?
08:54 moritz_ and in which programming languages?
08:55 surya I have workex in perl 5.8 - perl 5.10
08:55 surya PHP 5 and Java
08:55 surya plus I do a lot of DB level things
08:56 moritz_ there's a project going on that might interest you
08:56 moritz_ two, actually
08:56 surya all these devlopment activities are intimating
08:56 moritz_ Squerl is a kind of ORM-wrapper (in Perl 6) around sqlite: http://use.perl.org/~masak/journal/39686
08:57 surya let me quickly go through tht
08:57 moritz_ and Tim Bunce is working on DBDI, something similar to DBI on the parrot level
08:57 masak joined #perl6
08:57 moritz_ but maybe for starters it's easiest to write a small, pure-perl module to get used to Perl 6
08:58 surya hmmm
08:58 masak I just got here, but I agree. :)
08:58 masak better to start small.
08:58 moritz_ surya: masak is the guy behind squerl, so if you have any questions about it...
08:58 masak in particular, make sure you have a really tight code-run-code cycle.
08:58 mathw joined #perl6
08:58 surya thanks for tht insight
08:58 masak Rakudo is so slow, so one needs to compensate by testing often.
08:59 surya let me check with masak
08:59 masak it's like it induces a TDD style. :)
08:59 * masak backlogs
09:01 surya wht kind of code are you writing
09:01 surya so masak
09:01 masak surya: I try to write everything I can think of. :)
09:01 masak partly to learn, partly to exercise Rakudo.
09:02 surya :-)
09:02 surya so for a beginner like me wht wud u suggest ?
09:02 Woodi joined #perl6
09:02 masak surya: find something that interests you; do that.
09:03 masak I could be more specific. we do need hands here and there.
09:03 surya hmm
09:03 moritz_ start reading about Perl 6, and play with it while you read
09:03 masak yes, that.
09:03 surya so is thr a location whr we have wish list or something similar ?
09:03 ejs1 joined #perl6
09:03 eiro hello guys
09:03 mathw Finding something you're interested in will be far more successful in the long term
09:03 masak eiro: \o
09:03 surya :-)
09:03 vorner surya: I tried to write maildir parser, but it turned out it needs to get faster and lazy for it to be of practical use.
09:04 vorner However, it was just few lines of code, which is kind of nice.
09:04 masak many things are blocking on speed, and stability.
09:04 masak but it's still fun to push the limits as they recede. :)
09:04 surya nice
09:04 surya maildir
09:05 surya let me read abt tht
09:05 mathw I wrote a maildir parser in Haskell once
09:05 mathw That was fun
09:05 mathw It was to feed messages through crm114 to teach it about spam and ham, and doing it in Perl seemed too obvious
09:07 vorner Anyway, for my needs, I will probably need to write it in C to be fast and lightweight enough (or rakudo would have to get better really a lot)
09:07 mathw Maybe in a year or two
09:07 surya hmm
09:07 surya so wht if I hv to write examples fr audience
09:08 vorner mathw: is it expected to get like 10 times faster than perl5?
09:08 surya cos I find example based documentation is also very important
09:08 surya yeah c is very fast
09:08 surya but I m nt a c guy
09:08 surya c, looks like out of world to me :-D
09:08 moritz_ surya: http://github.com/perl6/book/ is an attempt to write a Perl 6 book with lots of useful examples
09:09 surya lil no no I m quite fast in c till the time u ask me to wrtite hello world program
09:09 mathw vorner: hmm, that might be asking a bit much
09:09 surya :-)
09:09 mathw masak: nice advent :)
09:10 masak mathw: ta :)
09:10 mathw I hadn't realised I mentioned smartmatching before anybody actually explained it
09:10 vorner mathw: Yes, I know. Perl is nice (and getting nicer every version), but it is not really ment for powerfull and fast computations.
09:10 mathw This is the problem with writing tutorial material
09:10 mathw vorner: A friend of mine uses it a lot for that, but he cheats - he drives the thing from Perl, but does the heavy maths in C libraries he binds with XS
09:11 mathw Which gives him a nice balance between ease of sticking bits together, and speed of computation
09:12 Su-Shee POGL has some interesting opengl benchmarks where parts of the perl-c-mix are even faster than pure c.
09:12 moritz_ masak: ($c,$d)=$c min$d,$c max$d; looks like a candidate for minmax, no?
09:12 wayland76 Really?  Cool :)
09:12 moritz_ rakudo: say (2 minmax 4).perl
09:12 p6eval rakudo 55f51d: No applicable candidates found to dispatch to for 'infix:minmax'␤in Main (file <unknown>, line <unknown>)␤
09:12 flip214 vorner: I still have the hope that with perl6 -> parrot -> llcm -> C code -> c compiler there's a chance to get nearly to C
09:12 moritz_ ouch
09:12 moritz_ or sort
09:13 moritz_ ($c,$d)=sort($c,d)
09:13 masak moritz_: by the way, Squerl isn't specific to sqlite... it's just that we haven't gotten around to adding in mySQL.
09:13 flip214 And if everything else fails, maybe just rewriting a few parts in C should be enough
09:13 mathw flip214: I think Parrot could get really fast, but it's going to take a while before they get near that point
09:13 vorner flip214: would be really nice, I guess
09:13 moritz_ rakudo: my ($c, $d) = 4, 3; ($c, $d).=sort; say $c
09:14 p6eval rakudo 55f51d: 3␤
09:14 moritz_ rakudo: my ($c, $d) = 4, 3; ($c, $d).=sort; say ~($c, $d)
09:14 masak rakudo: my ($c, $d) = sort(4, 3); say $c
09:14 p6eval rakudo 55f51d: 3 4␤
09:14 p6eval rakudo 55f51d: 3␤
09:14 moritz_ I think ($c, $d).=sort is cheating :-)
09:14 moritz_ but I'm not sure
09:14 masak moritz_: do you think I should change the program in the blog post?
09:14 moritz_ TimToady: should it work?
09:15 moritz_ masak: I find sort nicer, but it's your call really
09:15 masak moritz_: I'll do it :)
09:15 flip214 Well, as I said ... if there's an easy way to interface with C (eg. by storing objects as a C structure), a few pieces can always be optimized.
09:15 masak I kinda guessed mine wasn't the shortest possible variant.
09:15 flip214 And AFAIK it's only a *very* small part of code that has to be really optimized.
09:16 moritz_ speaking of the advent... is there a way to turn off the "possibly related posts" section?
09:16 moritz_ it's kinda distracting, and has very bad matches most of the time
09:18 masak moritz_: you keep asking questions about Wordpress which are really Google queries! http://en.support.wordpress.com/related-posts/
09:19 masak (and yes, you may definitely turn them off.)
09:20 vorner Well, the program I needed was mostly only the parsing. And when I need it to run fast, then there is no much motivation to go by the trouble of having perl-C together.
09:26 masak surya: I can tell you a bit more about my interests: I like to write small apps that do new things. in doing so, I like to find new bugs and report them. I sometimes make commits to Rakudo. and I blog about stuff.
09:26 surya Okk
09:26 surya so all the code u write is in c?
09:27 * moritz_ writes tests for the test suite, chapters for the book, rakudo patches and sometimes I enhance my plotting library in Perl 6
09:27 moritz_ all that is either Perl 6 or English
09:27 moritz_ (with few exceptions)
09:28 masak oh, forgot about the book. :)
09:28 masak surya: no, it's mostly Perl 6, like moritz_++ said.
09:29 surya Okk got it
09:29 surya so I shud start with test cases
09:29 surya ?
09:29 masak surya: sometimes it's Perl 5, too. it's funny, these past two years have given me a great respect for the capabilities of Perl 5.
09:29 surya whts ur suggestion ?
09:29 masak surya: test cases for an app you want to write? yes, sure!
09:29 masak that's a good idea.
09:29 Su-Shee "use vocals" ;)
09:30 surya cool
09:31 surya does GIT has the documentation etc
09:31 moritz_ BTW the google webmaster tool says the perl6advent feed has 260 subscribers via google
09:31 vorner surya: Me? No, my hobby is to know as many languages as possible, so I write in what comes at hand usually. But there are reasons for C sometimes.
09:32 surya masak: Okk
09:32 mathw moritz_: nice :)
09:32 masak surya: git has plenty of documentation. my favorite introduction is called 'git from the bottom up'/
09:32 surya cool
09:33 surya let me go ahead n start reading some material
09:35 colomon moritz_: \o/
09:50 mjk joined #perl6
10:01 wayland76 adventcalendar++
10:01 mathw :)
10:01 hejki say "you're right" when /adventcalendar++/;
10:01 wayland76 All these new names :)
10:01 hejki s:g/\+/\\+/
10:02 hejki well i gotta admit i'm here partly cause of the advent calendar
10:02 hejki but mainly since i'm active with perl5 (and am genuinely interested about perl6)
10:02 masak \o/
10:02 * moritz_ has a blog post scheduled about marketing Perl 6 in 2009. It shows the page view stats including the /. peak :-)
10:02 hejki but sure, the advent calendar is more than really nice for PR :>
10:04 Psyche^ joined #perl6
10:04 frettled moritz_: neat
10:05 wayland76 has everyone seen this?  http://perlalchemy.blogspot.​com/2009/05/api-design.html
10:05 frettled now I have!
10:06 moritz_ you can blame the ironman competition. Without it I would have published the post straight away
10:06 wayland76 Sure it's from May, but I figured it might be useful to those designing P6 modules that they intend to release someday
10:06 frettled It might have been from 1990.
10:07 frettled (because, among other things, he's not mentioning test-driven development)
10:07 moritz_ wayland76: I've seen the Tech Talk it's referring to, and was positively surprised how well the RFCs and exegeses fit the criteria
10:08 wayland76 Yes, and some of his stuff sounds like he's vaguely groping towards aglie programming concepts
10:08 moritz_ frettled: well, the "write examples first" is kinda like TDD in intent
10:08 JimmyZ with Parrot-1.9.0 & mingw, cannot build Rakudo (master)
10:08 RichiH frettled: yah, i wondered where "test, test, test" was in the post :)
10:08 JimmyZ perl6_ops.o:perl6_ops.c:(.text+0x5d2d): undefined reference to `GETATTR_CallSignature_results' from fperrad++
10:08 wayland76 s/aglie/agile/ -- the other sounds like it's ugly :)
10:08 RichiH moritz_: use case != test
10:09 moritz_ RichiH: right. But writing tests cases for an API that's not implemented yet isn't more useful than writing examples
10:10 moritz_ at least not for the API designer
10:10 RichiH moritz_: not at first, but you can track progress by seeing how fewer and fewer tests fail
10:11 moritz_ RichiH: when you *implement* it. Sure. But that's not what the talk is about
10:11 moritz_ and yes, I know how valuable tests are for implementations. Which is why I commit to the Perl 6 test suite, occasionally
10:12 masak moritz_++ # if only more people did it with the frequency you call 'occasionally' :)
10:12 RichiH moritz_: i still think it should have been mentioned. especially as a single sentence like 'use those use cases to design tests and run them!' would have fit into it, imo
10:17 frettled moritz_: It's not "a talk", it's a web page trying to sum up what's needed for good API design.
10:17 frettled moritz_: that there incidentally is a talk in there, is because he's trying to provide links to his sources :)
10:18 moritz_ and I've seen that talk which he uses as a source
10:18 moritz_ that's what I wanted to say
10:18 frettled as one of his sources :)
10:20 frettled But sure, you need to know what you're going to _use_ your API for.
10:20 frettled That's why I said it could have been written in 1990.
10:20 pmurias joined #perl6
10:20 frettled Perhaps there is a need for a web page collecting how to best go about API design, but I have a feeling that he's already off on the wrong track.
10:21 rfordinal joined #perl6
10:24 moritz_ so, is it not agile enough for you?
10:24 moritz_ or what are missing?
10:30 masak hugme: tweet rakudoperl Perl 6 advent calendar day 16: We call it 'the old switcheroo' http://bit.ly/7E2uFM
10:30 * hugme hugs masak; tweet delivered
10:31 mariuz joined #perl6
10:32 frettled moritz_: I don't care about «agile» per se.
10:32 moritz_ masak++
10:33 frettled moritz_: But I believe that testing is such a fundamental part of API design that neglecting to mention it on a web page that attempts to collect information and references for good API design would be criminal, if anything in programming was.
10:34 wayland76 IMHO, the web page looks more like some notes thrown together than a carefully compiled compendium
10:35 frettled Yep.
10:35 wayland76 I'm not saying it's wonderful, but ... maybe someone could do better :)  Or something :)
10:35 frettled But I'm projecting negativity here, so I'll stop.  Instead, I'll ask for help :)
10:35 Su-Shee are you really complaining that someone did left out to mention testing (which everybody obviously alread knows) in a blog posting? :)
10:36 frettled Su-Shee: «everybody» don't know that yet :)
10:37 payload joined #perl6
10:37 Su-Shee well let's hope that your jobs are all already evolved to actually having some testing.. ;)
10:37 moritz_ Su-Shee: does yours?
10:38 Su-Shee no, that's my point.
10:39 Su-Shee I actually have yet to see the company - my jobs or friends - which actually _does_ programming that nicely and well organized. ;)
10:40 Su-Shee though we have human testers which actually do the stuff you didn't think of anyone would ever do. ;)
10:40 hanekomu joined #perl6
10:42 frettled m-hm
10:42 frettled There's almost no test-driven code at $orkplace.
10:42 moritz_ so writing tests would destroy their jobs :/
10:42 frettled haha
10:42 frettled Their jobs are already meaningless!  ;)
10:42 moritz_ why? the improve the quality of the product
10:43 moritz_ s/the/they/
10:43 Su-Shee no. human testers and written tests test totally different things.
10:43 Su-Shee in 99% of all companies I know, the schedule usally kills writing tests first.
10:44 moritz_ and then the unwritten tests kill the schedule, by letting regressions slip in
10:45 wayland76 Have you tried adopting the "User Stories" from "eXtreme Programming"?
10:45 Su-Shee no, the schedule kills the schedule. ;) and developers have usally a very optimistic view on their use of time.
10:45 moritz_ Su-Shee: yes.
10:45 jaldhar joined #perl6
10:50 Su-Shee wayland76: I've never seen a company actually getting to something which resembles any by-the-book-concept of project management.
10:51 wayland76 Su-Shee: Maybe not, but that doesn't mean that it isn't worth giving things a go
10:52 mathw Where I work, we do a fairly literal version of scrum
10:52 mathw It actually works... most of the time
10:52 mathw A lot depends on what you put into it, of course
10:53 lisppaste3 frettled pasted "What am I doing wrong?" at http://paste.lisp.org/display/92184
10:55 moritz_ is_success ($_, $target)
10:55 moritz_ remove that space
10:55 moritz_ you're passing a list of $_, $target as the first positional argumet to is_success
10:58 frettled Argh, typical!
10:58 frettled Thanks.
10:59 frettled Hmm, no, that doesn't solve it.
11:00 frettled It fails before then, it fails at the type check for sub roll.
11:01 moritz_ say roll @*ARGS[0].Int, @*ARGS[1].Int }
11:02 moritz_ but you declared the second parameter to be named
11:02 moritz_ when 1|2 { say roll |@*ARGS>>.Int }
11:03 moritz_ if you declare it as an optional positional parameter
11:03 moritz_ but it doesn't exactly explain the error
11:03 frettled Mm, that's what I wanted, I wonder where that colon came from.
11:04 moritz_ colomon is our colon specialist :-) *SCNR*
11:04 moritz_ (actually masak++ is)
11:05 masak It's the third law of Perl 6: masak dislikes the colon. :P
11:05 frettled Now it's working.
11:05 masak at least I don't think it should be over-used.
11:05 moritz_ masak: why do you dislike it?
11:05 masak moritz_: two reasons, both quite weak.
11:05 moritz_ masak: looking at your code it seems you use it quite frequently
11:05 masak O RLY? :)
11:06 frettled The problem with rewriting code for a paste is that I sometimes lose things or add things involuntarily, hehe
11:06 frettled Okay, this will become a blog post tonight, I think.  :)
11:06 moritz_ masak: at least in the code you blog
11:06 frettled moritz_++ - you helped me nail it.
11:06 moritz_ frettled: there's a good reason to use version control even for simple things
11:06 masak moritz_: (1) I've once spent half an hour looking for a bug which turned out to be due to precedence problems involving the colon form of method invocation.
11:06 frettled moritz_: yeah, but I'm using copy+paste via a buggy copy+paste implementation
11:07 frettled Snow Leopard broke copy+paste between X11 and other apps.
11:07 frettled So I created a FIFO to paste from X11 to X11, then jump over to a Terminal.app and copy+paste out from there.  But sometimes, the FIFO loses things, or I lose things when selecting for paste.
11:08 masak moritz_: (2) colons exist in so many forms that they initially confuse newcomers. I experienced that first-hand in szabgab++'s class before YAPC::EU. I found myself saying "No, that's not an adverb colon, that's a method invocation colon". people groaned from pain.
11:08 frettled I really need to get cracking on using a remote repository for this.
11:08 moritz_ sounds like 21st century technology :-)
11:08 moritz_ (to frettled)
11:08 moritz_ masak: hm, interesting
11:08 frettled :D
11:08 masak frettled: for some reason, copy+pasting via Emacs always works for me.
11:09 frettled Next challenge for me: create a dice roller for the L5R system.
11:09 frettled masak: in this case, the code is on a remote computer which I access through SSH and screen within screen.  There, it's running in Emacs.
11:09 frettled Oooh, luncheon!
11:09 * frettled frettles and idles.
11:11 masak frettled: oh.
11:20 masak moritz_: oh! I _do_ like the named-parameter colons.
11:20 masak I especially like that :$foo is a short form of :foo($foo)
11:20 mathw everyone wants the colon
11:21 masak and that it ignores twigils.
11:31 Baggio_ joined #perl6
11:32 vorner joined #perl6
11:36 wayland76 Not having a colon is pretty unhealthy :)
11:38 rfordinal left #perl6
11:48 gju joined #perl6
12:00 Lorn joined #perl6
12:03 Jedai joined #perl6
12:06 frettled Do we use '·' yet?  :)
12:11 wayland76 Probably not; there aren't that many unicode operators as part of the Perl core
12:15 masak can I refer to the private attribute of a role through the private-attribute syntax? self!SomeRole::attr
12:17 jnthn masak: Depends what you mean by "private attribute of a role"
12:18 jnthn If you mean that you had a role Foo { has $!attr }
12:18 masak jnthn: role Austria { has $!attr }
12:18 masak yes.
12:18 jnthn Yeah
12:18 jnthn but composition is flattening.
12:18 jnthn So you'd just use the name of the class you composed the role into there.
12:18 masak ah.
12:18 masak makes sense.
12:18 jnthn After composition, the only relation between a class and a role is that the class knows it does that role.
12:19 masak rakudo: class A { has $!b is readonly = "foo" }; A.new
12:19 p6eval rakudo 55f51d:  ( no output )
12:19 masak locally, "No applicable candidates found to dispatch to for 'trait_mod:is'"
12:19 masak should that work?
12:19 jnthn We probably allow $foo.Role::Method but mostly because methods make sense alone whereas attributes just refer to slots...
12:19 jnthn masak: Probably...
12:20 * masak submits rakudobug
12:20 masak at least the warning is LTA-ly suspicious.
12:21 jnthn Well, it's not far off the mark.
12:21 masak it makes it sound as if 'is readonly' is not implemented...
12:22 jnthn Right, which in that case it evidently isn't. :-)
12:23 masak so, to summarize: the bug is that 'is readonly' isn't implemented.
12:23 masak we also don't really know whether it should work, semantically, to assign to a readonly variable during object construction.
12:23 * masak notices he is talking to his RT tickets again
12:24 masak "no, dearie, we can't close you yet. your observable isn't satisfied, see."
12:25 frettled Just in case you were low on carbs.
12:27 masak thanks. :)
12:27 ruoso joined #perl6
12:28 * wayland76 seems to have finally beated cpan2dist into submission
12:29 wayland76 ...after significant modification to the code :)
12:29 frettled So now it's cpan3dist?
12:29 wayland76 well, not quite
12:29 wayland76 But at least you can tell it which packages to force, and at what stages; at least enough for my needs :)
12:30 BinGOs modifications where? are they useful upstream?
12:30 * wayland76 wonders how difficult it would be to get these things incorporated into the module :)
12:30 jnthn masak: Yes, that is a good question.
12:30 wayland76 They probably would be, but I've been modifying my live copy :)
12:30 zibri_ joined #perl6
12:30 jnthn masak: the other disconnect is that in has $.x is readonly you'd expect it to be about the generated accessor, not the actual attribute.
12:31 masak jnthn: I've gotten used to that one.
12:31 BinGOs wayland76: it is feature updates my hands are tied at the moment
12:31 BinGOs though they could go into 0.92
12:32 BinGOs I'm working on shipping 0.90 of CPANPLUS some time in the next couple of days.
12:32 BinGOs maybe even today.
12:32 wayland76 Ok :)
12:32 wayland76 Is there an IRC channel for CPANPLUS?
12:32 jnthn masak: yeah, same
12:33 masak oh! does the 'when' clause, when it matches, call infix:<~~>, or the .ACCEPTS method on the expression?
12:33 frettled #CPANPLUS?
12:33 BinGOs not as such, but #toolchain on irc.perl.org is a catch-all for perl5 toolchain related matters.
12:33 wayland76 frettled: Yeah, but on which network?
12:33 jnthn masak: iirc, ~~
12:33 moritz_ masak: first of all smart match is partially syntactic
12:33 BinGOs CPAN/CPANPLUS are considered toolchain.
12:33 jnthn masak: but it also applies same syntactic cases
12:34 wayland76 BinGOs: will continue conversation there :)
12:34 masak I'm asking because I'm trying to think of something sensible to answer to the question "For overloading smart matching, am I right in assuming is just a plain ol’ `multi sub infix:<~~>`?"
12:34 masak ...on my advent blog post.
12:34 masak I want to involve .ACCEPTS in the answer, but only if it actually matters.
12:35 moritz_ overloading infix:<~~> is plain wrong
12:35 frettled wayland76: wherever you want it to be :)
12:35 moritz_ because it's not a multi, and because of the syntactic cases
12:35 moritz_ which makes it more of a macro
12:35 masak ok.
12:36 moritz_ so writing an ACCEPTS method for the object on the RHS is "the right thing"
12:36 frettled ooh, I'd like to see the code for that
12:36 frettled (and answers to the questions to Dec. 12)
12:37 moritz_ ng: class A { has $.x; multi method ACCEPTS($topic) { $!x == $topic } }; say 4 ~~ A.new(:x(2))
12:37 p6eval ng 8a7d1c: 0␤
12:37 moritz_ ng: class A { has $.x; multi method ACCEPTS($topic) { $!x == $topic } }; say 4 ~~ A.new(:x(4))
12:37 p6eval ng 8a7d1c: 1␤
12:37 moritz_ ng: class A { has $.x handles <ACCEPTS> }; say 4 ~~ A.new(:x(4))
12:37 p6eval ng 8a7d1c: Method 'ACCEPTS' not found for invocant of class 'A'␤current instr.: '&infix:<~~>' pc 177791 (src/gen/perl6-actions.pir:0)␤
12:38 moritz_ delegation NYI in ng?
12:39 masak rakudo: role DivisibleBy[Int $n] { method ACCEPTS($obj) { $obj !% $n } }; class DivisibleByThree does DivisibleBy[3] {}; say $_ ~~ DivisibleByThree for 15, 42
12:39 masak locally, that gives me "0\n0".
12:39 p6eval rakudo 55f51d:  ( no output )
12:39 masak why 0 the first time?
12:41 moritz_ rakudo: say $_ !% 3 for 15, 42
12:41 p6eval rakudo 55f51d: 1␤1␤
12:41 masak oops. :/
12:41 masak bad counterexample. :P
12:42 moritz_ masak: also you need to instantiate DivisibleByThree, afaict
12:42 moritz_ otherwise it's just a type check
12:42 moritz_ which is always False
12:42 masak moritz_: thanks.
12:44 plainhao joined #perl6
12:45 flip214 Is there someone I can tell that a reported bug really slows me down in development? Or does it not matter anyway, as everyone is working as fast as possible?
12:46 masak flip214: feedback like that is good to hear, and is often acted upon in some way.
12:46 moritz_ flip214: you can add a comment in RT, you can blog about, you can tell pmichaud and jnthn
12:46 moritz_ if it's a bug in the setting I might also be able to help
12:47 masak fore example, once there was a bug named #78392...
12:47 pjcj joined #perl6
12:47 masak oh my, I've forgotten the actual number.
12:47 masak I knew this day would come... :)
12:47 moritz_ called "Could not load ticket 78392"
12:48 moritz_ masak: are you referring to "The Bug"?
12:48 masak #58392. that's it.
12:48 moritz_ "lexicals and recurion interact badly in Rakudo"
12:48 moritz_ iirc
12:48 masak yes.
12:48 masak something like that.
12:48 moritz_ "Recursion and for loops interact badly in Rakudo" actually
12:49 colomon When was that?
12:49 moritz_ Created:  Wed Aug 27 02:54:15 2008
12:49 moritz_ Closed:  Tue Nov 25 10:31:39 2008
12:49 masak around November 2008.
12:50 colomon before my time.  :)
12:50 masak be glad :)
12:50 moritz_ it made pmichaud and others basically rewrite the system how lexicals are handled in parrot
12:50 masak pmichaud++ others++
12:50 colomon and it was yours, masak?
12:50 masak colomon: mine and many others'.
12:51 colomon (or after my time -- I was around a little bit in the early days of Pugs as well.)
12:51 masak I think I was among the first to run into it, though.
12:51 colomon masak++  # master of destruction
12:51 moritz_ masak: that's true for lot of masa^Wrakudobug
12:51 masak happy to be of destructive service.
12:51 moritz_ s
12:52 masak moritz_: I think I'll do a talk on bug reporting when I reach 1k. :)
12:52 khadrin joined #perl6
12:53 moritz_ masak: if you hurry up, you might make it until March :-)
12:53 moritz_ (unlikely though)
12:53 masak yes, unlikely.
12:53 masak more likely sometime in 2011.
12:53 payload joined #perl6
12:54 masak depends on how much chaos the ng merge causes. :P
12:54 colomon masak: I think we can expect a lot of chaos at this point.  :)
12:54 masak \o/
12:54 colomon either that, or it will be smooth because people like you helped find bugs on it just before it became master...
12:54 * masak .oO( "I feed on your chaos..." )
12:55 moritz_ RSS feed or atom feed?
12:55 masak *groan*
12:57 colomon you should totally have an rss feed for your bugs.
12:58 masak actually, that's a good idea.
12:58 flip214 So, if I just use a cronjob to add to my tickets every few minutes, people get so annoyed that my bugs simply get fixed?
12:58 colomon masak: yes, I occasionally do have them.  ;)
12:59 moritz_ flip214: people will get annoyed, yes. But I think the reaction will be different :-)
12:59 masak flip214: I think you might have overapplied some principle somewhere. :)
12:59 masak colomon: :)
12:59 masak my Gmail account claims I've submitted 606 rakudobug tickets.
13:00 moritz_ when was the first?
13:00 masak dang, I clicked it away. mid-2008, I think.
13:00 masak lemme check.
13:00 flip214 masak++
13:02 masak first one was 2008-05-07.
13:03 moritz_ seeing a "fixed in r\d+" in comments of #58392 is somehow odd. To remember that Rakudo once lived in the parrot repo...
13:03 masak that's pretty much exactly one ticket a day on average.
13:04 masak moritz_: I remember, a few years ago, feeling a competitive sort of envy that the Parrot commit numbers were twice as large as the Pugs commit numbers. :)
13:06 payload joined #perl6
13:14 flip214 So, as recommended by masak:
13:14 vorner joined #perl6
13:15 flip214 jnthn and pmichaud: would someone please take a look at RT #71128 and #71196? both are problems with "is export".
13:16 masak #71128 gives a 404.
13:16 patspam joined #perl6
13:19 JimmyZ joined #perl6
13:26 flip214 masak: sorry, 71288 - tipyng erorr
13:31 masak that's why copying+pasting is such a good idea. :P
13:37 JimmyZ_ joined #perl6
13:38 flip214 well, "could someone with knowledge please fix the bugs reported by me?" # to make masak happy
13:42 rfordinal3643 joined #perl6
13:43 masak flip214: another thing you can do is make http://rt.perl.org/rt3/Tic​ket/Display.html?id=49171 depend on your two tickets.
13:50 rfordinal3643 joined #perl6
13:50 plainhao joined #perl6
13:50 jaldhar joined #perl6
13:50 Woody2143 joined #perl6
13:50 colomon joined #perl6
13:50 c9s joined #perl6
13:50 zaphar_ps joined #perl6
13:50 p6eval joined #perl6
13:50 omega_ joined #perl6
13:50 astinus joined #perl6
13:50 athomason joined #perl6
13:50 lest_away joined #perl6
13:50 betterworld joined #perl6
13:50 literal joined #perl6
13:50 rjh joined #perl6
13:50 Grrrr joined #perl6
13:50 Maddingue joined #perl6
13:50 BinGOs joined #perl6
13:50 sjn joined #perl6
13:50 SmokeMachine joined #perl6
13:51 masak half-OT: I found the section "28. Design Principles" of this description of rc, the Plan 9 shell, to be an enjoyable read from a second-system-syndrome-done-right perspective: http://plan9.bell-labs.com/sys/doc/rc.html
13:52 masak somehow, the fixes applied feel Perl-6-esque.
13:57 flip214 masak: may anybody change tickets?
13:58 masak flip214: you'll probably need to be logged in, but modulo that, anyone may, yes.
13:59 moritz_ no
13:59 moritz_ you need permissions for the queue
14:00 masak oh, ok.
14:01 flip214 I just tried and got "Access denied" ;-(
14:01 flip214 Thanks anyway.
14:04 flip214 joined #perl6
14:04 flip214 sorry, konsole crashed
14:06 rgrau_ joined #perl6
14:10 frettled Hrm, I'm rolling into dementia: what's the short-circuit operator for only getting the "true" value from:  expr ?? "true" !! false
14:11 frettled I want to include it in a concatenated string, q&d.
14:11 PerlJam frettled: expr && "true"
14:12 * vorner would think ("true", "false")[!!expr] could work, but not tested
14:12 moritz_ ? is shorter than !! :-)
14:12 moritz_ and in Perl 6 means the same
14:13 rfordinal3643 left #perl6
14:13 Juerd_ rakudo: say <true false>[? 5 == 42]
14:13 vorner ah, right, ok, I do not remember all the operators yet ;-)
14:13 p6eval rakudo 55f51d: true␤
14:13 Juerd_ Great! :)
14:13 Juerd_ Now let's swap those :D
14:13 PerlJam Juerd++
14:13 Juerd_ rakudo: say <false true>[? 5 == 42]
14:13 p6eval rakudo 55f51d: false␤
14:13 Juerd_ rakudo: say <false true>[? 42 == 42]
14:13 p6eval rakudo 55f51d: false␤
14:13 Juerd_ :(
14:14 moritz_ wron precedence
14:14 Juerd_ Darn
14:14 [particle] which binds tighter?
14:14 [particle] ya
14:14 frettled PerlJam: no, expr && "true" results in a zero in case expr is false
14:14 Juerd_ But parens are ugly
14:14 moritz_ rakudo: say <false true>[5 == 42]
14:14 p6eval rakudo 55f51d: false␤
14:14 moritz_ rakudo: say <false true>[42 == 42]
14:14 p6eval rakudo 55f51d: true␤
14:14 Juerd_ moritz_: Doesn't work for all those other true values :)
14:15 moritz_ Juerd_: right, only for True values
14:15 Juerd_ And I'm not convinced that this is better than ??!! :)
14:15 Juerd_ True is the true true.
14:15 PerlJam frettled: so stringify it
14:15 vorner Juerd_: it may not be better, but looks nice ;-)
14:15 [particle] can you refer to an enum as an array, and by index?
14:16 moritz_ don't think you can
14:16 [particle] rakudo: say Bool[42 == 42]
14:16 patspam joined #perl6
14:16 PerlJam [particle]: I thought enums were more hash-like
14:16 p6eval rakudo 55f51d: Method 'postcircumfix:[ ]' not found for invocant of class ''␤in Main (file src/gen_setting.pm, line 324)␤
14:16 Juerd_ In many cases it's useful for numeric constants and enums to stringify to their names
14:17 TimToady rakudo: say <false true>[true 5 == 42]
14:17 p6eval rakudo 55f51d: false␤
14:17 TimToady rakudo: say <false true>[true 42 == 42]
14:17 p6eval rakudo 55f51d: true␤
14:17 Juerd_ Thanks, TimToady
14:17 Juerd_ I couldn't remember if there was an opposite for "not"
14:17 Juerd_ English doesn't have one. Dutch does.
14:17 Juerd_ And apparently so does Perl 6
14:18 moritz_ it's called "really?" in English
14:18 Juerd_ Maybe I should alias "true" to the dutch word "wel" in my local version of Perl 6 :)
14:19 TimToady we also have "so"
14:19 Juerd_ "so" is not a true opposite.
14:19 TimToady is so
14:19 Juerd_ Heh.
14:19 Juerd_ Then why is true not called so? :)
14:19 frettled rakudo: sub whine (:$n) { say ('',' - My goodness!')[$n >= 5] }; whine(4); whine(5);
14:20 p6eval rakudo 55f51d: Too many positional parameters passed; got 1 but expected 0␤in Main (file src/gen_setting.pm, line 324)␤
14:20 Su-Shee we have "doch" and "so". :)
14:20 frettled hmm
14:20 frettled I'm out-coloning myself again.
14:20 frettled rakudo: sub whine ($n) { say ('',' - My goodness!')[$n >= 5] }; whine(4); whine(5);
14:20 p6eval rakudo 55f51d: ␤ - My goodness!␤
14:20 moritz_ Su-Shee: "doch" is only a valid answer to negated questions, really
14:21 frettled I'd have likd to have the above code without the «'',», but I can do that by negating the test, I suppose.
14:21 frettled rakudo: sub whine ($n) { say (' - My goodness!')[$n < 5] }; whine(4); whine(5);
14:21 p6eval rakudo 55f51d: Method 'postcircumfix:[ ]' not found for invocant of class 'Str'␤in Main (file src/gen_setting.pm, line 324)␤
14:21 Su-Shee moritz_: I just realized, that we as well have "wohl" ;)
14:21 Juerd_ But would you use "wohl" in "doch"s stead?
14:21 TimToady sub whine ($n) { say ('',' - My goodness!')[$n !>= 5] }; whine(4); whine(5);
14:21 frettled d'oh.
14:21 moritz_ no
14:22 TimToady rakudo: sub whine ($n) { say ('',' - My goodness!')[$n !>= 5] }; whine(4); whine(5);
14:22 p6eval rakudo 55f51d: Confused at line 2, near "[$n !>= 5]"␤in Main (file <unknown>, line <unknown>)␤
14:22 TimToady std: sub whine ($n) { say ('',' - My goodness!')[$n !>= 5] }; whine(4); whine(5);
14:22 p6eval std 29346: ok 00:01 110m␤
14:22 Juerd_ The Dutch "wel" is used in answering negative questions, but can also be used without such context.
14:22 masak I thought >= didn't have a negated variant.
14:22 Juerd_ <
14:23 moritz_ masak: "because it's too icky?" :-)
14:23 literal joined #perl6
14:23 masak moritz_: you mean "miffly" :P
14:23 TimToady the only one you can't negate is !=
14:23 TimToady well, and !~~
14:24 masak oh, ok.
14:24 masak things that start with !
14:24 moritz_ std: 1 !!>= 3
14:24 TimToady right
14:24 p6eval std 29346: [31m===[0mSORRY![31m===[0m␤Ternary !! seems to be missing its ?? at /tmp/G661QJQRg5 line 1:␤------> [32m1 [33m⏏[31m!!>= 3[0m␤    expecting any of:␤  infix stopper␤    standard stopper␤ terminator␤FAILED 00:01 105m␤
14:24 frettled I feel like I'm grasping for ethereal elegance, but failing.
14:24 payload joined #perl6
14:24 Juerd_ Why is !~~ not !~, and !~~ a true negated ~~?
14:24 PerlJam that's a weird message.
14:24 TimToady nah, the operator space is a slugfest
14:25 avar joined #perl6
14:25 moritz_ Juerd_: because all other operators are negated by prepending a !, and != is just kept for backwards compatiblity
14:25 frettled rakudo: sub whine ($n) { say 'Foo, thou art.' ~ (' - My goodness!')[$n < 5] }; whine(4); whine(5);
14:25 literal joined #perl6
14:25 p6eval rakudo 55f51d: Method 'postcircumfix:[ ]' not found for invocant of class 'Str'␤in Main (file src/gen_setting.pm, line 324)␤
14:25 moritz_ but !== is still allowed
14:25 masak Juerd_: maybe we could use !not :)
14:25 frettled rakudo: sub whine ($n) { say 'Foo, thou art.' ~ (' - My goodness!','')[$n < 5] }; whine(4); whine(5);
14:25 Juerd_ moritz_: !~~ isn't a true negation, though.
14:25 p6eval rakudo 55f51d: Foo, thou art.␤Foo, thou art. - My goodness!␤
14:25 TimToady Juerd_: how so?
14:25 PerlJam moritz_: and why are we worried about backward compatibility for !=   ?   :)
14:25 moritz_ std: say 1 !ne 2
14:25 p6eval std 29346: ok 00:01 105m␤
14:25 Juerd_ moritz_: foo !~~ bar can be different than !(foo ~~ bar) if I understood correctly.
14:26 moritz_ Juerd_: right
14:26 moritz_ TimToady: because it calls .REJCECTS, and not !.ACCEPTS
14:26 moritz_ iirc
14:26 masak nod.
14:26 masak that's what .REJECTS is for.
14:26 TimToady maybe it's time to get rid of .REJECTS then
14:26 moritz_ TimToady: agreed
14:27 masak yes, unless someone comes up with a real good use case.
14:27 Juerd_ Why not make lhs !op rhs the same as !(lhs op rhs) all over the place, and add an exception for !~, just like != is an exception to the !op rule.
14:27 moritz_ it's counter-intuitive and mostly redundant
14:27 TimToady it seems completely redundant to me
14:27 masak come to think of it, I've never seen someone make a good use of REJECTS.
14:27 rjbs joined #perl6
14:27 Juerd_ Heh
14:27 PerlJam Juerd_: I would prefer to git rid of the exceptions rather than add a new one.
14:28 rjbs First off, your Advent calendar rocks.  It really is making me spend more time playing in the REPL.
14:28 rjbs Secondly, how do I convert a range into an array?
14:28 Juerd_ PerlJam: I'm not adding a new one. I'm renaming the existing one, and adding a non-exception in its old place)
14:28 Juerd_ s/\)//
14:28 masak rjbs: @(1..3)
14:28 frettled TimToady: Do you have a good suggestion on how to simplify that POS code example I have?  :D
14:28 rjbs masak: graet; is there a postfix/method version?
14:28 rjbs (1..3).array.perl.say etc
14:28 masak rjbs: (1..3).list
14:28 moritz_ rakudo: say (1..3).List.perl.say
14:29 TimToady [1..3]
14:29 p6eval rakudo 55f51d: Method 'List' not found for invocant of class 'Range'␤in Main (file src/gen_setting.pm, line 324)␤
14:29 moritz_ rakudo: say (1..3).Array.perl.say
14:29 p6eval rakudo 55f51d: [1, 2, 3]␤1␤
14:29 rjbs thanks!
14:29 rjbs I had tried with lc array :)
14:29 masak rjbs: I'd use .list, unless you plan to modify it.
14:30 moritz_ type conversions are just method calls with the same name as the target type
14:30 rjbs great
14:30 masak oh, I wish that were true across the board!
14:30 moritz_ "usually"
14:30 rjbs perl6 may become a handy replacement for dc in many future cases.
14:30 masak it would make life much simpler.
14:30 rjbs say [+] (1..24)
14:30 rjbs fab
14:30 moritz_ no need for parens there
14:30 masak rjbs: no need ... what moritz_ said :)
14:30 moritz_ rakudo: say [+] 1..24
14:30 rjbs great; wasn't sure about that
14:31 p6eval rakudo 55f51d: 300␤
14:31 rjbs it'd be nice if the repl printed the .perl of the last value returned or something
14:31 moritz_ I think that's planned
14:31 masak rjbs: the repl is going away to be replaced by a better one.
14:31 masak rjbs: it would be nice if it remembered variables, too. :(
14:32 rjbs yeah, I figure I've whined about that one enough in the past :)
14:32 rjbs (and each time heard, "we know, it'll be fixed," and I believey ou)
14:32 masak one can never whine enough about that...
14:32 moritz_ rjbs: it's good to keep on whining
14:32 rjbs Well, until I'm paying closer attention I try not to be the guy who shows up every X period to ask the same question.
14:32 pmurias joined #perl6
14:33 rjbs I figure I'll wait for Rakudo * and if it doesn't have the bare minimum I need to noodle around continuously, then I'll bitch.
14:33 rjbs right now that's probably all "better repl" and lexiclas
14:33 masak lucky you. :)
14:33 Baggio_ joined #perl6
14:34 rjbs Well, I've done so little that I never notice bigger issues.
14:34 JimmyZ joined #perl6
14:34 pmichaud I have the pieces in place for the better repl.  :)
14:34 rjbs like, I only play in the repl, so I don't write classes, etc.
14:34 pmichaud (did that part in my grant)
14:34 rjbs the first thing I'll bitch about next will be the ability to install libraries to @INC
14:34 masak rjbs: classes work surprisingly well. jnthn++
14:34 rjbs and then my plan is to port Rx schema to p6, which will probably teach me a lot and give me things to whine about
14:34 masak rjbs: that's on its way.
14:35 rjbs yeah, I've seen some posts; I've really wanted to contribute to the discussion, but ENOTUITS
14:35 moritz_ rjbs: actually the @*INC situation as slightly improved
14:35 moritz_ it incorporates ~/.perl6/lib/ and . by default
14:35 moritz_ and you can always BEGIN { @*INC.push: 'path' }
14:36 PerlJam If only we had macros ...
14:36 rjbs I want: cd Module ; make isntall
14:36 rjbs basically
14:37 moritz_ if 'make install' copies Module.pm to ~/.perl6/lib/ that works
14:37 moritz_ rakudo: say @*INC.perl
14:37 p6eval rakudo 55f51d: ["/home/p6eval/.perl6/lib", "/home/p6eval//p1/lib/parrot/1.​8.0-devel/languages/perl6/lib", "lib", "."]␤
14:37 moritz_ the "lib" comes from the PERL6LIB env variable which p6eval sets
14:39 rjbs Well, like I said, I will wait until then to start complaining in earnest.
14:40 pmichaud rjbs: hopefully you could complain just a bit before we release Rakudo * ?  ;-)
14:40 pmichaud i.e., find some tuits to do so?
14:40 pmichaud we should have the repl issues fixed by jan release
14:40 TimToady lovely word, "should"
14:41 pmichaud indeed.  :)
14:41 pmichaud but now that I know that repl is a blocker for rjbs, it'll get a bump in priority
14:41 TimToady I *should* be getting ready to drive to Seatlle today, sigh...
14:41 TimToady backlogging is more fun though
14:42 pmichaud alas, sometimes "should"  !==   "-Ofun"
14:42 PerlJam pmichaud: when should ng land?  ;)
14:42 pmichaud but darn it, it *should* be.
14:42 TimToady at least it *should* should
14:42 rjbs pmichaud: I will try to.  I am a bear of very little memory, so if you poke me at any time I will always make time to look at things.
14:42 parduncia joined #perl6
14:43 pmichaud rjbs: noted, will do.
14:43 pmichaud rjbs: there will undoubtedly be a twitter notice, use.perl posting, and other announcement that says "We now have a working REPL!"
14:43 moritz_ rjbs++ # constructive complaining
14:43 pmurias joined #perl6
14:45 pugs_svn r29347 | pmurias++ | [mildew-js] ported over various stuff
14:46 pnu joined #perl6
14:48 colomon joined #perl6
14:52 Baggio_ joined #perl6
14:53 masak what's a 'classical' use case of the C<let> keyword?
14:53 masak put differently, where do we expect it to be used?
14:54 rjbs left #perl6
14:54 zaslon lolfrettledhazblogged! frettled++ 'Dice Rolls for Role-Players': http://howcaniexplainthis.blogspot.com/2​009/12/dice-rolls-for-role-players.html
14:54 PerlJam heh, when you said "classical", I immediately thought, "like from BASIC?"
14:54 masak PerlJam: LET A$ = "OH HAI" ' :-)
14:57 JimmyZ ng: say 100000 ** 1000000
14:57 p6eval ng 8a7d1c: Inf␤
14:57 JimmyZ ng: say 100000 ** 100
14:57 p6eval ng 8a7d1c: Inf␤
14:57 JimmyZ ng: say 100000 ** 10
14:57 p6eval ng 8a7d1c: 1e+50␤
14:57 JimmyZ ng: say 100000000 * 1000000
14:57 p6eval ng 8a7d1c: 100000000000000␤
14:58 JimmyZ ng: say 100000000 * 10000000000000000000
14:58 p6eval ng 8a7d1c: -8.44674407370955e+26␤
14:58 JimmyZ rakudo: say 100000000 * 10000000000000000000
14:58 p6eval rakudo 55f51d: 1e+27␤
14:58 JimmyZ ng's bug?
14:58 JimmyZ rakudo: say 100000 ** 1000000
14:58 p6eval rakudo 55f51d: Inf␤
14:59 colomon frettled: Does WoD really use D10s for everything?!
14:59 masak rakudo: $/ = "abc"; say $1
14:59 p6eval rakudo 55f51d: b␤
14:59 masak hihi.
14:59 * masak submits rakudobug
14:59 JimmyZ ng: say 100000000 * 10000000000000000000
14:59 p6eval ng 8a7d1c: -8.44674407370955e+26␤
14:59 KyleHa joined #perl6
14:59 JimmyZ masak: it is a bug?
14:59 colomon JimmyZ: yes, that's an ng bug.
14:59 pmichaud rakudo:  my $a = 'abc';  say $a[1];
14:59 masak JimmyZ: yes, I think so.
14:59 p6eval rakudo 55f51d: Method 'postcircumfix:[ ]' not found for invocant of class 'Str'␤in Main (file src/gen_setting.pm, line 324)␤
14:59 pmichaud heh
14:59 pmichaud interesting
15:00 colomon it's some sort of Int overflow thing, I imagine.
15:00 pmichaud rakudo:  $/ = "abc"; say $/[1]
15:00 p6eval rakudo 55f51d: Method 'postcircumfix:[ ]' not found for invocant of class 'Str'␤in Main (file src/gen_setting.pm, line 324)␤
15:00 pmichaud oh, I get it.
15:00 pmichaud masak++
15:00 masak pmichaud: it's PIR semantics leaking through in exactly that case.
15:00 pmichaud masak: right.
15:01 masak that makes 607. :)
15:01 JimmyZ ng: $/="abc"; say $/[1];
15:01 p6eval ng 8a7d1c: Can't postcircumfix:<[ ]> foreign objects yet.␤current instr.: '!postcircumfix:<[ ]>' pc 265317 (src/gen/core.pir:0)␤
15:01 JimmyZ ng: $/="abc"; say $/[1];
15:01 p6eval ng 8a7d1c: Can't postcircumfix:<[ ]> foreign objects yet.␤current instr.: '!postcircumfix:<[ ]>' pc 265317 (src/gen/core.pir:0)␤
15:02 JimmyZ ng: $a="abc"; say $a[1];
15:02 p6eval ng 8a7d1c: Symbol '$a' not predeclared in <anonymous>␤current instr.: 'perl6;PCT;HLLCompiler;panic' pc 137 (src/PCT/HLLCompiler.pir:101)␤
15:02 JimmyZ ng: my $a="abc"; say $a[1];
15:02 p6eval ng 8a7d1c: Can't postcircumfix:<[ ]> foreign objects yet.␤current instr.: '!postcircumfix:<[ ]>' pc 265317 (src/gen/core.pir:0)␤
15:03 JimmyZ ng: say 1.1
15:03 p6eval ng 8a7d1c: 1.1␤
15:04 frettled colomon: I can't think of anything they use anything else for.
15:04 JimmyZ ng: say 1+0,1
15:04 p6eval ng 8a7d1c: 11␤
15:04 JimmyZ ng: say 1+0.1
15:04 p6eval ng 8a7d1c: 1.1␤
15:05 masak ng: say '乒乓'
15:05 p6eval ng 8a7d1c: 乒乓␤
15:05 JimmyZ ng: 1.1.perl.say
15:05 p6eval ng 8a7d1c: 11/10␤
15:05 JimmyZ ng: 1.1.Rat.say
15:05 p6eval ng 8a7d1c: Method 'Rat' not found for invocant of class 'Rat'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤
15:05 JimmyZ ng: 1.1.rat.say
15:05 p6eval ng 8a7d1c: Method 'rat' not found for invocant of class 'Rat'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤
15:05 JimmyZ rakudo: 1.1.Rat.say
15:05 p6eval rakudo 55f51d: 1.1␤
15:06 colomon frettled: crazy.  I guess I do most of my gaming in diceless or d20 systems...
15:06 JimmyZ rakudo: 1.1.perl.say
15:06 p6eval rakudo 55f51d: 1.1␤
15:06 masak rakudo: (11/10).Rat
15:06 p6eval rakudo 55f51d: Method 'Rat' not found for invocant of class 'Rat'␤in Main (file src/gen_setting.pm, line 324)␤
15:06 * masak submits rakudobug
15:06 JimmyZ ng: 1.1.Rat.say
15:06 p6eval ng 8a7d1c: Method 'Rat' not found for invocant of class 'Rat'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤
15:06 orafu joined #perl6
15:06 JimmyZ ng: 1.1.perl.say #ng's bug
15:06 p6eval ng 8a7d1c: 11/10␤
15:06 JimmyZ ng: 3.3.perl.say #ng's bug
15:06 p6eval ng 8a7d1c: 33/10␤
15:07 JimmyZ ng: pi.perl.say
15:07 p6eval ng 8a7d1c: Could not find non-existent sub &pi␤current instr.: '_block14' pc 29 (EVAL_1:0)␤
15:07 JimmyZ ng: 3.14.perl.say
15:07 p6eval ng 8a7d1c: 157/50␤
15:07 frettled colomon: :)  There are so many different systems out there that you can go crazy trying to figure out their mechanics.
15:07 JimmyZ rakudo: 3.14.Rat.say
15:07 p6eval rakudo 55f51d: 3.14␤
15:07 Tene joined #perl6
15:07 parduncia joined #perl6
15:07 gju joined #perl6
15:07 mathw joined #perl6
15:07 szabgab joined #perl6
15:07 jrockway joined #perl6
15:07 jimi_hendrix joined #perl6
15:07 youwin joined #perl6
15:07 PacoLinux joined #perl6
15:07 rachelBROWN joined #perl6
15:07 elmex joined #perl6
15:07 avuserow joined #perl6
15:07 BooK joined #perl6
15:07 perlygatekeeper joined #perl6
15:07 zostay joined #perl6
15:07 viklund_ joined #perl6
15:07 charsbar_ joined #perl6
15:07 gabiruh joined #perl6
15:07 gbacon joined #perl6
15:07 perigrin joined #perl6
15:07 ssm joined #perl6
15:07 jjore_ joined #perl6
15:07 Infinoid joined #perl6
15:07 TimToady joined #perl6
15:07 cls_bsd joined #perl6
15:07 dukeleto joined #perl6
15:07 pugs_svn joined #perl6
15:07 hatseflats joined #perl6
15:07 jiing joined #perl6
15:07 phenny joined #perl6
15:09 RichiH joined #perl6
15:09 jql joined #perl6
15:09 diakopter joined #perl6
15:09 REPLeffect_ joined #perl6
15:09 akl joined #perl6
15:09 arnsholt joined #perl6
15:09 carlin joined #perl6
15:09 takadonet joined #perl6
15:09 silug joined #perl6
15:09 tomaw_ joined #perl6
15:09 stuuf joined #perl6
15:09 dukelet0 joined #perl6
15:09 s1n joined #perl6
15:09 hugme joined #perl6
15:09 ilogger2 joined #perl6
15:09 mtve joined #perl6
15:09 colomon ng's version of Rat.Rat, coming right up....
15:09 PerlJam colomon++
15:09 JimmyZ ng: 3.14.perl.say
15:09 p6eval ng 8a7d1c: 157/50␤
15:10 colomon woah, my ng is failing spectests left and right.
15:10 JimmyZ colomon: It's a bug?
15:10 colomon JimmyZ: 1.1.Rat.say should definitely work.
15:11 colomon Annoying... it's trivial to implement, and I've already got it done, but no idea how long it will take me to sort out the spectest fails which are probably completely unrelated....
15:11 colomon t/01-sanity/12-try.t fails..
15:13 colomon t/spec/S02-builtin_data_types/parsing-bool.t fails
15:13 colomon Method 'perl' not found for invocant of class 'Undef'
15:14 colomon I'm going to push my patch anyway, on the theory that it can't possibly be wrong.  :)
15:16 colomon I think try may be broken.
15:16 FalseVinylShrub joined #perl6
15:16 colomon Either that or try is now right and a whole bunch of other things are broken because of it.
15:17 dalek rakudo/ng: 0e4560e | (Solomon Foster)++ | src/core/Rat.pm:
15:17 dalek rakudo/ng: Add Rat.Rat.
15:17 dalek rakudo/ng: review: http://github.com/rakudo/rakudo/commit/0​e4560ee31cc5f1673ea5c4a06a4bee98d5ba1e0
15:17 moritz_ both seem quite possible
15:17 moritz_ ng: say 1 === 1
15:17 p6eval ng 8a7d1c: sh: ./perl6: No such file or directory␤
15:17 moritz_ meh
15:18 colomon Tene patched try overnight, I should add.
15:18 FalseVinylShrub left #perl6
15:18 moritz_ ng: say 1 === 1
15:18 p6eval ng 8a7d1c: sh: ./perl6: No such file or directory␤
15:18 FalseVinylShrub joined #perl6
15:18 moritz_ I think he changed it not to catch control exceptions
15:18 hejki hmm.. can i pass ARGS to rakudo?
15:18 hejki on the evalbot? :)
15:19 moritz_ hejki: no
15:19 hejki ok
15:19 moritz_ ng: say 1 === 1
15:19 p6eval ng 0e4560: 1␤
15:19 moritz_ ng: say 1/1 === 1/1
15:19 p6eval ng 0e4560: 0␤
15:19 moritz_ that's wrong
15:19 moritz_ since Rat is a value type
15:19 pmurias joined #perl6
15:20 hejki can i paste 2 lines?
15:20 moritz_ sure
15:20 hejki [ hejki@cornix ~/ohjelmointi/perl6] $ perl6 -e 'sub MAIN ($a, :$var) { say "a: $a, b: $var"; }' jarmo --var
15:20 hejki Too many positional parameters passed; got 2 but expected 1
15:20 hejki :o
15:20 hejki shouldn't that use $var as optional param? :)
15:21 moritz_ I could well imagine that only positional parameters work for MAIN
15:21 pmichaud we don't have option processing completely implemented yet
15:21 moritz_ hejki: please submit that as a bug report to rakudobug@perl.org
15:22 hejki moritz_: sec, i'll pull first and see if it's reproducible
15:22 moritz_ I'm quite sure nothing changed recently re MAIN
15:23 colomon joined #perl6
15:24 hejki moritz_: do you use some template or is it freeform? :)
15:24 moritz_ hejki: freeform
15:25 moritz_ just include the small snippet, two lines wy it's wrong, and your Rakudo version
15:25 hejki okies
15:36 bluescreen joined #perl6
15:39 hejki should i check if i can fix it and possibly submit a patch too? :)
15:39 moritz_ sure
15:40 hejki it's in C?
15:40 moritz_ rakudo is written in various languages; I don't know what this particular part is written in
15:41 hejki heh.. guess i'm gonna have some happy grepping first (depending on how it is modularized :))
15:41 pmichaud which part are you looking for?
15:42 moritz_ MAIN and command line parameters
15:42 pmichaud we don't have anything that parses command line options yet
15:42 pmichaud that still needs to be written
15:42 moritz_ so we just get ARGV from parrot?
15:42 pmichaud we get ARGV from the compiler toolkit
15:42 Psyche^ joined #perl6
15:42 pmichaud (i.e., the compiler toolkit params are stripped
15:43 pmichaud the part that calls MAIN is in src/builtins/guts.pir, around line 421
15:44 pmichaud keep in mind that many parts of the current implementation are out-of-date with respect to other spec changes
15:44 pmichaud for example, there used to be a "Main" namespace, which is now "UNIT"
15:44 pmichaud (now "UNIT" in the spec)
15:45 Tene joined #perl6
15:45 parduncia joined #perl6
15:45 gju joined #perl6
15:45 mathw joined #perl6
15:45 szabgab joined #perl6
15:45 jrockway joined #perl6
15:45 jimi_hendrix joined #perl6
15:45 youwin joined #perl6
15:45 PacoLinux joined #perl6
15:45 rachelBROWN joined #perl6
15:45 elmex joined #perl6
15:45 avuserow joined #perl6
15:45 BooK joined #perl6
15:45 perlygatekeeper joined #perl6
15:45 zostay joined #perl6
15:45 viklund_ joined #perl6
15:45 charsbar_ joined #perl6
15:45 gabiruh joined #perl6
15:45 gbacon joined #perl6
15:45 perigrin joined #perl6
15:45 ssm joined #perl6
15:45 jjore_ joined #perl6
15:45 Infinoid joined #perl6
15:45 TimToady joined #perl6
15:45 cls_bsd joined #perl6
15:45 dukeleto joined #perl6
15:45 pugs_svn joined #perl6
15:45 hatseflats joined #perl6
15:45 jiing joined #perl6
15:45 phenny joined #perl6
15:46 jql joined #perl6
15:46 diakopter joined #perl6
15:46 REPLeffect_ joined #perl6
15:46 arnsholt joined #perl6
15:46 carlin joined #perl6
15:46 takadonet joined #perl6
15:46 silug joined #perl6
15:46 tomaw_ joined #perl6
15:46 stuuf joined #perl6
15:46 dukelet0 joined #perl6
15:46 s1n joined #perl6
15:46 hugme joined #perl6
15:46 ilogger2 joined #perl6
15:46 mtve joined #perl6
15:46 hejki ahh ok
15:46 hejki well my program is so simple i think i can do argument parsing the old-fashioned-way :)
15:46 hejki and ye
15:46 hejki i was just looking at the guts.pir :>
15:48 vorner joined #perl6
15:48 RichiH joined #perl6
15:52 Juerd_ http://juerd.nl/i/9f1fb1a82​53a519da6e525bbc087f520.png
15:53 Juerd_ backticks?!
15:53 rhr joined #perl6
15:53 Juerd_ From http://perl6advent.wordpress.com/2009/​12/15/day-15-pick-your-game/#comments
15:53 Juerd_ Is this a wordpress quirk?
15:53 xinming joined #perl6
15:53 Woodi^ joined #perl6
15:54 moritz_ yes; should be ordinary single quotes
15:57 Lorn joined #perl6
15:57 frettled It's a single quote: ‘
15:57 frettled As in: ‘oh dear’
15:58 pjcj joined #perl6
15:58 mariuz_ joined #perl6
15:58 frettled The exact copy is: ‘ = ‘
15:58 frettled Juerd_: apparently, your browser and/or chosen font doesn't support that unicode character.
15:59 frettled The backtick is probably what it thought was closest.
15:59 SmokeMachine joined #perl6
15:59 Ryan52 joined #perl6
15:59 ashizawa joined #perl6
15:59 araujo joined #perl6
15:59 nbrown joined #perl6
15:59 drbean joined #perl6
15:59 bluescreen joined #perl6
15:59 khadrin joined #perl6
15:59 lisppaste3 joined #perl6
15:59 hicx174 joined #perl6
15:59 slavik joined #perl6
16:00 masak joined #perl6
16:00 KyleHa joined #perl6
16:00 mariuz joined #perl6
16:00 Woodi joined #perl6
16:00 jferrero joined #perl6
16:00 rgrau joined #perl6
16:00 yahooooo joined #perl6
16:00 cotto_work joined #perl6
16:00 cotto joined #perl6
16:00 idemal joined #perl6
16:00 rgrau` joined #perl6
16:00 akl joined #perl6
16:00 masak joined #perl6
16:00 pmurias joined #perl6
16:00 moritz_ but it's a wordpress fail that it tries "smart" typography in code tags
16:01 araujo joined #perl6
16:02 araujo_ joined #perl6
16:04 Juerd_ frettled: I see
16:05 pmurias_ joined #perl6
16:08 cotto_working joined #perl6
16:08 pmichaud yes, I get lots of spectest fail in ng also.  :-|
16:08 frettled moritz_: it doesn't do that for me.
16:08 moritz_ frettled: then maybe somebody didn't use code tags properly
16:09 colomon pmichaud: it's the darned "try"s, I think.
16:09 frettled moritz_: that might be it
16:10 frettled moritz_: especially considering that the code isn't in a monospace font
16:10 frettled yup, that's right, no <code>…</code> there
16:11 Ryan52 joined #perl6
16:12 masak std: when 42 { say "This should fail" }
16:12 p6eval std 29347: ok 00:01 106m␤
16:13 masak ...because S04 says that a C<when> block outside of a topicalizer block is a mortal sin.
16:13 moritz_ at compile time?
16:13 masak aye.
16:13 masak it explicitly says that.
16:13 payload joined #perl6
16:14 pmichaud colomon: I'm checking on that
16:14 moritz_ rakudo: when 32 { say "ooops" }
16:14 p6eval rakudo 55f51d: Use of uninitialized value␤
16:15 araujo_ joined #perl6
16:15 pmurias joined #perl6
16:15 drbean joined #perl6
16:15 khadrin joined #perl6
16:15 lisppaste3 joined #perl6
16:15 hicx174 joined #perl6
16:15 slavik joined #perl6
16:15 masak maybe I should submit a rakudobug, too? :)
16:16 drbean__ joined #perl6
16:16 moritz_ sure
16:16 * masak submits
16:16 * moritz_ added code tags to pmichaud++'s comment to avoid "fancy" quotes
16:18 Guest16342 joined #perl6
16:18 jql joined #perl6
16:18 diakopter joined #perl6
16:18 REPLeffect_ joined #perl6
16:18 arnsholt joined #perl6
16:18 carlin joined #perl6
16:18 takadonet joined #perl6
16:18 silug joined #perl6
16:18 tomaw_ joined #perl6
16:18 stuuf joined #perl6
16:18 dukelet0 joined #perl6
16:18 s1n joined #perl6
16:18 hugme joined #perl6
16:18 ilogger2 joined #perl6
16:18 mtve joined #perl6
16:18 SmokeMachine joined #perl6
16:18 ashizawa joined #perl6
16:18 nbrown joined #perl6
16:18 RichiH joined #perl6
16:18 masak &
16:18 RichiH joined #perl6
16:18 jql joined #perl6
16:18 diakopter joined #perl6
16:18 REPLeffect_ joined #perl6
16:18 arnsholt joined #perl6
16:18 carlin joined #perl6
16:18 takadonet joined #perl6
16:18 silug joined #perl6
16:18 tomaw_ joined #perl6
16:18 stuuf joined #perl6
16:18 dukelet0 joined #perl6
16:18 s1n joined #perl6
16:18 hugme joined #perl6
16:18 ilogger2 joined #perl6
16:18 mtve joined #perl6
16:19 ruoso joined #perl6
16:20 kaare joined #perl6
16:20 pmurias_ ruoso: hi
16:20 frettled moritz_++
16:22 moritz_ Juerd_: say [+] (1..6).pick(5, :replace).sort.[2...]; that should be 2..* inside the square brackets
16:22 moritz_ std: .[2...]
16:22 p6eval std 29347: [31m===[0mSORRY![31m===[0m␤Bogus statement at /tmp/R7MLFJ8Jq9 line 1:␤------> [32m.[2...[33m⏏[31m][0m␤    expecting any of:␤ prefix or term␤   standard stopper␤ term␤   terminator␤       whitespace␤FAILED 00:01 107m␤
16:23 Tene joined #perl6
16:23 parduncia joined #perl6
16:23 gju joined #perl6
16:23 mathw joined #perl6
16:23 szabgab joined #perl6
16:23 jrockway joined #perl6
16:23 jimi_hendrix joined #perl6
16:23 youwin joined #perl6
16:23 PacoLinux joined #perl6
16:23 rachelBROWN joined #perl6
16:23 elmex joined #perl6
16:23 avuserow joined #perl6
16:23 BooK joined #perl6
16:23 perlygatekeeper joined #perl6
16:23 zostay joined #perl6
16:23 viklund_ joined #perl6
16:23 charsbar_ joined #perl6
16:23 gabiruh joined #perl6
16:23 gbacon joined #perl6
16:23 perigrin joined #perl6
16:23 ssm joined #perl6
16:23 jjore_ joined #perl6
16:23 Infinoid joined #perl6
16:23 TimToady joined #perl6
16:23 cls_bsd joined #perl6
16:23 dukeleto joined #perl6
16:23 pugs_svn joined #perl6
16:23 hatseflats joined #perl6
16:23 jiing joined #perl6
16:23 phenny joined #perl6
16:23 colomon ooooo, nice.
16:23 pmurias_ joined #perl6
16:24 pmurias_ left #perl6
16:24 frettled rakudo: say [+] (1..6).pick(5, :replace).sort.[2..*];
16:24 p6eval rakudo 55f51d: Use of uninitialized value␤12␤
16:25 moritz_ rakudo: say [+] (1..6).pick(5, :replace).sort.[2..*-1];
16:25 p6eval rakudo 55f51d: 16␤
16:25 moritz_ rakudo: say  (1..6).pick(5, :replace).sort.[2..*-1];
16:25 p6eval rakudo 55f51d: 446␤
16:25 frettled ng: say [+] (1..6).pick(5, :replace).sort.[2..*];
16:25 p6eval ng 0e4560: Confused at line 1, near "say [+] (1"␤current instr.: 'perl6;HLL;Grammar;panic' pc 519 (src/stage0/HLL-s0.pir:336)␤
16:26 colomon frettled: that's sooooo not working in ng yet.  :)
16:26 frettled :D
16:26 moritz_ ng: say [+] 1
16:26 p6eval ng 0e4560: Confused at line 1, near "say [+] 1"␤current instr.: 'perl6;HLL;Grammar;panic' pc 519 (src/stage0/HLL-s0.pir:336)␤
16:26 colomon definitely doesn't have [+], probably doesn't have pick, sort, or 2..* as a slice.
16:27 ejs joined #perl6
16:37 nihiliad joined #perl6
16:37 Juerd_ moritz_: Oh, right. Infinite list is probably a bad idea if you're actually going to try to use them all.
16:39 araujo_ joined #perl6
16:39 khadrin joined #perl6
16:39 lisppaste3 joined #perl6
16:39 hicx174 joined #perl6
16:39 slavik joined #perl6
16:42 moritz_ Juerd_: 1... isn't an infinite list. It's just a parse error
16:43 cotto_working joined #perl6
16:44 Guest62763 joined #perl6
16:44 ruoso joined #perl6
16:45 Juerd_ moritz_: Oh. I find it really hard to learn the current Perl 6 syntax; I still have an ancient version in my head, and mix it with some new fancy things.
16:45 rgrau` joined #perl6
16:45 yahooooo joined #perl6
16:46 Juerd_ Especially the * doesn't stick.
16:46 Juerd_ While it's such a neat feature.
16:46 nihiliad joined #perl6
16:46 drbean__ joined #perl6
16:46 cotto_working joined #perl6
16:46 KyleHa joined #perl6
16:46 jferrero joined #perl6
16:46 cotto joined #perl6
16:46 idemal joined #perl6
16:46 drbean joined #perl6
16:47 cotto_w0rk joined #perl6
16:56 Tene joined #perl6
16:56 parduncia joined #perl6
16:56 gju joined #perl6
16:56 mathw joined #perl6
16:56 szabgab joined #perl6
16:56 jrockway joined #perl6
16:56 jimi_hendrix joined #perl6
16:56 youwin joined #perl6
16:56 PacoLinux joined #perl6
16:56 rachelBROWN joined #perl6
16:56 elmex joined #perl6
16:56 avuserow joined #perl6
16:56 BooK joined #perl6
16:56 perlygatekeeper joined #perl6
16:56 zostay joined #perl6
16:56 viklund_ joined #perl6
16:56 charsbar_ joined #perl6
16:56 gabiruh joined #perl6
16:56 gbacon joined #perl6
16:56 perigrin joined #perl6
16:56 ssm joined #perl6
16:56 jjore_ joined #perl6
16:56 Infinoid joined #perl6
16:56 TimToady joined #perl6
16:56 cls_bsd joined #perl6
16:56 dukeleto joined #perl6
16:56 pugs_svn joined #perl6
16:56 hatseflats joined #perl6
16:56 jiing joined #perl6
16:56 phenny joined #perl6
17:03 hejki how do i set a default value for a variable within a class?
17:04 moritz_ do you mean an attribute?
17:04 hejki yeah :>
17:04 moritz_ class Foo { has $.data = 1 }
17:05 justatheory joined #perl6
17:06 hejki and to set it rw?
17:09 rgrau`` joined #perl6
17:09 slavik1 joined #perl6
17:09 kaare_ joined #perl6
17:09 PerlJam hejki: class Foo { has $.data is rw = 1 }
17:09 araujo__ joined #perl6
17:09 hicx174_ joined #perl6
17:09 khadrin_ joined #perl6
17:10 hejki najs :)
17:11 diakopter ok, I've joined #perl6 on magnet
17:11 diakopter fed up with the netsplits
17:12 diakopter setting up p6eval and dalek to report there (as well)
17:13 rgrau joined #perl6
17:14 Tene joined #perl6
17:14 parduncia joined #perl6
17:14 gju joined #perl6
17:14 mathw joined #perl6
17:14 szabgab joined #perl6
17:14 jrockway joined #perl6
17:14 jimi_hendrix joined #perl6
17:14 youwin joined #perl6
17:14 PacoLinux joined #perl6
17:14 rachelBROWN joined #perl6
17:14 elmex joined #perl6
17:14 avuserow joined #perl6
17:14 BooK joined #perl6
17:14 perlygatekeeper joined #perl6
17:14 zostay joined #perl6
17:14 viklund_ joined #perl6
17:14 charsbar_ joined #perl6
17:14 gabiruh joined #perl6
17:14 gbacon joined #perl6
17:14 perigrin joined #perl6
17:14 ssm joined #perl6
17:14 jjore_ joined #perl6
17:14 Infinoid joined #perl6
17:14 TimToady joined #perl6
17:14 cls_bsd joined #perl6
17:14 dukeleto joined #perl6
17:14 pugs_svn joined #perl6
17:14 hatseflats joined #perl6
17:14 jiing joined #perl6
17:14 phenny joined #perl6
17:14 huf joined #perl6
17:17 SmokeMachine joined #perl6
17:17 ashizawa joined #perl6
17:17 nbrown joined #perl6
17:23 payload joined #perl6
17:30 colomon diakopter: is that irc.perl.org?
17:33 diakopter colomon: yeah
17:36 * diakopter watches (with interest) the fireworks in #parrot  I wish someone would see the implications of the results of all of my C#/mono ports of parrot/examples/benchmarks/*.pasm (and *.pir) - the results were that mono does them all 10-20 (and in some cases 100)x faster.
17:38 diakopter heck, a couple of the (further irreducible) .pasm and .pir versions are 5-10x *slower* than Perl 5
17:41 diakopter all: ^^ I am not making this up.
17:41 moritz_ diakopter: that still doesn't mean that a dynamic language implemented on top of mono is faster
17:42 moritz_ for example fib.pir doesn't exploit a single feature that you need for dynamic languages
17:42 diakopter moritz_: I agree, but that would imply that there is some crucial aspect that's not tested in parrot/example/benchmarks
17:43 moritz_ diakopter: that I agree with
17:43 cdarroch joined #perl6
17:44 colomon Any idea how much of the slowness is just memory allocation?
17:45 colomon I've never worked with parrot directly, but it sure seems like Rakudo is an amazing memory hog.
17:45 moritz_ it sure is :/
17:45 moritz_ colomon: maybe 40% is garbage collection
17:46 diakopter moritz_: any idea how to write some microbenchmarks that might test the [combinations of] the primitive operations used in dynamic languages?
17:47 Tene moritz_: Yes, I changed try {} to not catch control exceptions, as Coke++ pointed out it's specced.  I didn't actually look at the spectests, as I'm still a bit confused about what tests ng should be running or not.  Is this an error?
17:47 moritz_ Tene: ng's "make test" and "make specteest" should both be clean
17:47 Tene Oh.  That's helpful.
17:47 moritz_ make spectest only runs a reduced set that should all pass
17:48 moritz_ (though didn't quite, last I looked)
17:48 moritz_ it might be worth looking into Test.pm, maybe that depends on the old try { } behaviour
17:49 Tene oh, maybe it's not returning the result of the block anymore...
17:49 alester joined #perl6
17:50 Tene Well, lemme see what actually fails.
17:50 colomon the problems I saw were tests that actually used try directly.
17:50 Tene I've only got a couple of minutes to look at it before going to work, though.
17:50 colomon but I didn't look in too much detail.
17:50 Tene colomon: can you point one out to me please?
17:51 diakopter moritz_: were you thinking vtables and PIC and such?
17:51 moritz_ diakopter: no
17:51 colomon Tene: t/spec/S02-builtin_data_types/parsing-bool.t
17:51 moritz_ well, maybe vtables
17:52 diakopter I'd be glad to put some time into such microbenchmarks...
17:52 moritz_ operations that have to be dispatched at run time
17:52 moritz_ where the equivalent in mono can't optimize based on types
17:52 diakopter ok, run time type-checking and type-dispatching
17:53 moritz_ Tene: t/01-sanity/12-try.t
17:53 moritz_ try { die };
17:53 moritz_ dies
17:53 moritz_ ng: try { die }; say "alive"
17:53 p6eval ng 0e4560: Died␤␤current instr.: '&die' pc 13897 (src/builtins/Junction.pir:186)␤
17:54 Tene Heh.  That throws a CONTROL_ERROR exception.
17:54 Tene Which is a CONTROL exception, according to parrot.
17:54 Tene That's classy. :)
17:54 moritz_ that's... curious
17:54 diakopter jump tables built on mappings of type handles/IDs to case blocks...
17:54 diakopter ?
17:55 rfordinal joined #perl6
17:55 moritz_ diakopter: make a version of fib.pir in mono where you don't declare the number to be an integer
17:56 diakopter or just low-level message dispatching/routing/delegating?
17:56 diakopter moritz_: a boxed integer, then
17:56 moritz_ no
17:56 moritz_ fib("23") would work too, in the parrot case
17:57 moritz_ so it needs to coerces to a number
17:57 diakopter in fib.pir, they're all "int"
17:57 moritz_ and then use the addition that fits best to the number format that the coercion return
17:58 moritz_ then s/int/pmc/g in parrot's fib.pir
17:58 moritz_ for a fair comparison
17:58 hejki rakudo: my $str = "foo10bar"; $str ~~ /(\D+)(\d+)/; say "$1.int " ~ $1.Int; $str ~~ /(\D+)(\d+)?/; say "$1.int " ~ $1.Int;
17:58 p6eval rakudo 55f51d: 10.int 10␤10.int 1␤
17:58 diakopter ah, ok.  what low-level types should _fib be able to coerce from?
17:58 moritz_ from whatever you pass to it.
17:59 hejki rakudo: my $str = "foo10000bar"; $str ~~ /(\D+)(\d+)/; say "$1.int " ~ $1.Int; $str ~~ /(\D+)(\d+)?/; say "$1.int " ~ $1.Int;
17:59 p6eval rakudo 55f51d: 10000.int 10000␤10000.int 1␤
17:59 diakopter right, I mean, which ones would you like to be able to handley?  I mean, you can't send in just any PMC and expect it to coerce to Additive (or whatever)
17:59 hejki say .WHAT ~ " and why? :<"
17:59 diakopter obviously string...
18:00 moritz_ diakopter: I don't really care, because the actually coercion will be carried out only in the first call
18:00 diakopter then how would it be a microbenchmark that tests anything?
18:01 moritz_ what I care about is that at every recursion step it has to *potentially* coerce to num, and has to dispatch at run time according to the actual type
18:01 diakopter ah, ok; lemme try that
18:01 moritz_ so that it would work if you define a new number type, which its own overridden + operator
18:02 diakopter moritz_: should fib always return an int?
18:02 moritz_ no
18:02 diakopter ok
18:03 hejki odd that passive grouping makes it Str
18:04 hejki rakudo: my $str = "foo10000bar"; $str ~~ /(\D+)(\d+)/; say "$1.int " ~ $1.Int; $str ~~ m:P5/(\D+)(\d+)?/; say "$1.int " ~ $1.Int;
18:04 p6eval rakudo 55f51d: 10000.int 10000␤10000.int 10000␤
18:04 hejki :>
18:04 diakopter moritz_: I suspect I'll need help making fib_pmc.pir work... replacing all the int with pmc made a breakageness
18:05 moritz_ hejki: I don't quite understand what you expect
18:05 moritz_ but maybe I can guess
18:05 dalek rakudo/ng: 666896b | pmichaud++ | src/Perl6/Actions.pm:
18:05 dalek rakudo/ng: Revert "try {} should not catch control exceptions"
18:05 dalek rakudo/ng: This reverts commit 8a7d1c5ea27dcab467b99f4fdd7ff7b9ca99f008 --
18:05 dalek rakudo/ng: it was causing lots of spectests to fail in the ng branch.
18:05 dalek rakudo/ng: review: http://github.com/rakudo/rakudo/commit/6​66896b64eb34dff946c2296dda14e9a5d3613d8
18:06 hejki well it was dwimmy ;>
18:06 moritz_ rakudo: '234' ~~ /(\d+)?/; say +$0
18:06 p6eval rakudo 55f51d: 1␤
18:06 moritz_ that's because quantifying the capture makes $0 an array
18:06 moritz_ rakudo: '234' ~~ /(\d+)?/; say +$0[0]
18:06 p6eval rakudo 55f51d: 234␤
18:07 moritz_ diakopter: ok, will try to help later
18:07 diakopter moritz_: do you have any other suggestions on how to make fib.pir do the dynamic checking you're imagining
18:07 diakopter oh
18:08 moritz_ have to make a few phone calls (and dinner) first
18:08 diakopter moritz_: I think I got it
18:09 diakopter the fib_pmc.pir takes 1.25x as long as fib.pir
18:10 hejki moritz_: ahh ok
18:13 jan_ joined #perl6
18:15 colomon what's the way of telling if a key is a hash in Rakudo master?
18:15 moritz_ diakopter: actually I expected a slightly larger impact
18:16 Tene Oh, great, this is going to require a parrot patch to fix at all, and a bigger parrot patch to not be horrible for the future.
18:16 moritz_ hash keys are always strings, in rakudo
18:16 colomon Tene: you mean the try thing?
18:16 Tene Yes.
18:16 colomon s/if a key is a hash/if a key is IN a hash/
18:17 moritz_ rakudo: say %*ENV.exists('HOME')
18:17 colomon :exists doesn't work, right?
18:17 p6eval rakudo 55f51d: 1␤
18:17 colomon danke.
18:17 colomon moritz_++
18:17 moritz_ it's non-spec cheating though :-)
18:19 Tene and... that doesn't work either.  Dunno why.  Kinda creepy.
18:20 Tene Oh, there it is...
18:26 khadrin_ joined #perl6
18:27 hejki inspired by the earlier dice-stuff and utter boredom i made a simple stuff for rolling any dice n amount of times (in case someone has some usage oslt :)) http://git.mehtanen.fi/git.cgi?page=anydi​ce.git&amp;action=source&amp;file=anydice
18:33 payload joined #perl6
18:39 masak hejki: nice.
18:39 masak hejki: let's see, did you try to use MAIN with that?
18:39 hejki ye
18:39 masak did you try it without the named parameter?
18:40 masak I think that could work.
18:41 rfordinal left #perl6
18:41 hejki nope
18:42 masak oh.
18:42 masak too bad. :/
18:42 masak MAIN is pretty nice when it works.
18:42 hejki ye
18:42 masak anyway, hejki++.
18:43 hejki ^_^
18:44 masak hejki: it works here, though: http://gist.github.com/258056
18:46 Tene ~[5~[5~[6~[6~[6~[6~
18:48 hejki hmm..
18:49 hejki wonder how i can set my own sub for the "Not enough positional parameters passed" error :)
18:49 hejki to print out usage from sub MAIN
18:49 masak hejki: IIRC, usage is spec'd to be autogenerated from the params.
18:49 masak hejki: definitely not in Rakudo yet, though.
18:50 hejki ohye
18:50 hejki :>
18:50 masak no-one has mentioned today's Pugs release, so I'll just mention it.
18:50 ShaneC joined #perl6
18:50 colomon masak: say what?
18:50 masak it's just an upgrade to GHC 6.12.1
18:50 masak but still :)
18:50 masak I find those releases don't get much press around here.
18:51 moritz_ I think that's intentional
18:51 colomon someone's maintaining pugs enough to bump it to the latest GHC?  That's great!
18:51 diakopter moritz_: ok, I have a fib_ with this signature:
18:51 diakopter moritz_: ok, I have a fib_ with this signature:  public static int AddTo (this int left, int right) {
18:51 diakopter return left + right;
18:51 diakopter er
18:51 hejki updated :)
18:51 diakopter public static int AddTo (this int left, int right) {
18:51 masak diakopter: 'this int'?
18:51 diakopter oh wait
18:51 diakopter wrong paste
18:52 masak I'll say :)
18:52 diakopter static object _fib (object n)
18:52 diakopter does a type check with every invocation
18:52 diakopter (at least 1, more if necessary)
18:54 moritz_ and then a run-time dispatch to +?
18:54 diakopter yep
18:54 diakopter (based on that type check)
18:54 diakopter I home-spun my own PIC
18:54 diakopter of sorts.
18:55 diakopter well, it prespecializes + and < using generics
18:55 diakopter and calls those after coercing
18:55 diakopter but, per your requirement, it does the reflection-style type-check with every call
18:55 moritz_ so, how fast is it?
18:55 diakopter (and subsequent casting, if necessary)
18:55 diakopter about 1000x slower than it was previously
18:56 diakopter but still 13x faster than parrot
18:57 diakopter sorry, 16x faster than fib_pmc, and 13x faster than fib
18:57 diakopter here's the code
18:58 moritz_ *drumrolls*
18:58 diakopter http://parrot.pastebin.com/d5900184c
19:00 diakopter to make it easier to look at (it would compile effectively to the same thing), I could make _fib an extension method also
19:00 diakopter (so that the type check wouldn't be expressed in an if statement)
19:00 moritz_ looks roughly as I expected
19:01 diakopter in case you (or anyone) weren't (wasn't) aware, C# Extension methods are resolved at compile time...
19:02 stephenlb joined #perl6
19:02 payload joined #perl6
19:03 * moritz_ doesn't even speak C#
19:04 diakopter think of extension methods as just tricky global functions that are overloaded on all their arg types (including invocant)
19:05 diakopter letting it stringify and then parse to double with *every* call makes it 3x slower than parrot
19:05 diakopter that's a lot of stringification and parsing
19:05 moritz_ that's hardly a fair comparison
19:05 moritz_ with forced stringification
19:05 diakopter i know :P
19:05 diakopter I mean
19:06 diakopter makes it 3x slower than fib_pmc as it is (without making parrot stringify/parse)
19:06 moritz_ diakopter: can you remove the special case for int and float, and always dispatch to AddTo? (and install these methods in the int and float types)
19:06 diakopter ah... I see what you're saying, one sec
19:07 moritz_ (not sure if it makes the comparison any more fair, just curious what the result is)
19:07 rfordinal3643 joined #perl6
19:12 diakopter it still has to do the type check and then cast to those types...
19:12 moritz_ diakopter: I think you now know why the parrot people weren't all that impressed when you told them that fib.pir is slow compared to the mono version
19:13 diakopter no
19:13 diakopter b/c I wanted to test primitive operations
19:14 diakopter I didn't want to test how well C#/mono could perform at pushing a dynamic object model down into the assembly language
19:15 diakopter I wanted to compare how well PASM/PIR could perform as assembly languages for things marked as strongly typed
19:15 diakopter (int, not pmc)
19:15 diakopter I mean, Perl 6 isn't PASM :P
19:15 diakopter and won't be written in PASM
19:16 moritz_ right
19:16 diakopter all the object models don't have to be at the same (bottom) layer
19:16 moritz_ but you'll be hard pressed to actually compile Perl 6 operations down to primitive types
19:16 moritz_ even though I wish it were easy :-)
19:16 diakopter right, but that's not what I'm suggesting
19:16 diakopter I wasn't comparing Perl 6 source code to C# source code
19:16 moritz_ I see your point
19:17 diakopter I was comparing them as assembly/target languages
19:17 moritz_ I just think that most parrot developers are aware that that's not what parrot is optimized for (if it's optimized for anything at all :-)
19:18 moritz_ (and yes, I agree that parrot should be much faster :-)
19:19 diakopter yeah. but (possibly) what I'm suggesting is that forcing a dynamic object model into the lowest assembly language isn't as efficient as having one (or more) layers of indirection, if those layers of indirection are sufficiently [more] efficient than the all-in-one object model
19:19 diakopter where by "suggesting" I mean "suspecting" :)
19:20 PerlJam diakopter: Also if those layers give us more opportunity for optimization.
19:20 masak intriguing.
19:20 PerlJam (or is that what you're really saying?)
19:20 moritz_ parrot tries to fill this gap by allowing C code. Not sure if that's the right way to go
19:21 diakopter PerlJam: yes, is by "us" you mean optimizing compilers with person-millenia of work behind them
19:21 diakopter taking nqp-rx as an example
19:22 diakopter stage0.pir, stage1.pir
19:22 diakopter if I'm not mistaken, nearly everything in those programs is being used as strongly typed
19:23 diakopter and gotos/labels
19:24 diakopter here's my thought (more)
19:25 diakopter having them in .pir (as opposed to C) merely gives them independence from gcc, right?
19:25 diakopter (runtime code generation/compiling/loading)
19:26 diakopter (without depending on gcc)
19:26 diakopter following that line of thinking, CIL (Common Intermediate Language) (what mono compiles to before it compiles to machine code) is the assembly language I was comparing to PASM/PIR
19:27 diakopter but mono (and of course the clr) has the same dynamic assembly language generation/compiling/loading capabilities as parrot
19:29 diakopter yes, in a dynamic language (unless you can infer/work out more specific types than how they're marked in the user source code) all the primitives types will be boxed and dynamically dispatched
19:29 diakopter but that doesn't mean that you can't also have efficient primitive types
19:30 diakopter (so that's what I was comparing, parrot's primitive strongly typed variables vs mono's)
19:30 diakopter </soapbox>
19:36 diakopter so, if mono is 10-20x (and in some cases 100-1000x) faster than parrot in operations on those primitive types (and invocations, not to mention GC and JIT), and if a Perl 6 impl is going to be compiling to *any* kind of assembly language, then that Perl 6 impl should consider using a VM/compiler that has reasonably efficient primitive types, not one where stringops are slower than in Perl 5
19:36 rgrau joined #perl6
19:40 PerlJam diakopter: sure ... except that someone has already written the underlying pieces that Rakudo uses in Parrot.   :)
19:41 PerlJam It would be interesting to see the PAST/POST/etc. stuff target some other VM though.
19:42 diakopter it's not as much of a sunk cost as you might think, I'd like to suggest
19:42 masak I just want my Perl 6 to be fast.
19:42 masak if Parrot doesn't get me there first, so be it.
19:42 diakopter I mean
19:42 masak we don't know exactly what the right formula is. that's why we're doing this flood-fill thing with Perl 6 implementations.
19:42 PerlJam diakopter: I agree it's probably not  that much of a sunk cost, but someone still has to do the work.
19:42 diakopter it *is* more of a sunk cost than you might think, I'd like to suggest <frown>
19:43 colomon I'm with masak.  Perl 6 is an awesome design, but it needs to be 100x faster (at least) to be reasonably useful, IMO.
19:43 diakopter (sorry, confusion of terms)
19:43 diakopter PerlJam: yeah :/
19:44 PerlJam colomon: 100x faster?  really?  Are you sure?
19:44 diakopter PerlJam: I'm working on that
19:44 * colomon has to admit that a fully .NET compatible would be pretty damn useful for his $work.
19:44 diakopter ... I agree with colomon.. at least 100x faster
19:44 colomon PerlJam: yes.
19:44 diakopter wel
19:44 colomon Anything that iterates is dead dog slow in Rakudo.
19:44 diakopter "feeling" 100x "more responsive", let's say :)
19:44 PerlJam I think it would be "reasonably useful" at 10x faster.
19:45 PerlJam 100x faster would be more like "awesomely useful"
19:45 colomon right now I'm pretty sure there are pretty common cases where Perl 5 is 1000x faster than Rakudo.
19:45 masak nod.
19:45 masak but Perl 5 is impressively fast in places.
19:45 PerlJam colomon: great!  Where are the benchmarks so we can put them into the repo?
19:46 diakopter I didn't know that rakudo had benchmark comparisons
19:46 colomon PerlJam: I don't have time to put them together at the moment, but if you seriously think it's a good idea to have them, it won't be a problem at all next time I have some spare tuits...
19:47 PerlJam colomon: I do think it's a good idea to keep benchmarks around so that we can know how (if) we are progressing when we attempt optimization.
19:47 diakopter try some pathological grammar patterns :)
19:47 colomon I haven't tested it, but I'd be willing to bet a beer than a straightforward word count script is 1000x faster in p5 than Rakudo.
19:48 colomon at least on a reasonable length file.
19:48 colomon though come to think of it, given the current seg fault issues in Rakudo, it may be hard to see the full extent of the slow down.
19:49 * PerlJam fails in "eating without making a mess"
19:51 diakopter (note: I am certainly *not* saying that mono (or ocaml or V8 or ghc) was as capable/reliable 7-8 years ago)
19:52 diakopter existent/capable/reliable
19:52 diakopter it's just had probably a few hundred times as many resources/attention
19:53 moritz_ sorry, got distracted by distressing phone call
19:53 * moritz_ backlogs
19:54 colomon BTW, to be fair, I wouldn't be at all surprised if Rakudo can get 100x boost in the next six months.  I'm not down on Parrot, I just want to be able to stop making excuses for why Rakudo is so slow.
19:59 PerlJam moritz_: I hope your phone call ended with the distress gone.
19:59 iblechbot joined #perl6
20:00 dalek rakudo/ng: 2b58163 | pmichaud++ | build/PARROT_REVISION:
20:00 dalek rakudo/ng: Bump PARROT_REVISION to latest Parrot release.
20:00 dalek rakudo/ng: review: http://github.com/rakudo/rakudo/commit/2​b58163c7aee6954f7732b97d66f7c565bda2851
20:00 moritz_ PerlJam: not quite :/
20:02 payload joined #perl6
20:07 colomon masak: I've already done your #71364 in ng, but it could still use a spectest...  ;)
20:08 masak colomon: if I can't open ng tickets, you're not allowed to close them either. :P
20:10 patspam joined #perl6
20:10 pmichaud phone
20:14 pugs_svn r29348 | moritz++ | [t/spec] tests for RT #71364, and that === works on Rats
20:14 colomon moritz_++ # indeed!
20:15 colomon Let me guess, that was in rat.t?
20:15 moritz_ yes
20:17 colomon whoops, was cynical coz I thought rat.t wasn't turned on, but actually it's on and now broken, at least on my machine.
20:18 colomon Confused at line 239, near "ok 1/2 !=="
20:20 moritz_ it's turned on?
20:20 moritz_ I thought it wasn't
20:20 moritz_ because it didn't pass
20:21 colomon I thought it wasn't too, but it just ran in my spectest and died.
20:21 moritz_ dies after test 22
20:21 moritz_ even with the new test fudged
20:22 pugs_svn r29349 | moritz++ | [t/spec] fudge new test in rat.t, moritz--
20:23 colomon WIth that fudge, I get "you failed 1 tests of 791"
20:23 colomon Rat.Rat isn't actually a
20:23 colomon }Rat?
20:25 colomon ng: say 1/2.Rat.WHAT
20:25 p6eval ng 2b5816: Rat()␤
20:25 * moritz_ stupid
20:25 colomon broken test.  :)
20:25 moritz_ that's because ng dies for me after test 22
20:25 moritz_ I don't even get that far
20:26 pugs_svn r29350 | moritz++ | [t/spec] fix test in rat.t. moritz-- again, colomon++
20:27 colomon "All tests successfull"!  moritz_++
20:27 moritz_ colomon: do you have local modifications to that file? or to rakudo?
20:28 colomon yes, but none that affect that.
20:29 colomon what failure are you getting?  I'm guessing it's just the roving seg fault...
20:29 moritz_ Divide by zero
20:30 drbean_ joined #perl6
20:30 colomon orly?
20:30 * moritz_ curses his bad internet connection
20:30 colomon which test?
20:30 moritz_ after 22
20:31 moritz_ dies_ok( { Rat.new(0, 0) }, "Zero over zero is not a legal Rat");
20:31 moritz_ wait
20:31 colomon yeah
20:31 moritz_ maybe I didn't pull pmichaud's changes
20:31 colomon but it should have been working before them...
20:31 Tene pmichaud: thanks for reverting my bad try patch.
20:31 colomon ng: say Rat.new(0, 0)
20:31 p6eval ng 2b5816: Divide by zero␤current instr.: '&infix:<div>' pc 201647 (src/gen/core.pir:6101)␤
20:31 moritz_ not if dies_ok died
20:31 moritz_ ng: try { Rat.new(0, 0) }
20:31 p6eval ng 2b5816:  ( no output )
20:32 colomon right, you don't hav Tene's patch reverted.
20:32 PerlJam ng: 0.0.perl.say
20:32 p6eval ng 2b5816: 0/1␤
20:32 SmokeMachine joined #perl6
20:32 ashizawa joined #perl6
20:32 nbrown joined #perl6
20:35 araujo joined #perl6
20:38 chromatic joined #perl6
20:39 chromatic How does Rakudo trunk fare against Parrot head?
20:40 * masak checks
20:40 * PerlJam isn't sure what chromatic really means
20:40 masak PerlJam: 'trunk' is an SVN term for 'master' :P
20:41 moritz_ chromatic: it builds against the released version of parrot here
20:41 chromatic "Trunk" means "not the -ng branch".
20:41 PerlJam ah, good.
20:41 PerlJam It sounded like you were after the latest rakudo against the latest parrot
20:42 PerlJam pm updated the PARROT_REVISION to be the latest release version of Parrot even
20:42 moritz_ in ng, yes
20:43 PerlJam blah.  I could have sworn that was master
20:43 moritz_ maybe I'm wrong
20:43 colomon nope, it was ng.
20:43 PerlJam no, I just checked :)
20:44 colomon surely I'm not the only one with a github ng commit history tab in his browser?  ;)
20:44 * PerlJam doesn't typically look at git repo history via a web browser
20:45 chromatic I ask because I'm doing a release dry run.
20:45 colomon but how can you quickly tell if anyone else has been hacking on ng?  :)
20:45 PerlJam colomon: I assume it is so and I am right  ;)
20:46 moritz_ colomon: git log
20:46 colomon moritz_: don't you need to pull  to get an up-to-date log?
20:46 [particle] what rolls down stairs, alone or in pairs?
20:46 moritz_ colomon: you need to fetch
20:46 moritz_ (or pull)
20:47 PerlJam colomon: sure, but I always pull before doing anything anyway :)
20:47 moritz_ chromatic: you'll probably need to remove two or three files from t/spectest.data for the release
20:47 chromatic Is it better to build against Parrot HEAD or 1.9.0?
20:47 mberends joined #perl6
20:47 moritz_ 1.9.0
20:47 Tene joined #perl6
20:47 parduncia joined #perl6
20:47 gju joined #perl6
20:47 mathw joined #perl6
20:47 szabgab joined #perl6
20:47 jrockway joined #perl6
20:47 jimi_hendrix joined #perl6
20:47 youwin joined #perl6
20:47 PacoLinux joined #perl6
20:47 rachelBROWN joined #perl6
20:47 elmex joined #perl6
20:47 avuserow joined #perl6
20:47 BooK joined #perl6
20:47 perlygatekeeper joined #perl6
20:47 zostay joined #perl6
20:47 viklund_ joined #perl6
20:47 charsbar_ joined #perl6
20:47 gabiruh joined #perl6
20:47 gbacon joined #perl6
20:47 perigrin joined #perl6
20:47 ssm joined #perl6
20:47 jjore_ joined #perl6
20:47 Infinoid joined #perl6
20:47 TimToady joined #perl6
20:47 cls_bsd joined #perl6
20:47 dukeleto joined #perl6
20:47 pugs_svn joined #perl6
20:47 hatseflats joined #perl6
20:47 jiing joined #perl6
20:47 phenny joined #perl6
20:48 PerlJam Rakudo release should always be against the latest Parrot release.
20:49 chromatic I'll make sure to do that tomorrow.
20:49 PerlJam chromatic: just checking ... you are reading docs/release_guide.pod, yes?
20:49 chromatic Yes.
20:50 moritz_ chromatic: due to large changes in spec and spectets, rakudo/master is currently frozen to a particular revision of the spectests
20:50 moritz_ chromatic: so if tests fail, it's no good to fudge them in the test suite, but you have to comment them out from t/spectest.data
20:51 astrojp joined #perl6
20:51 PerlJam chromatic: what "code name" are you going to give your release?
20:51 chromatic Should I commit those changes?
20:51 moritz_ chromatic: yes
20:52 chromatic I like Seoul.pm, because I think they have cake ducks there.
20:52 PerlJam chromatic: commit them for  the release, then revert the commits afterwards
20:52 * PerlJam would never conceive  to put the words "cake" and "duck" together
20:53 diakopter http://wiki.lspace.org/wiki/Soul_Cake_Duck
20:55 colomon "The Soul Cake Duck is rumored to be paranoid beyond sanity and generally in a very bad mood."  Awesome.
20:55 chromatic Alright, here's an update to PARROT_REVISION.
20:55 masak PerlJam: http://en.wikipedia.org/wiki/Linguification
20:56 PerlJam Perl 6 linguifies words into a good soup.
20:56 masak :)
20:57 masak I never thought I'd see "Perl 6" next to "linguifies". :P
20:57 jnthn fwiw, it may be that Rakudo master needs a patch to build against latest Parrot; I'm sure I had to chase a Parrot breakage in ng at some point recently, but didn't patch master.
20:57 masak or "Perl 6" in the same sentence as "soup"...
20:57 diakopter masak: oh, the irony
20:57 dalek rakudo/master: 98b3f18 | chromatic++ | build/PARROT_REVISION:
20:57 dalek rakudo/master: Updated PARROT_REVISION for Parrot release 1.9.0.
20:57 dalek rakudo/master: review: http://github.com/rakudo/rakudo/commit/9​8b3f18a3ab8846b5701a6c57892dd0129fb0673
20:58 PerlJam masak: It's all par for the course on #perl6  :)
20:58 masak PerlJam: yes. I'm just kidding around.
20:58 PerlJam (especially when that TimToady guy is around  ;-)
20:58 diakopter (speaking of golfing)
20:58 masak PerlJam: yeah, who invited that guy? :P
21:00 * PerlJam bates his breath in anticipation of diakopter's offering
21:03 diakopter wait, what?
21:03 * diakopter confused
21:03 diakopter I usually can only pick up that puns are being made, not the actual joke behind the puns
21:04 diakopter (speaking of speaking of speaking of linguification)
21:04 masak those kinds of jokes are so common that they should have a name.
21:05 masak maybe 'autopuns'?
21:05 masak "we're all eager to get lazy lists" is an autopun, for example. even though it has a determinant of -1. :P
21:05 PerlJam autopun sounds like a good word to me
21:06 masak let's see how long it takes until someone makes an autopun about autopuns!
21:06 masak oh wait.
21:07 diakopter punners are punnier when their names are punned upon for pun
21:09 wayland76 I may've used this before, but: If I were ever pun-i-shed / for every pun I shed / I'd run and find a punny shed / and there I'd hang my punnish head :)
21:09 masak wayland76++ # puns with sheds
21:10 pmichaud back again
21:10 pmichaud sorta
21:13 wayland76 Now I'm confused by the difference between an autopun and a pun.
21:14 Tene wayland76: you don't need to worry about the difference.  it'll take care of itself.
21:15 masak wayland76: let's see. a pun is a joke on words. an autopun isn't necessarily a pun, but needs to make an implicit joke which exhibits the property joked about.
21:15 masak wayland76: example: "they told be these pills would make me stronger, but I'm unable to open the jar."
21:15 masak (I apologise profusely for that one.)
21:17 wayland76 Ok, but how is "we're all eager to get lazy lists" not a pun then?
21:18 chromatic t/spec/S02-lexical-conventions/unicode.rakudo, t/spec/S03-junctions/associative.t, t/spec/S03-junctions/autothreading.rakudo, t/spec/S06-other/main-eval.t, and t/spec/S12-class/basic.rakudo all have failures for me.
21:18 masak wayland76: that one is a pun, too. the one about the pills isn't.
21:18 masak but both are autopuns.
21:19 colomon chromatic: that list sounds right to me.
21:19 wayland76 ok.  "Autopuns" is a superset of "puns"?  Or an overlapping category?  I was assuming that "autopun" would be a subset of "pun"
21:20 masak overlapping category.
21:20 chromatic How likely is it that any of those will get fixed in the next 24 hours?
21:20 masak wayland76: which leads me to think that the term might not be the best one.
21:20 masak wayland76: it's more of a self-referent joke-oid.
21:21 wayland76 autojoke?
21:21 masak yes, except it's not about cars. :)
21:21 wayland76 Yeah, or automatic anything.
21:21 Tene masak: and if my car tells jokes about cars?
21:22 masak Tene: then you should probably see a mechanic. :P
21:22 wayland76 well, you carn't let it do that :)
21:25 chromatic How do I find out how many spectests pass now?
21:26 chromatic Should I skip the failures right now or wait?
21:26 chromatic I'm working on the release announcement.
21:26 chromatic Also, why is Seoul.pm on the list of candidates?
21:26 masak chromatic: I'm running the spectests right now.
21:26 chromatic Thanks!
21:26 masak pmichaud: might know about Seoul.pm.
21:26 masak s/://
21:28 Tene jnthn visited Seoul.pm iirc
21:28 masak oh, right!
21:28 masak he left blazing trails in the twitterverse, without a twitter account :)
21:29 chromatic "for feeding Jonathan rotten, left over cabbage and he liked it."
21:29 moritz_ chromatic: probably because of some hackathon or conference
21:29 moritz_ chromatic: and skipping failures now is fine
21:29 masak \+o/
21:30 chromatic Alright, I'll try to figure out the easy way to do that.
21:30 chromatic No fudging, right?
21:30 patspam1 joined #perl6
21:30 pmichaud commenting items out of spectest.data is fine
21:30 colomon chromatic: no fudging, right.
21:31 moritz_ chromatic: and once you've done that, perl tools/test_summary.pl
21:31 chromatic Some of this should go in docs/release_guide.pod.
21:32 chromatic Or I should read and not skim.
21:32 pmichaud tools/test_summary.pl gives an idea of the size of the test suite and the number of passing tests
21:32 moritz_ the no-fudging thing is specific to this release
21:33 chromatic Right, I figured the -ng branch made things weird.
21:33 pmichaud but I'll be updating docs/spectest-progress.csv around 01:00 CST tonight, and it's okay to use that number
21:33 jnthn chromatic: Hey, the pork was good too! :-P
21:33 pmichaud (I usually update the release announcement at that time also)
21:33 ashizawa joined #perl6
21:33 nbrown joined #perl6
21:34 jnthn chromatic: Did a patch from ng get cherrypicked? If not, I fear there may be a build problem on Win32...
21:34 jnthn chromatic: Will check.
21:34 jnthn It may also fix the autothreading fial.
21:34 jnthn *fail
21:35 chromatic I'll fill out everything I need now and can fill in more details tomorrow... unless it's easier to wait.
21:35 pmichaud fill out now and more tomorrow tends to work well
21:35 pmichaud other elves often add more things once it's been started
21:35 moritz_ chromatic: if you stub in a release announcement I'll add some deprecation notices
21:36 chromatic I haven't paid attention to new features and such.  I'll commit now with spaces for numbers and specifics.
21:36 pmichaud that's a good approach
21:36 pmichaud I'm planning to update it with my views of features and such
21:36 moritz_ there weren't many new features in master since the last release
21:36 pmichaud (that's my normal release-date-activity)
21:37 dalek rakudo/master: 26251f5 | chromatic++ | docs/announce/2009-12:
21:37 dalek rakudo/master: Added initial release announcement, with obvious places for additions.
21:37 dalek rakudo/master: review: http://github.com/rakudo/rakudo/commit/2​6251f5b87f96acc4b8620eb2a54430ad5a6d4f3
21:43 pointme joined #perl6
21:43 mubot joined #perl6
21:43 zaslon joined #perl6
21:45 jimi__hendrix joined #perl6
21:46 Tene joined #perl6
21:46 parduncia joined #perl6
21:46 gju joined #perl6
21:46 mathw joined #perl6
21:46 szabgab joined #perl6
21:46 jrockway joined #perl6
21:46 jimi_hendrix joined #perl6
21:46 youwin joined #perl6
21:46 PacoLinux joined #perl6
21:46 rachelBROWN joined #perl6
21:46 elmex joined #perl6
21:46 avuserow joined #perl6
21:46 BooK joined #perl6
21:46 perlygatekeeper joined #perl6
21:46 zostay joined #perl6
21:46 viklund_ joined #perl6
21:46 charsbar_ joined #perl6
21:46 gabiruh joined #perl6
21:46 gbacon joined #perl6
21:46 perigrin joined #perl6
21:46 ssm joined #perl6
21:46 jjore_ joined #perl6
21:46 Infinoid joined #perl6
21:46 TimToady joined #perl6
21:46 cls_bsd joined #perl6
21:46 dukeleto joined #perl6
21:46 pugs_svn joined #perl6
21:46 hatseflats joined #perl6
21:46 jiing joined #perl6
21:46 phenny joined #perl6
21:47 szabgab joined #perl6
21:49 dalek rakudo/master: 34895f9 | moritz++ | docs/announce/2009-12:
21:49 dalek rakudo/master: [docs] deprecation notcies for release: Object -> Mu, undef is gone
21:49 dalek rakudo/master: review: http://github.com/rakudo/rakudo/commit/3​4895f968121fb50eaee6cc72d953b7476ab3962
21:55 y3llow joined #perl6
22:10 cotto_working joined #perl6
22:11 rgrau``` joined #perl6
22:15 jnthn chromatic: master is broken on Win32
22:15 jnthn chromatic: This is the ng patch:
22:15 jnthn http://github.com/rakudo/rakudo/commit/8​d154158b0ac001c349fb3d3756c7bfe0d893046
22:16 jnthn It'll fix autothreading test breakage too, I expect.
22:16 masak chromatic: spectest run summary: http://gist.github.com/258236
22:16 chromatic Autothreading everywhere, or only Win32?
22:16 jnthn chromatic: everywhere.
22:16 jnthn chromatic: Actually, I am utterly bewildered still at why the build works for anyone.
22:16 chromatic Clean living.
22:17 jnthn chromatic: since the error is
22:17 jnthn perl6_ops.obj : error LNK2001: unresolved external symbol _GETATTR_CallSignature
22:17 jnthn _results
22:17 chromatic Oh yes, I wondered at that error too.
22:18 rgrau`` joined #perl6
22:18 cotto_w0rk joined #perl6
22:18 nihiliad joined #perl6
22:18 KyleHa joined #perl6
22:18 cotto joined #perl6
22:18 idemal joined #perl6
22:18 jnthn Yeah. I dunno how we get away with it on other platforms.
22:18 chromatic Hm, I'm not sure I have the branch pulled here.
22:18 imaltb joined #perl6
22:18 jnthn I'm not quite sure how you cherry pick commits from one to another anyway
22:19 jnthn You'll have it as origin/ng at least, I suspect.
22:19 Tene git cherry-pick <commit-id>
22:20 jnthn heh, then just git cherry-pick 8d154158b0ac001c349fb3d3756c7bfe0d893046 then :-)
22:20 chromatic That worked.
22:20 jnthn yay
22:20 chromatic ... after git fetch upstream.
22:20 jnthn chromatic++
22:22 frettled Hey, maybe Win32 is dead when Rakudo * is released?  :D
22:22 frettled *hope hope hope*
22:23 chromatic Testing the autothreading test now.
22:23 chromatic Certainly there are fewer build warnings.
22:24 masak you know, you don't *need* to write all 40 chars of the SHA-1 :)
22:25 Tene masak: easier to copy/paste the entire thing than just the first part
22:26 Tene double-click vs click+drag+choose-when-to-stop
22:26 masak fair enough.
22:27 chromatic Hmm, this is weird.
22:27 chromatic $ git push upstream master
22:27 chromatic To git@github.com:rakudo/rakudo.git
22:27 chromatic ! [rejected]        master -> master (non-fast forward)
22:27 chromatic error: failed to push some refs to 'git@github.com:rakudo/rakudo.git'
22:29 masak chromatic: that happens when your repo isn't a descendent of upstream. you need to pull or something.
22:30 chromatic That looks better.
22:30 masak see y'all tomorrow, #perl6.
22:30 moritz_ good night
22:32 jnthn yup, that fixes the Win32 build
22:32 jnthn Well
22:32 jnthn it doesn't break at that point
22:32 jnthn Should be fine though.
22:34 dalek rakudo/master: 036536a | jnthn++ | src/ops/perl6.ops:
22:34 dalek rakudo/master: Chase a Parrot change that broke our junction auto-threading code.
22:34 dalek rakudo/master: review: http://github.com/rakudo/rakudo/commit/0​36536a74f9787060b9b36a50ebc797023f60fda
22:34 dalek rakudo/master: c4b4110 | chromatic++ | t/spectest.data:
22:34 dalek rakudo/master: Skipped a few tests which don't pass with Parrot 1.9.0; will revert after the
22:34 dalek rakudo/master: release.
22:34 dalek rakudo/master: review: http://github.com/rakudo/rakudo/commit/c​4b4110210108fff9ce1080eb1e92f805870ac8c
22:34 dalek rakudo/master: 73c4a80 | chromatic++ | docs/announce/2009-12:
22:34 dalek rakudo/master: Merge branch 'master' of git@github.com:rakudo/rakudo
22:34 dalek rakudo/master: review: http://github.com/rakudo/rakudo/commit/7​3c4a808e275173b5d99e42155679330c0a37431
22:40 pmurias joined #perl6
22:44 drbean joined #perl6
22:45 pmurias diakopter: the hard part with getting good performance is that you have to infer when to unwrap primitives
22:50 imaltb joined #perl6
22:53 supernovus joined #perl6
22:57 supernovus I have a small question. I know wantarray was originally to be replaced by want but that eventually want was killed off entirely. What replaces it? By that I mean, if I have a method that can return either a scalar value or a list, how would I go about doing that?
22:57 IllvilJa does rakudo have any debugger mode?
22:58 diakopter pmurias: yes, but, (again) I wasn't testing anything like that
22:58 diakopter I was testing the primitives
22:58 moritz_ supernovus: the method returns an object that does the right thing in either context
22:58 diakopter I wasn't testing dynamicness/boxing/dispatching
23:00 supernovus I think that's where I'm having problems, is making an object that works as an array.
23:01 moritz_ supernovus: list context works by calling the List method on that object
23:01 moritz_ supernovus: so you can create an object that return a list when the List method is called
23:03 supernovus Interesting, I tried just that, but for some reason, it still returns the results of the Str method instead of the List method.
23:05 wayland76 supernovus: Can you nopaste your code that calls it?
23:07 moritz_ supernovus: it might not be well implemented in Rakudo right now
23:08 supernovus That may be the case. I have pasted my example class and the script that calls it.
23:08 supernovus one change is that I have changed Array to List in the class.
23:08 dalek rakudo/master: 1d44f48 | chromatic++ | src/ops/perl6.ops:
23:08 dalek rakudo/master: [ops] Fixed a C++ compilation warning with an appropriate typedef.
23:08 dalek rakudo/master: review: http://github.com/rakudo/rakudo/commit/1​d44f48bd3722738b968bad816aabaa718025c75
23:13 payload joined #perl6
23:13 SmokeMachine joined #perl6
23:15 ZooYork2007 joined #perl6
23:16 moritz_ oh noez, postfix:<*>
23:16 krakan joined #perl6
23:18 Tene joined #perl6
23:18 parduncia joined #perl6
23:18 gju joined #perl6
23:18 mathw joined #perl6
23:18 jrockway joined #perl6
23:18 youwin joined #perl6
23:18 PacoLinux joined #perl6
23:18 rachelBROWN joined #perl6
23:18 elmex joined #perl6
23:18 avuserow joined #perl6
23:18 BooK joined #perl6
23:18 perlygatekeeper joined #perl6
23:18 zostay joined #perl6
23:18 viklund_ joined #perl6
23:18 charsbar_ joined #perl6
23:18 gbacon joined #perl6
23:18 perigrin joined #perl6
23:18 ssm joined #perl6
23:18 jjore_ joined #perl6
23:18 Infinoid joined #perl6
23:18 TimToady joined #perl6
23:18 cls_bsd joined #perl6
23:18 dukeleto joined #perl6
23:18 pugs_svn joined #perl6
23:18 hatseflats joined #perl6
23:18 jiing joined #perl6
23:18 phenny joined #perl6
23:18 moritz_ if that gets added, we'll rename Perl 6 to "Star Language"
23:19 ZooYork2007 left #perl6
23:19 colomon Can unicode add a line over a variable name?
23:20 moritz_ U+0305 COMBINING OVERLINE
23:20 moritz_ don't even think of it :-)
23:21 colomon But that's what he wants!  postfix:<*> is just an awkward compromise...  :)
23:21 Tene joined #perl6
23:21 parduncia joined #perl6
23:21 gju joined #perl6
23:21 mathw joined #perl6
23:21 jrockway joined #perl6
23:21 youwin joined #perl6
23:21 PacoLinux joined #perl6
23:21 rachelBROWN joined #perl6
23:21 elmex joined #perl6
23:21 avuserow joined #perl6
23:21 BooK joined #perl6
23:21 perlygatekeeper joined #perl6
23:21 zostay joined #perl6
23:21 viklund_ joined #perl6
23:21 charsbar_ joined #perl6
23:21 gbacon joined #perl6
23:21 perigrin joined #perl6
23:21 ssm joined #perl6
23:21 jjore_ joined #perl6
23:21 Infinoid joined #perl6
23:21 TimToady joined #perl6
23:21 cls_bsd joined #perl6
23:21 dukeleto joined #perl6
23:21 pugs_svn joined #perl6
23:21 hatseflats joined #perl6
23:21 jiing joined #perl6
23:21 phenny joined #perl6
23:21 moritz_ postfix:<*> is the death star
23:24 pmurias joined #perl6
23:27 diakopter .u ..
23:27 phenny U+0020 SPACE ( )
23:27 phenny U+0021 EXCLAMATION MARK (!)
23:27 phenny U+0022 QUOTATION MARK (") [...]
23:27 diakopter boom
23:28 wayland76 .u..
23:28 wayland76 .u ..
23:28 phenny U+0020 SPACE ( )
23:28 phenny U+0021 EXCLAMATION MARK (!)
23:28 phenny U+0022 QUOTATION MARK (") [...]
23:28 diakopter .u /e
23:28 phenny diakopter: Sorry, no results
23:28 diakopter .u .8
23:28 phenny U+2880 BRAILLE PATTERN DOTS-8 (⢀)
23:28 phenny U+2881 BRAILLE PATTERN DOTS-18 (⢁)
23:28 phenny U+2882 BRAILLE PATTERN DOTS-28 (⢂) [...]
23:28 Tene .u ☕
23:28 wayland76 .u fe
23:28 phenny U+2615 HOT BEVERAGE (☕)
23:28 phenny U+134D ETHIOPIC SYLLABLE FE (ፍ)
23:28 Tene .u snowman
23:28 phenny U+2603 SNOWMAN (☃)
23:29 diakopter .u ' '
23:29 phenny U+0027 APOSTROPHE (')
23:29 phenny U+0020 SPACE ( )
23:29 phenny U+0027 APOSTROPHE (')
23:29 diakopter oh
23:29 moritz_ .u mygod
23:29 phenny moritz_: Sorry, no results for 'mygod'.
23:29 diakopter .u bb
23:29 phenny U+A058 YI SYLLABLE BBI (ꁘ)
23:29 Tene .u .u .u
23:29 phenny U+0FBE TIBETAN KU RU KHA (྾)
23:29 wayland76 phenny thinks you're an atheist :)
23:29 phenny U+0FBF TIBETAN KU RU KHA BZHI MIG CAN (྿)
23:29 phenny U+1809 MONGOLIAN MANCHU FULL STOP (᠉) [...]
23:29 * diakopter squints
23:30 * moritz_ heads off to bed
23:30 diakopter too small font
23:30 moritz_ good night #perl6
23:30 diakopter g'nite
23:30 Tene good night.
23:30 colomon 'night
23:30 supernovus good night
23:30 diakopter .u &&
23:30 phenny U+0026 AMPERSAND (&)
23:30 phenny U+0026 AMPERSAND (&)
23:30 diakopter .u 0a
23:30 phenny diakopter: Sorry, no results for '0a'.
23:30 wayland76 .u .u .u  What begins with .u?  five flying .u dders and an .u gly .u nittoo
23:30 phenny wayland76: Sorry, no results
23:31 wayland76 phenny doesn't know Dr. Seuss :)
23:31 jjore joined #perl6
23:31 elmex joined #perl6
23:31 mathw joined #perl6
23:31 supernovus .u ¢
23:31 diakopter .u YY
23:31 parduncia joined #perl6
23:31 ssm joined #perl6
23:32 PacoLinux joined #perl6
23:32 BooK joined #perl6
23:34 mjk joined #perl6
23:34 jferrero joined #perl6
23:35 Tene joined #perl6
23:36 cls_bsd joined #perl6
23:36 hercynium joined #perl6
23:39 Infinoid joined #perl6
23:40 krakan joined #perl6
23:43 charsbar joined #perl6

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

Perl 6 | Reference Documentation | Rakudo