Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2013-07-18

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:01 timotimo oh, TimToady, another thing. hyper makes a decision at the very beginning wether to call obj.flat.eager or obj.tree.eager and it bases that on either the op that's passed being nodal or the "nodal" flag being passed to the hyper sub.
00:01 timotimo so making a decision upon first seeing Iterable doesn't strike me as possible with that setup
00:01 TimToady -> \obj { START die "nodal" if obj.^can($name)[*-1].nodal; obj."$name"(|c) }
00:02 TimToady hmm
00:03 TimToady if the obj.tree.eager fails immediatly, you could switch to the obj.flat.eager one
00:04 TimToady so could still be done with an exception, like with my modified block above
00:04 TimToady alternately, we find some way of hoisting the nodal to the block
00:05 timotimo oof.
00:06 TimToady but I expect the exception thrown by START can be made to work
00:07 TimToady provided the block is recloned on entry to the hyper
00:07 timotimo making a couple of test cases should bring a bit of clarity. not that i can come up with good test cases right now off the top of my head
00:07 timotimo the pull request has been updated. i'll write a comment to explain the new approximation along with a link to this discussion
00:08 timotimo also, i should be running some tests.
00:09 timotimo oh, whoops, that's an error i didn't get before
00:09 timotimo "Representation must be composed before it can be allocated"
00:11 timotimo it looks like it comes from using [*-1] too early in the setting or something
00:14 timotimo yes, with .pop it does compile
00:20 timotimo oh well, regressions
00:29 benabik joined #perl6
00:36 colomon hmmm…. seem to have lost the ability to build jakudo
00:36 gdey joined #perl6
00:40 timotimo aaw, crud. my own tests didn't succeed. i wonder what's up with that.
00:42 colomon Stage start      :   0.000
00:42 colomon Could not find Perl6::BOOTSTRAP in any of: ., blib
00:43 colomon oooo!
00:43 colomon Operation 'isnull' requires 1 operands
00:44 timotimo ah. the test was wrong
00:44 colomon huh.  looks like jnthn added this call : nqp::isnull($resultish, Mu)
00:45 timotimo huh
00:51 synopsebot joined #perl6
00:52 Juerd joined #perl6
00:52 dalek joined #perl6
00:52 timotimo i'll have time to build pull requests for ecosystem projects that rely on the non-nodal hyperops between the compiler release and the star release, right?
00:52 hugme joined #perl6
00:53 camelia joined #perl6
00:54 Util joined #perl6
00:54 PerlJam joined #perl6
00:54 sergot joined #perl6
00:54 [Coke] joined #perl6
00:54 masak joined #perl6
00:54 Ben_Goldberg I've got a silly question: does it say in the perl6 specs which operations preserve lazyness, and which are supposed to be eager?
00:55 Ben_Goldberg For example:
00:55 Ben_Goldberg rpn: gather { take $_ for 1..9; say "D'oh!" }.first({ $^a > 4 }).say
00:55 camelia rakudo a8ca88, pugs: OUTPUT«D'oh!␤5␤»
00:55 camelia ..niecza v24-88-g1f87209: OUTPUT«5␤»
00:55 timotimo o_O how does niecza do that?
00:55 timotimo er, silly me.
00:56 Ben_Goldberg Now, obviously some list operations have to be eager (sort, for example)
00:58 Ben_Goldberg But things which act like a map or a grep don't need to be.
00:58 timotimo indeed. first shouldn't do it like that i agree.
00:59 Ben_Goldberg r: gather { take $_ for 1..9; say "D'oh!" }.kv[0].say
00:59 camelia rakudo a8ca88: OUTPUT«D'oh!␤0 1␤»
01:00 timotimo yeah, we talked about .kv not having to be eager yesterday
01:01 skids joined #perl6
01:01 tadzik joined #perl6
01:02 Ben_Goldberg rn: gather { take $_ for 1..9; say "D'oh!" }.grep({ $^a %% 2 })[0].say
01:02 camelia rakudo a8ca88, niecza v24-88-g1f87209: OUTPUT«2␤»
01:02 Ben_Goldberg Well, that works right :)
01:02 colomon what, .first isn't lazy in rakudo?
01:03 Ben_Goldberg rn: gather { take $_ for 1..9; say "D'oh!" }.map({ $^a * 2 })[0].say
01:03 timotimo colomon: i'm on it :)
01:03 camelia rakudo a8ca88, niecza v24-88-g1f87209: OUTPUT«2␤»
01:03 timotimo ah, i guess self.list is eager for something like that.
01:04 timotimo r: (gather { take $_ for 1..9; say "D'oh!" }).WHAT
01:04 camelia rakudo a8ca88:  ( no output )
01:04 timotimo r: say (gather { take $_ for 1..9; say "D'oh!" }).WHAT
01:04 camelia rakudo a8ca88: OUTPUT«(List)␤»
01:05 timotimo hm.
01:05 timotimo r: my @thing := (gather { take $_ for 1..9; say "D'oh!" }).list; 1;
01:05 camelia rakudo a8ca88:  ( no output )
01:05 colomon no, it's for, I'll bet yuou
01:05 timotimo r: my @thing := (gather { take $_ for 1..9; say "D'oh!" }).list; @thing.first(3);
01:05 camelia rakudo a8ca88: OUTPUT«D'oh!␤»
01:05 timotimo seems that way
01:06 Ben_Goldberg r: for(gather { take $_ for 1..9; say "D'oh!" }) { say '1'; last }
01:06 camelia rakudo a8ca88: OUTPUT«[31m===[0mSORRY![31m===[0m�Word 'for' interpreted as 'for()' function call; please use whitespace instead of parens�at /tmp/JYNwXRAgjE:1�------> [32mfor[33m�[31m(gather { take $_ for 1..9; say "D'oh!" [0m�Unexpected block in infix position (two terms in a r…
01:06 Ben_Goldberg r: foreach(gather { take $_ for 1..9; say "D'oh!" }) { say '1'; last }
01:06 camelia rakudo a8ca88: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Unexpected block in infix position (two terms in a row, or previous statement missing semicolon?)â�¤at /tmp/_BTSmwydqe:1â�¤------> [32mther { take $_ for 1..9; say "D'oh!" }) [33mâ��[31m{ say '1'; last }[0mâ�¤    expecting any of:â�¤       …
01:06 timotimo no, you want a space after the for
01:06 Ben_Goldberg r: foreach (gather { take $_ for 1..9; say "D'oh!" }) { say '1'; last }
01:06 camelia rakudo a8ca88: OUTPUT«[31m===[0mSORRY![31m===[0m�Unsupported use of 'foreach'; in Perl 6 please use 'for'�at /tmp/Yxu8yponBH:1�------> [32mforeach[33m�[31m (gather { take $_ for 1..9; say "D'oh!"[0m�»
01:06 Ben_Goldberg r: forh (gather { take $_ for 1..9; say "D'oh!" }) { say '1'; last }
01:06 camelia rakudo a8ca88: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Unexpected block in infix position (two terms in a row, or previous statement missing semicolon?)â�¤at /tmp/dpC50LvlDL:1â�¤------> [32mther { take $_ for 1..9; say "D'oh!" }) [33mâ��[31m{ say '1'; last }[0mâ�¤    expecting any of:â�¤       …
01:06 Ben_Goldberg r: for (gather { take $_ for 1..9; say "D'oh!" }) { say '1'; last }
01:06 camelia rakudo a8ca88: OUTPUT«D'oh!␤1␤»
01:07 Ben_Goldberg My backspace and enter key on my keyboard are two close together :P
01:07 timotimo :)
01:08 timotimo r: sub hacky_first(@list, Mu $test) is rw { gather for @list { return $_ if $_ ~~ $test }; Nil }; say hacky_first(gather { take $_ for 1..9; say "D'oh!" }, 3);
01:08 camelia rakudo a8ca88: OUTPUT«D'oh!␤3␤»
01:08 timotimo aaw come on.
01:08 timotimo r: sub hacky_first(@list, Mu $test) is rw { map @list { return $_ if $_ ~~ $test }; Nil }; say hacky_first(gather { take $_ for 1..9; say "D'oh!" }, 3);
01:08 camelia rakudo a8ca88: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Unexpected block in infix position (two terms in a row, or previous statement missing semicolon?)â�¤at /tmp/jiqUbRtWcM:1â�¤------> [32mirst(@list, Mu $test) is rw { map @list [33mâ��[31m{ return $_ if $_ ~~ $test }; Nil }; say[0mâ�¤    ex…
01:08 timotimo r: sub hacky_first(@list, Mu $test) is rw { map { return $_ if $_ ~~ $test }, @list; Nil }; say hacky_first(gather { take $_ for 1..9; say "D'oh!" }, 3);
01:08 camelia rakudo a8ca88: OUTPUT«D'oh!␤3␤»
01:09 timotimo can it really be that hard?
01:09 timotimo r: sub hacky_first(@list, Mu $test) is rw { (grep @list, $test)[0]; Nil }; say hacky_first(gather { take $_ for 1..9; say "D'oh!" }, 3);
01:09 camelia rakudo a8ca88: OUTPUT«D'oh!␤Nil␤»
01:09 timotimo r: sub hacky_first(@list, Mu $test) is rw { (grep $test, @list)[0]; Nil }; say hacky_first(gather { take $_ for 1..9; say "D'oh!" }, 3);
01:09 camelia rakudo a8ca88: OUTPUT«Nil␤»
01:09 timotimo not better :|
01:10 Ben_Goldberg rn: gather { take $_ for 1..9; say "D'oh!" }.grep({ $_ > 3 && last }).say
01:10 camelia rakudo a8ca88: OUTPUT«D'oh!␤␤»
01:10 camelia ..niecza v24-88-g1f87209: OUTPUT«␤»
01:10 timotimo i suppose one will have to work with a traditional loop and get each element in turn.
01:10 Ben_Goldberg At least until 'for' is fixed :)
01:11 timotimo right.
01:11 timotimo i wish i could have done it with a map.
01:11 colomon probably can
01:12 timotimo r: sub hacky_first(@list, Mu $test) is rw { (@list.map({ $_ if $_ ~~ $test})[0] || Nil }; say hacky_first(gather { take $_ for 1..9; say "D'oh!" }, 3);
01:12 camelia rakudo a8ca88: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Unable to parse expression in parenthesized expression; couldn't find final ')'â�¤at /tmp/JmqwREZi10:1â�¤------> [32mist.map({ $_ if $_ ~~ $test})[0] || Nil [33mâ��[31m}; say hacky_first(gather { take $_ for [0mâ�¤    expecting any of:â�¤  â€¦
01:12 Ben_Goldberg rn: gather { take $_ for 1..9; say "D'oh!" }.map({ $_ < 5 ? $_ : last }).say
01:12 camelia niecza v24-88-g1f87209: OUTPUT«[31m===[0mSORRY![3​1m===[0mâ�¤â�¤Unsupported use of ?: for the conditional operator; in Perl 6 please use ??!! at /tmp/2XYxYon52e line 1:â�¤------> [32m_ for 1..9; say "D'oh!" }.map({ $_ < 5 ?[33mâ��[31m $_ : last }).say[0mâ�¤â�¤Parse failedâ�¤â�¤Â»
01:12 camelia ..rakudo a8ca88: OUTPUT«[31m===[0mSORRY![31m===[0m�Unsupported use of ?: for the conditional operator; in Perl 6 please use ??!!�at /tmp/ph47yFtj9C:1�------> [32m_ for 1..9; say "D'oh!" }.map({ $_ < 5 ?[33m�[31m $_ : last }).say[0m�»
01:12 timotimo r: sub hacky_first(@list, Mu $test) is rw { (@list.map({ $_ if $_ ~~ $test}))[0] || Nil }; say hacky_first(gather { take $_ for 1..9; say "D'oh!" }, 3);
01:12 camelia rakudo a8ca88: OUTPUT«3␤»
01:12 Ben_Goldberg rn: gather { take $_ for 1..9; say "D'oh!" }.map({ $_ < 5 ?? $_ :: last }).say
01:12 colomon well, with grep
01:12 timotimo oh lookie there!
01:12 camelia niecza v24-88-g1f87209: OUTPUT«[31m===[0mSORRY![31m===[0m��Please use !! rather than :: at /tmp/ZYbvmUexwi line 1:�------> [32m 1..9; say "D'oh!" }.map({ $_ < 5 ?? $_ [33m�[31m:: last }).say[0m��Parse failed��»
01:12 camelia ..rakudo a8ca88: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Please use !! rather than ::â�¤at /tmp/er7vzPaVgl:1â�¤------> [32m 1..9; say "D'oh!" }.map({ $_ < 5 ?? $_ [33mâ��[31m:: last }).say[0mâ�¤    expecting any of:â�¤        postfixâ�¤        infix stopperâ�¤        infix or meta-infixâ�¤Â»â€¦
01:12 timotimo hey
01:12 timotimo stop the spam :)
01:12 Ben_Goldberg ok
01:12 timotimo i have a working solution
01:12 timotimo r: sub hacky_first(@list, Mu $test) is rw { (@list.map({ $_ if $_ ~~ $test}))[0] || Nil }; say hacky_first(gather { take $_ for 1..9; say "D'oh!" }, 3);
01:12 camelia rakudo a8ca88: OUTPUT«3␤»
01:12 timotimo r: sub hacky_first(@list, Mu $test) is rw { (@list.map({ $_ if $_ ~~ $test}))[0] || Nil }; say hacky_first(gather { take $_ for 1..9; say "D'oh!" }, 99);
01:12 camelia rakudo a8ca88: OUTPUT«D'oh!␤Nil␤»
01:12 timotimo perfect!
01:13 colomon errr....
01:13 Ben_Goldberg r: sub hacky_first(@list, Mu $test) is rw { (@list.map({ $_ if $_ ~~ $test}))[0] || Nil }; say hacky_first(gather { take $_ for 1..9; say "D'oh!" }, True);
01:13 camelia rakudo a8ca88: OUTPUT«1␤»
01:13 timotimo although i think i want // instead of ||
01:13 colomon What if Any is a value in the list?
01:13 timotimo ah. can fix that, too.
01:13 colomon method first(Mu $test) is rw {
01:13 colomon my @values := self.grep($test);
01:13 colomon @values ?? @values[0] !! Nil;
01:13 colomon }
01:13 colomon (have not tried compiling, as I'm in the middle of spectesting.)
01:16 sitaktif joined #perl6
01:16 timotimo that looks better than mi.e
01:18 Ben_Goldberg rn: gather { take $_ for 1..9; say "D'oh!" }.grep({ $_ < 4 })[0].say
01:18 camelia rakudo a8ca88, niecza v24-88-g1f87209: OUTPUT«1␤»
01:18 Ben_Goldberg rn: gather { take $_ for 1..9; say "D'oh!" }.grep({ $_ > 4 })[0].say
01:18 camelia rakudo a8ca88, niecza v24-88-g1f87209: OUTPUT«5␤»
01:20 Ben_Goldberg rn: gather { take $_ for 1..9; say "D'oh!" }.for({ $_.say })
01:20 camelia niecza v24-88-g1f87209: OUTPUT«1␤2␤3␤4␤5␤6␤7␤8␤9␤D'oh!␤»
01:20 camelia ..rakudo a8ca88: OUTPUT«No such method 'for' for invocant of type 'List'␤  in block  at /tmp/VyPciQ0twd:1␤␤»
01:21 * Ben_Goldberg blinks.
01:22 Ben_Goldberg p: gather { take $_ for 1..9; say "D'oh!" }.for({ $_.say })
01:22 camelia pugs: OUTPUT«D'oh!␤*** No such method in class Array: "&for"␤    at /tmp/uCb598ild5 line 1, column 1 - line 2, column 1␤»
01:25 Ben_Goldberg rn: gather { take $_ for 1..9; say "D'oh!" }.grep({ $_ > 4 })[5].say
01:25 camelia niecza v24-88-g1f87209: OUTPUT«D'oh!␤(Any)␤»
01:25 camelia ..rakudo a8ca88: OUTPUT«D'oh!␤Nil␤»
01:26 Ben_Goldberg Which is right? Nil or (Any)?
01:27 Ben_Goldberg Smaller example:
01:27 Ben_Goldberg rn: gather { }.[0].say
01:27 camelia niecza v24-88-g1f87209: OUTPUT«(Any)␤»
01:27 camelia ..rakudo a8ca88: OUTPUT«Nil␤»
01:55 timotimo locally i now have a lazy (but only if the list is infinite) .keys method, which should make .pairs and .kv lazy
02:05 colomon joined #perl6
02:15 stevan_ joined #perl6
02:16 colomon rn: my @a; say @a[1]
02:16 camelia rakudo a8ca88, niecza v24-88-g1f87209: OUTPUT«(Any)␤»
02:31 colomon jnthn: your last checkin broke both rakudo builds.  This line: nqp::atpos(@posts, $i)(nqp::isnull($resultish, Mu));  in BOOTSTRAP.nqp is the culprit
02:38 daniel-s Is it valid BNF to use <something> | { <other> | <things> }
02:39 daniel-s That is to say it will either be 1 of <something> or a whole bunch of <other> <things>
02:44 daniel-s perl: say "test"
02:44 daniel-s rn: say "test"
02:44 camelia rakudo a8ca88, niecza v24-88-g1f87209: OUTPUT«test␤»
02:44 daniel-s rn: say "test\n"
02:44 camelia rakudo a8ca88, niecza v24-88-g1f87209: OUTPUT«test␤␤»
02:45 colomon rn: https://gist.github.com/colomon/6026323
02:45 camelia niecza v24-88-g1f87209: OUTPUT«Potential difficulties:â�¤  @uniq is declared but not used at /tmp/QJcjtbpLSt line 1:â�¤------> [32mmy [33mâ��[31m@uniq = gather for 1..10 {[0mâ�¤â�¤Â»
02:45 camelia ..rakudo a8ca88:  ( no output )
02:46 colomon jnthn: golfed fatal error from gather.t: https://gist.github.com/colomon/6026323 (jvm, works fine in parrakudo)
02:50 colomon daniel-s: http://en.wikipedia.org/wik​i/Backus%E2%80%93Naur_Form
02:53 fridim__ joined #perl6
02:56 orafu joined #perl6
03:04 JimmyZ no dalek...
03:13 FieldsaBB joined #perl6
03:15 aindilis joined #perl6
03:49 preflex_ joined #perl6
04:02 sorear o/
04:14 JimmyZ good *, sorear
04:26 abnorman joined #perl6
04:34 Psyche^ joined #perl6
04:36 dayangkun joined #perl6
04:36 PacoAir joined #perl6
04:48 birdwindupbird joined #perl6
04:55 FieldsaBB joined #perl6
05:25 FROGGS joined #perl6
05:32 Khisanth joined #perl6
05:35 SamuraiJack_ joined #perl6
05:36 dayangkun joined #perl6
05:49 moritz \o *
05:49 sorear o/
05:53 FROGGS o/
05:59 dylanwh joined #perl6
06:04 simcop2387 joined #perl6
06:18 PacoAir joined #perl6
06:26 daniel-s_ joined #perl6
06:34 domidumont joined #perl6
06:47 kaleem joined #perl6
06:47 domidumont joined #perl6
07:22 tadzik ha! it's THIS day of the month!
07:23 FROGGS compiler release day?
07:23 tadzik that's right
07:24 tadzik the shiny compiler release with an almost-there JVM support
07:30 FROGGS right :o)
07:36 lizmat and a broken build  :-(
07:36 lizmat does this always happen on compiler release day?
07:36 lizmat and good *, #perl6!  :-)
07:37 moritz \o
07:37 tadzik we have a broken build? /o\
07:37 moritz tadzik: what's the error message?
07:37 tadzik moritz: I don't have a build error
07:38 FROGGS /o\
07:38 moritz tadzik: so how is the build broken, if there's no error?
07:38 * moritz confused
07:38 FROGGS fix it! quick!
07:38 moritz in case of doubt, try reverting 62b50c02e48021cfb1444d1f156711a55e0c8c1a
07:39 tadzik lizmat | and a broken build  :-(
07:39 tadzik lizmat: do we have a broken build? :)
07:39 lizmat yes, jnthn's last commit broke things
07:40 * lizmat is verifying spectest is clean before that
07:48 lizmat clean before the last commit
07:48 lizmat moritz: so reverting 62b50c02e48021cfb1444d1f156711a55e0c8c1a is not needed
07:49 lizmat trying to fix jnthn's commit now (fat chance)
07:52 * moritz still doesn't know what the problem is
07:53 tadzik '\o maybe Black Mesa... '\o
07:54 lizmat missing pirop it seems
07:54 moritz No registered operation handler for 'p6inpre'
07:54 lizmat something got added to src/vm/jvm/Perl6/Ops.nqp that should also be added to src/vm/parrot/Perl6/Ops.nqp
07:56 lizmat adding +$ops.add_hll_pirop_mapping('perl6', 'p6inpre', 'perl6_in_checking_pre', 'v'); does not seem enough :-(
07:57 moritz lizmat: same error? or does it complain about a different op then?
07:57 FROGGS well, looks like p6inpre means something else
07:58 lizmat same error
07:58 lizmat checking src/vm/parrot/ops/perl6.ops now
08:05 lizmat seems to build now
08:07 lizmat grrr…  still same arror
08:10 moritz tadzik: if it blocks the release, simply revert the offending commit, and let jnthn++ sort it out afterwards
08:11 tadzik moritz: that's what I shall do
08:11 tadzik moritz: the release is not happening for at least next 9 hours or so
08:11 tadzik so there's a chance that it'll get fixed by Someone [tm] and we need'nt worry about it at all
08:14 lizmat https://gist.github.com/lizmat/6027613  (my work on fixing this so far)
08:14 lizmat any idea where I need to "register" p6inpre ?
08:15 moritz lizmat: looks correct to me. Did you remember to 'make install' in nqp?
08:16 FROGGS nqp?
08:17 FROGGS it is rakudo/src/vm/parrot/Perl6/Ops.nqp
08:17 lizmat trying moritz' suggestion
08:17 moritz oops
08:18 FROGGS lizmat: the added pirop looks correct for me too fwiw
08:18 lizmat moritz: still same error
08:20 moritz sadpanda
08:28 lizmat could it be I need to add the pirop at the end ?
08:28 lizmat that I messed up all the internal numbering
08:28 lizmat ?
08:29 lizmat from git blame's history, I would say not  :-(
08:30 dakkar joined #perl6
08:32 FROGGS lizmat: no, the ordering doesnt matter there
08:32 lizmat maybe I should just push these changes: if they don't work anywhere, they can be reverted just like jnthn's commit
08:34 dalek rakudo/nom: 181517b | (Elizabeth Mattijsen)++ | src/vm/parrot/ (2 files):
08:34 dalek rakudo/nom: Attempt to add missing nqp:p6inpre for parakudo.
08:34 dalek rakudo/nom:
08:34 dalek rakudo/nom: Alas, this doesn't seem to fix the problem ofi
08:34 dalek rakudo/nom: d4ffd7c21e7bed97eeeec3502299da0d1276abd4 just yet.  Please revert if blocking
08:34 dalek rakudo/nom: the compiler release.
08:34 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/181517b11f
08:36 lizmat fitness, back around 11Z &
08:39 mls joined #perl6
08:43 pupoque joined #perl6
08:43 iSlug joined #perl6
08:44 pupoque joined #perl6
09:15 donaldh joined #perl6
09:19 lelf`` joined #perl6
09:33 Ulti I'm having trouble building rakudols
09:34 FROGGS Ulti: rakudols?
09:34 Ulti sorry that was ls with mouse focus not moving away ;)
09:34 jnthn morning o/
09:34 FROGGS hi jnthn
09:34 FROGGS Ulti: yes, there is a bad commit in HEAD atm
09:34 Ulti src/gen/BOOTSTRAP.nqp complains about Operation 'isnull' requires 1 operands  in QAST.nqp:2896
09:35 Ulti FROGGS: okedoke
09:35 * jnthn is looking into it
09:36 fhelmberger joined #perl6
09:36 Ulti 98.82% o___O you guys work too hard
09:38 FROGGS moritz: is it just me or is the encâding borken here? http://irclog.perlgeek.de/​perl6/2013-03-14#i_6586765
09:39 FROGGS moritz: and the colors are not stripped/translated correctly: http://irclog.perlgeek.de/​perl6/2013-07-18#i_7340481
09:45 jnthn Pushed fix to Rakudo build, checked on Parrot and JVM.
09:45 Rotwang joined #perl6
09:45 jnthn Sorry 'bout that.
09:47 FROGGS someone should remove your commit bit :P
09:47 FROGGS hehe >.<
09:47 jnthn yeah!
09:51 * jnthn should probably do some $dayjob bits, but is looking at the donaldh++ patch instead
09:54 dalek rakudo/nom: 3ad8810 | jnthn++ | src/Perl6/ModuleLoader.nqp:
09:54 dalek rakudo/nom: Fix 'use DoesNotExist' error generation.
09:54 dalek rakudo/nom:
09:54 dalek rakudo/nom: Reported and golfed by donaldh++.
09:54 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/3ad88104ca
09:55 donaldh jnthn++
09:57 donaldh I was staring at that bit of code. I haven't grasped the difference between rakudo and nqp types yet.
09:59 donaldh Term::ANSIColor works on rakudo jvm by the way
10:02 lelf` joined #perl6
10:03 donaldh jnthn: We definitely need to rework the setting and module load paths
10:03 jnthn donaldh: I can't figure out where it's put the runner it installs...
10:04 jnthn donaldh: Seems that it has put things in install/ instead of install-jvm/ too...
10:04 donaldh jnthn: To separate JVM loading concerns (classpath) from runtime loading concerns
10:04 donaldh oh. That's the default in ConfigureJVM.pl
10:04 donaldh I didn't change that
10:04 jnthn ah...
10:04 donaldh install/bin/perl6
10:05 lelf`` joined #perl6
10:05 jnthn aha!
10:05 jnthn Well, it creates a perl6.bat there that runs it under Windows :)
10:06 jnthn So seems like progress
10:06 donaldh wheee
10:07 daxim joined #perl6
10:08 dalek rakudo/nom: 965beb5 | (Donald Hunter)++ | / (4 files):
10:08 dalek rakudo/nom: Added an install target for JVM.
10:08 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/965beb5658
10:08 dalek rakudo/nom: a1cdd7f | jnthn++ | / (4 files):
10:08 dalek rakudo/nom: Merge branch 'jvm-install-target' of git://github.com/donaldh/rakudo into nom
10:08 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/a1cdd7ffd1
10:08 jnthn donaldh: Agree things need further cleanup, but this so far is a decided improvement on "no working make install" :)
10:09 donaldh When PERL6LIB is used to configure @*INC, it clobbers the load path defined by the runner. So I'd like to use java properties for the setting path and the module home.
10:09 jnthn Makes sense.
10:10 donaldh Also, I'm guessing that the sysytem specified module path, i.e. by the runner, should always be the fallback, even when PERL6LIB is used?
10:11 jnthn I think PERL6LIB is meant to augment, yeah
10:11 donaldh certainly, that's how Perl 5 behaves :-)
10:12 jnthn Anyways, this is very nice to have in time for today's release :)
10:12 donaldh I plan to refactor the nqp install too, but people rely on it's current layout.
10:12 jnthn > 98% of tests *and* a make install :)
10:12 jnthn *nod*
10:12 donaldh What's the best way to handle the transition.
10:12 jnthn Well, a --gen-nqp could be good too...
10:12 donaldh True
10:13 donaldh And use install-jvm as the PREFIX for both?
10:13 jnthn Best way? Perhaps do it in a branch first, write up how it's changing, etc.
10:13 donaldh Yep, okay.
10:13 jnthn install-jvm is nice in so far as it lets you have a Parrot and JVM install side by side.
10:14 jnthn Without having to tweak :)
10:14 jnthn But maybe that's optimizing for the wrong use case :)
10:15 donaldh heh.
10:17 donaldh Shall we change the install target to install-jvm before anyone uses it :-)
10:17 donaldh *default*
10:27 timotimo i'm going to add lazy .kv, .first and .pairs to list for the release, too, including tests
10:27 timotimo just gimme a few minutes :)
10:28 timotimo timotimo.gimme(:minutes(*))
10:28 timotimo i thought the compiler release would happen the day after tomorrow, so i had high hopes of including the nodal branch in there, but it may be a bit tight :(
10:29 donaldh https://github.com/rakudo/rakudo/pull/182
10:30 jnthn timotimo: I think we should do that in the aug relesae
10:30 jnthn timotimo: Large changes just before the release are not so good
10:31 timotimo you're right and i am sad ;)
10:31 jnthn timotimo: Especially when they could have ecosystem fallout ;)
10:31 jnthn ;)
10:33 colomon joined #perl6
10:34 crab2313 joined #perl6
10:34 pupoque joined #perl6
10:36 timotimo wow, the tests for lazy lists are really not thorough
10:36 timotimo unless in S02-types/lazy-lists.t i'm looking at the wrong file
10:36 jnthn Clearly, they're going to be written as they are needed...
10:37 timotimo is that the right place for '(gather { take $_ for 1..9; say "D'oh!" }).first(3) does not say "D'oh!"'?
10:40 jnthn timotimo: Maybe there or in gather.t...I suspect many aspects of laziness get tested by the features that rely on it.
10:42 timotimo mhm
10:42 timotimo is it kinda-known that for tends to gobble up lists eagerly?
10:42 jnthn yeah
10:42 moritz kinda-known, yes
10:42 jnthn And on Pm's todo list, but Pm tuits are rare at the moment
10:43 timotimo good to know
10:43 timotimo workarounds in the setting are acceptable to make a few methods behave lazily properly?
10:44 hoelzro are all of the submatches in Perl6::Grammar's patterns available in Actions.pm via $/?
10:44 hoelzro I'd like to find out exactly what string <sym> matches
10:44 timotimo should be, yeah
10:44 hoelzro hmm
10:44 timotimo should even give you submatches many many levels down
10:44 hoelzro I tried adding nqp::say($/<sym>), but no dice
10:44 timotimo you want $<sym> instead, no?
10:44 hoelzro maybe?
10:44 * hoelzro tries
10:45 moritz those two are the same, really
10:45 jnthn timotimo: Depends...probably best not to pile up a load of workarounds...
10:45 * jnthn needs to do $dayjob stuff for a bit
10:46 timotimo perhaps it's a list of matches in that case?
10:46 hoelzro does .WHAT work in nqp-land?
10:47 timotimo not in the way you want it to, i think
10:49 hoelzro curses
10:54 jnthn $obj.HOW.name($obj) may help
10:55 hoelzro ah, I'll try that next!
10:56 timotimo when going to sleep last night, i was thinking about nagare, the continuation passing style web framework built upon stackless python
10:56 timotimo could running gather/takes be serialised away and later thawed and continued?
10:57 timotimo iiuc that's at the base of nagare, in their case it's having stackless python green threads block on channels so that they can be pickled to disk or database and then later restoring them
11:02 FROGGS joined #perl6
11:09 moritz I think serializing gather/takes isn't easy
11:12 colomon OMG, we haven't closed down perl6 language mailing list yet?
11:12 timotimo OK, case closed for now then :)
11:14 timotimo it seems a bad idea to replace list's "keys" method from (0..self.end).list with (0, 1 ... { !self.exists($^idx) }) in the general case, should i guard it with .definite or something?
11:14 rindolf joined #perl6
11:14 pupoque joined #perl6
11:16 timotimo maybe i could build something like (0..self.end-of-reified-part) concatenated with (end-of-reified-part, * + 1 ... { !self.exists($^idx) })
11:17 timotimo "significant subsets of the set specification" *snrk* :)
11:18 colomon moritz++ is more polite than I would have been
11:20 tadzik I hate to have to do this folks, but can someone take over the release today from me?
11:20 tadzik I'm having a surprise trip to Oslo
11:21 moritz I can try
11:21 moritz worst case: it happens tomorrow
11:21 tadzik that'd be awesome. I can't guarantee any time from me in the next 7 days, basically
11:21 FROGGS tadzik: how comes you are going to oslo?
11:22 tadzik FROGGS: I'll tell you, but that involves a lot of swear words and probably an NDA violation
11:22 * moritz fears the worst for tadzik
11:22 tadzik long story short, the company's sending me
11:23 timotimo i wish you a good time nevertheless!
11:23 tadzik I'll try to get some :)
11:23 timotimo sad to see you and your piano torn apart so quickly again :(
11:23 tadzik yeah
11:23 tadzik the current record is two days in a row
11:24 moritz united or divided?
11:24 tadzik united
11:28 nwc10 tadzik: do oslo.pm know yet? :-)
11:28 nwc10 I'm sure they can take you out for an evening to let off steam.
11:28 * lizmat seems to recall merlyn going there soonish as well
11:29 lizmat or was that London.pm only?
11:30 tadzik nwc10: I'm not sure I'll have a free evening :)
11:30 moritz I recall something about merlyn traveling the Norwegian coast
11:30 nwc10 tadzik: that on its own sounds like a reason for swearing :-(
11:35 jnthn hugme: hug tadzik
11:35 * hugme hugs tadzik
11:36 * moritz wonders if hugme should randomly ask "why don't you hug tadzik yourself? are you shy?"
11:38 * donaldh is reminded of a cartoon of Wally sitting drunk in a bar, saying 'Nobody asks how's Wally?'
11:38 * timotimo saw that one
11:39 iSlug joined #perl6
11:41 census joined #perl6
11:44 timotimo https://gist.github.com/ano​nymous/a9bf644318b068262734  -  pls2apply; it passes all the spectests
11:46 pupoque joined #perl6
11:58 dalek rakudo/nom: 56fad03 | (Timo Paulssen)++ | src/core/Any.pm:
11:58 dalek rakudo/nom: lazy implementation of List.first. colomon++
11:58 dalek rakudo/nom:
11:58 dalek rakudo/nom: Signed-off-by: Moritz Lenz <moritz@faui2k3.org>
11:58 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/56fad03b58
11:58 timotimo now it went through 3 people! :D
12:00 Ulti wait if you guys want a hug bot I made an automatic one in perl6 ;)
12:01 Ulti https://github.com/MattOates/Te​xt--Emotion/blob/master/emobot well it could be hacked to tell hugme to give someone a hug anyway
12:07 kaleem joined #perl6
12:07 stevan_ joined #perl6
12:09 amkrankruleuen joined #perl6
12:09 amkrankruleuen joined #perl6
12:29 GlitchMr prn: my $x = 42; $x = ++$x + $x++; say $x
12:29 camelia rakudo 56fad0, pugs: OUTPUT«86␤»
12:29 camelia ..niecza v24-88-g1f87209: OUTPUT«87␤»
12:30 GlitchMr Sounds like undefined behavior without warning or anything.
12:30 GlitchMr prn: my $x = 42; $x = $x++ + ++$x; say $x
12:30 camelia rakudo 56fad0, niecza v24-88-g1f87209, pugs: OUTPUT«86␤»
12:31 benabik joined #perl6
12:33 FROGGS I think niecza is right
12:33 GlitchMr Yeah, I think that too.
12:33 FROGGS this would agree with Perl 5 fwiw
12:34 GlitchMr But, wasn't ++ undefined in Perl?
12:34 FROGGS how can it be undefined?
12:36 FROGGS prn: my $x = 42; $x = $x++-++$x; say $x # sad that infix + isnt working here
12:36 camelia rakudo 56fad0, niecza v24-88-g1f87209, pugs: OUTPUT«-2␤»
12:36 rindolf joined #perl6
12:37 FROGGS now that is weird:
12:37 FROGGS perl -E 'my $x = 42; $x = ++$x + ++$x; say $x'
12:37 FROGGS 88
12:37 FROGGS rnp: my $x = 42; $x = ++$x + ++$x; say $x
12:37 camelia niecza v24-88-g1f87209: OUTPUT«88␤»
12:37 camelia ..rakudo 56fad0, pugs: OUTPUT«87␤»
12:38 FROGGS well, okay, I understand how that works
12:40 GlitchMr FROGGS: http://perldoc.perl.org/perlop.html​#Auto-increment-and-Auto-decrement
12:42 FROGGS ahh, k, thanks
12:42 benabik joined #perl6
12:44 Ulti print ++($foo = "zz"); # prints "aaa"    <--- wat
12:44 GlitchMr Ulti: everything is fine.
12:44 GlitchMr This is a feature.
12:45 Ulti I had no idea the ++ operator in Perl5 even had that behaviour
12:45 Ulti :3
12:45 GlitchMr In Perl 5, it was broken, but yes.
12:45 GlitchMr Broken, as in, sometimes it does work, sometimes not.
12:46 Ulti if you do ++ on any punctuation you get 1 too
12:46 GlitchMr glitchmr@feather ~> perl -E 'my $foo = "zz"; say ++$foo; my $bar = "zz"; $bar + 0; say ++$bar'
12:46 GlitchMr aaa
12:46 GlitchMr 1
12:47 GlitchMr Yeah, $bar + 0 causes the feature to break.
12:48 Ulti I'd love to know what modules on CPAN rely on that :)
12:49 GlitchMr JSON
12:50 Ulti really?!
12:50 GlitchMr glitchmr@feather ~> perl -MJSON -E'my $foo = 0; say encode_json [$foo]; $foo . ""; say encode_json [$foo]'
12:50 GlitchMr [0]
12:50 GlitchMr ["0"]
12:50 GlitchMr Well, actually JSON accesses Perl internals
12:50 GlitchMr But still
12:51 GlitchMr Also, bitwise operators.
12:52 colomon joined #perl6
12:52 GlitchMr This only applies to Perl 5. Perl 6 doesn't have such strange behavior anywhere.
12:52 colomon GlitchMr: huh?  that's not a bug.  when you say $bar + 0, $bar gets a numeric value (for the addition).  and ++ prefers the numeric value over the string value.  That's basic perl 5
12:53 GlitchMr colomon: of course it's not a bug.
12:53 GlitchMr But it's still strange.
12:53 GlitchMr (then again, that depends on the meaning of "bug")
12:55 GlitchMr Still, it's better to not depend on such behavior, and use += 0, or something instead (so it would be noticeable that variable was modified).
12:57 Ulti there are plenty of other oddball things in Perl5 its just I had no idea ++ would act that way on strings, mostly the overflow is really unexpected (by me)
12:58 FROGGS and it is unexpected to me because I never use such things
12:59 sqirrel joined #perl6
12:59 GlitchMr Spreadsheets do it that way.
12:59 GlitchMr After Z, you have AA.
12:59 Ulti also I'd sort of expect zz to maybe go to AA rather than wrap to aa
12:59 GlitchMr Nothing strange.
13:01 Ulti apart from its case sensitive and why would I expect it acts like a spreadsheet rather than the ordinal value of each character increase by one so 'zz' going to '{{'
13:01 Ulti though how it does work is a lot more useful
13:01 GlitchMr After 'yz' you have 'za'.
13:01 hoelzro apparently $/ does not contain a 'sym' key =(
13:02 GlitchMr You probably wouldn't want 'y{' or something.
13:02 hoelzro (when processing a regex decl)
13:02 GlitchMr rnp: say "{'yz'.succ} {'zz'.succ}"
13:02 camelia pugs: OUTPUT«*** No such method in class Str: "&succ"␤    at /tmp/5meqTynwHH line 1, column 7-16␤»
13:02 camelia ..rakudo 56fad0, niecza v24-88-g1f87209: OUTPUT«za aaa␤»
13:03 GlitchMr (I through that pugs has .succ... looks like I was wrong, not that it matters)
13:06 konundra joined #perl6
13:08 kaleem_ joined #perl6
13:09 FROGGS hoelzro: it does usually
13:14 [Coke] p: say 3.succ
13:14 camelia pugs: OUTPUT«*** No such method in class Int: "&succ"␤    at /tmp/asBV_Cm6l8 line 1, column 5 - line 2, column 1␤»
13:15 [particle]1 joined #perl6
13:17 hoelzro make $<...>.ast grabs the current AST and designates it as the result of the given action, right?
13:17 hoelzro am I understanding this correctly?
13:19 bluescreen10 joined #perl6
13:20 FROGGS nr: grammar Test { proto token TOP {*}; token TOP:sym<bla> { <sym> } }; say Test.parse("bla")
13:20 camelia niecza v24-88-g1f87209: OUTPUT«「bla」␤␤»
13:20 camelia ..rakudo 56fad0: OUTPUT«「bla」␤ sym => 「bla」␤␤»
13:21 FROGGS hoelzro: right
13:22 kaare__ joined #perl6
13:27 rindolf joined #perl6
13:31 hoelzro ok, found it
13:31 hoelzro $*METHODTYPE
13:41 ecocode joined #perl6
13:43 ajr joined #perl6
13:44 notjack joined #perl6
13:46 xilo joined #perl6
13:58 JimmyZ rnp: my $x = 42; $x = ++$x + ++$x; say $x # known bug?
13:59 camelia niecza v24-88-g1f87209: OUTPUT«88␤»
13:59 camelia ..rakudo 56fad0, pugs: OUTPUT«87␤»
13:59 lelf joined #perl6
14:01 FROGGS JimmyZ: might be no bug at all
14:01 JimmyZ why?
14:02 notjack I think niecza has it right, and rakudo wrong
14:02 notjack both ++s should happen before the sum
14:02 FROGGS is it specced how it should behave when having two incr/decr in the same statement?
14:02 skids joined #perl6
14:02 FROGGS Perl 5 says the result is undefined, dunno what our specs say
14:03 FROGGS notjack: the ++'s are happending before the sum
14:03 JimmyZ how could niecza be 88?
14:03 FROGGS JimmyZ: think of $x as references
14:03 FROGGS a *reference
14:04 gfldex i'm failing to build rakudo: Error: Could not find or load main class perl6
14:04 * JimmyZ can't image
14:04 gfldex any leads?
14:04 colomon joined #perl6
14:05 FROGGS it does: ++42, then the right side is 43, it does ++ on it then $x is 44, then it does 44 + 44
14:05 timotimo gfldex: did you run the configuration step very recently?
14:06 FROGGS and rakudo treats it a bit like values, so it is 43 when incrementing it on the right side, and then it does 43 + 44
14:06 JimmyZ FROGGS: that's crazy
14:06 gfldex i did rm -r rakudo, so yes
14:06 timotimo hm, okay
14:06 FROGGS JimmyZ: that's why it is undefined in Perl 5 :o)
14:06 notjack FROGGS: yes, it is, and I think that's correct
14:06 rindolf joined #perl6
14:06 timotimo i'll try to build it here
14:06 [Coke] "why would you expect code like that to do anything sane"
14:06 xilo joined #perl6
14:07 FROGGS "why would one expect my code to do anything sane"
14:07 JimmyZ that's not DWIMish
14:07 FROGGS :D
14:07 timotimo gfldex: did you make install, too?
14:08 gfldex i believe so, will test
14:08 JimmyZ TimToady: ^^
14:08 FROGGS niecza feels a bit more right IMO
14:08 gfldex timotimo: didn't change anything
14:08 timotimo huh. i'm building it now, going to see what's going on
14:09 JimmyZ rnp: my int $x = 42; $x = ++$x + ++$x; say $x
14:09 camelia niecza v24-88-g1f87209: OUTPUT«[31m===[0mSORRY![31m===[0m��Malformed my at /tmp/ImME6dE_dw line 1:�------> [32mmy[33m�[31m int $x = 42; $x = ++$x + ++$x; say $x[0m��Parse failed��»
14:09 camelia ..pugs: OUTPUT«87␤»
14:09 camelia ..rakudo 56fad0: OUTPUT«Cannot modify an immutable value␤  in sub prefix:<++> at src/gen/CORE.setting:3617␤  in sub prefix:<++> at src/gen/CORE.setting:2065␤  in block  at /tmp/mcXFD6idSN:1␤␤»
14:09 timotimo JimmyZ: ++ is NYI for native integers ;_;
14:09 JimmyZ pugs: ...
14:09 camelia pugs: OUTPUT«*** Cannot use this control structure outside a 'routine' structure␤    at /tmp/VZBUUaBAoO line 1, column 1 - line 2, column 1␤»
14:10 JimmyZ FROGGS: if you use 'my int $x = 42', you won't think niecza is right
14:10 timotimo gfldex: cannot reproduce; what are your exact steps?
14:11 timotimo and checked out version of nqp and rakudo? JVM version?
14:11 timotimo oh
14:11 FROGGS JimmyZ: I dont get the connection
14:11 timotimo more importantly: what binary are you using? install-jvm/bin/perl6?
14:11 gfldex timotimo: solved, i have a bad symlink somewhere in $PATH
14:11 timotimo ah! that's annoying! :)
14:12 JimmyZ FROGGS: native int is not reference
14:12 gfldex well, i think
14:12 FROGGS JimmyZ: hmmm, okay
14:13 FROGGS as long as I can do that I'm happy: if --$x && do-something($x) {
14:14 notjack perl6: say 5 if 4>3 if 2>1;
14:14 camelia rakudo 56fad0: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Confusedâ�¤at /tmp/37QRlgTtuu:1â�¤------> [32msay 5 if 4>3 [33mâ��[31mif 2>1;[0mâ�¤    expecting any of:â�¤        postfixâ�¤Â»
14:14 camelia ..niecza v24-88-g1f87209: OUTPUT«[31m===[0mSORRY![31m===[0m��Two terms in a row at /tmp/WJ1WkeyRzk line 1:�------> [32msay 5 if 4>3 [33m�[31mif 2>1;[0m��Parse failed��»
14:14 * JimmyZ is waiting for someone to fix assign op in MoarVM :)
14:14 FROGGS whoever does ++$x + $x++ has other major problems I suppose
14:14 gfldex odd, somehow the jakudo perl6 script file (the one that tells java what class to load) ended up in /usr/local/bin/
14:14 notjack perl6: say 5 if 4>3;
14:14 camelia rakudo 56fad0, niecza v24-88-g1f87209: OUTPUT«5␤»
14:15 timotimo gfldex: how did that happen? on my end, nothing in the output of make install seems to point at something like that
14:15 FROGGS perl6: say 5 if 4>3 for 2>1
14:15 camelia rakudo 56fad0, niecza v24-88-g1f87209: OUTPUT«5␤»
14:15 gfldex i tried jakudo two days before and i may have cp where i should have ln
14:18 timotimo may be, yeah
14:18 * timotimo is looking forward to the naysayers downplaying the success of getting rakudo onto the jvm so far.
14:19 notjack perl6: say 5 for 4>3 for 3>2;
14:19 camelia rakudo 56fad0: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Confusedâ�¤at /tmp/LB0XPKGUGA:1â�¤------> [32msay 5 for 4>3 [33mâ��[31mfor 3>2;[0mâ�¤    expecting any of:â�¤        postfixâ�¤Â»
14:19 camelia ..niecza v24-88-g1f87209: OUTPUT«[31m===[0mSORRY![31m===[0m��Two terms in a row at /tmp/BHNLWL5ryS line 1:�------> [32msay 5 for 4>3 [33m�[31mfor 3>2;[0m��Parse failed��»
14:19 notjack damn you perl6, I want confusingly nested postfix conditionals and I want them now
14:19 timotimo r: (say 5 if 4 > 3) if 5 > 4
14:19 camelia rakudo 56fad0: OUTPUT«5␤»
14:20 timotimo newline.rakudo.jvm: 2 todo tests unexpectedly succeeded
14:20 notjack say 2>1 ?? 4>3 ?? 5;
14:21 notjack nr: say 2>1 ?? 4>3 ?? 5;
14:21 camelia niecza v24-88-g1f87209: OUTPUT«[31m===[0mSORRY![31m===[0m��Found ?? but no !! at /tmp/xakC0EE4qk line 1:�------> [32msay 2>1 ?? 4>3 ?? 5[33m�[31m;[0m��Confused at /tmp/xakC0EE4qk line 1:�------> [32msay 2>1 ?? 4>3 ?? 5[33m�[31m;[0m��Parse failed��»
14:21 camelia ..rakudo 56fad0: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Found ?? but no !!â�¤at /tmp/ZxPrqb0kRX:1â�¤------> [32msay 2>1 ?? 4>3 ?? 5[33mâ��[31m;[0mâ�¤Confusedâ�¤at /tmp/ZxPrqb0kRX:1â�¤------> [32msay 2>1 ?? 4>3 ?? 5[33mâ��[31m;[0mâ�¤    expecting any of:â�¤        postfixâ�¤â�¤Â»
14:21 notjack nr: say 2>1 ?? 4>3 ?? 5 !! 'boo' !! 'hoo';
14:21 camelia rakudo 56fad0, niecza v24-88-g1f87209: OUTPUT«5␤»
14:21 timotimo i shall unfudge.
14:23 pupoque joined #perl6
14:25 jnthn timotimo: (unfudge) be wary, they may be bogus...there are two fails there too :)
14:27 timotimo oh, hm.
14:27 timotimo probably are, yeah
14:33 kingbeast joined #perl6
14:39 [Coke] r: say 25922 / 26184
14:39 camelia rakudo 56fad0: OUTPUT«0.989994␤»
14:40 jnthn [Coke]: Is that the current standing?
14:40 [Coke] r: say 25923 / 26184
14:40 camelia rakudo 56fad0: OUTPUT«0.990032␤»
14:40 [Coke] jnthn: just did a run, aye.
14:40 [Coke] the first one. the second is where you want to be before the release. ;)
14:40 jnthn argh, off by one test! :P
14:40 [Coke] that might be accomplished by judicious fudging of aborting tests.
14:41 timotimo there's a test in sink that succeeds on jvm and is todo on parrot
14:41 timotimo regarding nested temps
14:42 timotimo or rather recursive temps
14:42 donaldh Just looking at resurrecting CUSTOM_LIB on JVM. It's needed by panda
14:42 timotimo not in sink. in S04-blocks-and-statements/temp.t
14:42 [Coke] jnthn: might also be able to unskip some tests, not sure what you've fixed.
14:43 donaldh It's prefix is $VM<config><libdir> on parrot. Is that install-jvm/languages/perl6/lib for us?
14:43 donaldh s/us/jvm/
14:44 colomon joined #perl6
14:56 robinsmidsrod joined #perl6
15:09 notjack I'm trying to use Padre as a p6 IDE.
15:10 notjack When I set View Document As>Perl 6 and hit "run", I get "no execution mode defined for ... perl6"
15:10 notjack but I can't seem to find anywhere where I an associate execution modes with interpreters
15:10 notjack or anything to that effect
15:10 notjack ideas?
15:11 moritz maybe ask in #padre?
15:11 notjack yeah, just /j'd there
15:22 bluescreen100 joined #perl6
15:30 timotimo do "unexpectedly passing TODO" tests count towards the number of passed tests in the summary?
15:30 * moritz would hope so, since they passed
15:31 timotimo hm, i was going to write one or two tests for lazy .first, probably also lazy .grep and .map. maybe that'll get us above 90% ;)
15:32 timotimo are gather/take using tests acceptable in S02-types/lazy-list.t?
15:32 timotimo i think they would be, but what do i know?
15:32 * jnthn is taking a break from $dayjob to see if he can get us a couple more...
15:40 timotimo oh!
15:41 timotimo the lazy-list test file isn't even in spectest.data and also doesn't run correctly.
15:41 timotimo r: say (1..Inf).shift
15:41 camelia rakudo 56fad0: OUTPUT«No such method 'shift' for invocant of type 'Range'␤  in block  at /tmp/W0gLwtJtn6:1␤␤»
15:41 timotimo this is a wrong test, yes?
15:42 dalek rakudo/nom: 98911a5 | moritz++ | docs/ChangeLog:
15:42 dalek rakudo/nom: update changelog
15:42 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/98911a55fe
15:42 moritz timotimo: yes
15:42 lelf` joined #perl6
15:42 moritz if you think I missed interesting stuff in the changelog, please tell me
15:43 timotimo r: my @a = 1, 2, 3; @a[1].delete # this should be :delete, yes?
15:43 camelia rakudo 56fad0: OUTPUT«No such method 'delete' for invocant of type 'Int'␤  in block  at /tmp/fLAgrR7JeJ:1␤␤»
15:43 timotimo r: my @a = 1, 2, 3; @a[1]:delete
15:43 camelia rakudo 56fad0:  ( no output )
15:43 timotimo r: my @a = 1, 2, 3; @a[1]:delete; say @a;
15:43 camelia rakudo 56fad0: OUTPUT«1 2 3␤»
15:43 timotimo hum, apparently not.
15:45 notjack r: say (1,2,3).delete(1);
15:45 camelia rakudo 56fad0: OUTPUT«No such method 'delete' for invocant of type 'Parcel'␤  in block  at /tmp/foOU1FiT5L:1␤␤»
15:45 timotimo wow, this test assigns 1000000 elements to a list and that's supposed to work? is list assignment supposed to be lazy!?
15:45 timotimo maybe with binding it could be
15:46 timotimo my @a = 1, 2, 3; @a.delete(1); say @a;
15:46 timotimo r: my @a = 1, 2, 3; @a.delete(1); say @a;
15:46 camelia rakudo 56fad0: OUTPUT«1 Nil 3␤»
15:46 timotimo ah, so that's how it works now.
15:47 timotimo r: my @a := 1..*; @a.delete(1); say @a[^5];
15:47 camelia rakudo 56fad0: OUTPUT«No such method 'delete' for invocant of type 'Range'␤  in block  at /tmp/m0_6wxbRX8:1␤␤»
15:47 timotimo r: my @a := 1...*; @a.delete(1); say @a[^5];
15:47 camelia rakudo 56fad0: OUTPUT«No such method 'delete' for invocant of type 'List'␤  in block  at /tmp/XnQPIbtgZU:1␤␤»
15:47 timotimo hum. only for arrays then?
15:47 timotimo r: say (1..Inf).pop;
15:47 camelia rakudo 56fad0: OUTPUT«No such method 'pop' for invocant of type 'Range'␤  in block  at /tmp/MVm1b7VJux:1␤␤»
15:47 timotimo r: say (1...Inf).pop;
15:47 camelia rakudo 56fad0: OUTPUT«Cannot .pop from an infinite list␤  in method gist at src/gen/CORE.setting:10542␤  in method gist at src/gen/CORE.setting:915␤  in sub say at src/gen/CORE.setting:11436␤  in block  at /tmp/egZ3cGFope:1␤␤»
15:48 timotimo r: say (1..Inf).list.pop;
15:48 camelia rakudo 56fad0: OUTPUT«Cannot .pop from an infinite list␤  in method gist at src/gen/CORE.setting:10542␤  in method gist at src/gen/CORE.setting:915␤  in sub say at src/gen/CORE.setting:11436␤  in block  at /tmp/5SULvQkrSL:1␤␤»
15:48 timotimo i wonder why i don't get that error here.
15:48 notjack r: say (1..Inf).push(1);
15:48 camelia rakudo 56fad0: OUTPUT«Cannot call 'push'; none of these signatures match:␤:(Any:U \SELF: *@values, Mu *%_)␤  in method push at src/gen/CORE.setting:1475␤  in block  at /tmp/Fi0rOyI_4G:1␤␤»
15:48 colomon r: say (1..10).pop
15:48 camelia rakudo 56fad0: OUTPUT«No such method 'pop' for invocant of type 'Range'␤  in block  at /tmp/rXdci0rAO0:1␤␤»
15:48 colomon r: say (1..10).list.pop
15:48 camelia rakudo 56fad0: OUTPUT«10␤»
15:50 nebuchadnezzar joined #perl6
15:53 notjack r: say (1,(2,3,(4,5)))[1].WHAT;
15:53 camelia rakudo 56fad0: OUTPUT«(Int)␤»
15:53 notjack r: say (1,(2,3,(4,5))).WHAT;
15:53 camelia rakudo 56fad0: OUTPUT«(Parcel)␤»
15:53 notjack shouldn't [1] be List (or something List-y)?
15:53 dalek roast: 51ebe45 | (Timo Paulssen)++ | S02-types/lazy-lists.t:
15:53 dalek roast: lazy-lists.t updated, new tests: first, grep, X, Z
15:53 dalek roast: review: https://github.com/perl6/roast/commit/51ebe45ee1
15:53 timotimo this test file needs to be included in spectest.data now if you want to run it
15:54 notjack oh, I see, (Int) means list-of-Int
15:54 timotimo no, it doesn't
15:54 timotimo it means "undefined value of type Int"
15:55 notjack I'd expect (1,(2,3,(4,5)))[1] to be (2,3,(4,5)) and so .WHAT would say List, one way or another
15:55 TimToady me too
15:55 timotimo parcels flatten, don't they?
15:56 TimToady oh, wait, rakudo flattens parcels
15:56 timotimo r: say (1, (2, 3, (4, 5) ) )[1]
15:56 camelia rakudo 56fad0: OUTPUT«2␤»
15:56 timotimo r: say (1, (2, 3, (4, 5) ) )[2]
15:56 camelia rakudo 56fad0: OUTPUT«3␤»
15:56 timotimo r: say (1, (2, 3, (4, 5) ) )[3]
15:56 camelia rakudo 56fad0: OUTPUT«4␤»
15:56 timotimo r: say (1, (2, 3, (4, 5) ) ).tree[1]
15:56 camelia rakudo 56fad0: OUTPUT«2 3 4 5␤»
15:56 notjack that doesn't make sense to me
15:56 timotimo r: say (1, (2, 3, (4, 5) ) ).tree[1].perl
15:56 camelia rakudo 56fad0: OUTPUT«$(2, 3, (4, 5))␤»
15:56 jnthn Parcels are flattened lazily
15:56 * timotimo is just an innocent bystander
15:56 TimToady I think we defined some other method for pulling raw args out of a parcel by position
15:56 jnthn Depending on context
15:56 jnthn And subscripting is a context that flattens
15:57 notjack hmm
15:57 timotimo r: say (1, (2, 3, (4, 5) ) ).flattens
15:57 camelia rakudo 56fad0: OUTPUT«No such method 'flattens' for invocant of type 'Parcel'␤  in block  at /tmp/cBAZXlNZVO:1␤␤»
15:57 timotimo mhm
15:58 notjack r: say (1,2,(:a<b>,(foo=>bar, hex=>sept),99))[1];
15:58 camelia rakudo 56fad0: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Undeclared routines:â�¤    bar used at line 1. Did you mean '&bag'?â�¤    sept used at line 1. Did you mean '&set'?â�¤â�¤Â»
15:58 notjack r: say (1,2,(:a<b>,('foo'=>'bar', 'hex'=>'sept'),99))[1];
15:58 camelia rakudo 56fad0: OUTPUT«2␤»
15:58 notjack r: say (1,2,(:a<b>,('foo'=>'bar', 'hex'=>'sept'),99))[2];
15:58 camelia rakudo 56fad0: OUTPUT«"a" => "b"␤»
15:58 notjack weird
15:59 pmichaud joined #perl6
15:59 timotimo weird how?
15:59 timotimo that seems somewhat expected given the knowledge that parcels flatten
15:59 notjack yes; it's the flattening I find weird
15:59 TimToady r: say (1,(2,3,(4,5))).arg(1)
15:59 camelia rakudo 56fad0: OUTPUT«No such method 'arg' for invocant of type 'Parcel'␤  in block  at /tmp/nNmeFb80R9:1␤␤»
15:59 TimToady NYI I guess
15:59 notjack I mean, it kinda-sorta makes sense for homogeneous lists
15:59 TimToady S07:69
15:59 synopsebot Link: http://perlcabal.org/syn/S07.html#line_69
15:59 pmichaud Parcels flatten in flattening contexts.
15:59 notjack but lists with complex, intricate structure...
16:00 notjack weird to flatten them
16:00 TimToady a parcel isn't a list yet
16:00 * pmichaud suspects he needs to read backscroll
16:00 notjack but it quacks like a list
16:00 diakopter pmichaud: heh.. but how far back... ;)
16:01 notjack r: my List ducky=(1,2,(:a<b>,('foo'=>'bar', 'hex'=>'sept'),99)); say @ducky[2];
16:01 camelia rakudo 56fad0: OUTPUT«[31m===[0mSORRY![31m===[0m�Type 'List' is not declared�at /tmp/MwTnJ_gVAE:1�------> [32mmy List [33m�[31mducky=(1,2,(:a<b>,('foo'=>'bar', 'hex'=>[0m�Malformed my�at /tmp/MwTnJ_gVAE:1�------> [32mmy List [33m�[31mducky=(1,2,(:a<b>,('foo'=>'bar', 'hex'=>[…
16:02 timotimo moritz: if you're desparate for changelog entries, you can mention my pod6 parsing improvements - not that many people seem to be using the formatting codes anyway :P
16:02 timotimo afk&
16:02 notjack I always forget my sigils
16:03 jnthn o/ pmichaud :)
16:03 pmichaud o/ jnthn
16:04 pmichaud jnthn++   # excellent interview articles
16:04 jnthn :)
16:04 FROGGS hi pmichaud
16:05 rindolf joined #perl6
16:05 colomon pmichaud!  \o/
16:06 domidumont joined #perl6
16:11 jnthn Got a parametric role type-checking fix that should win at least a couple of tests.
16:11 jnthn Possibly many of the left-over failures in S14-roles, if we're lucky.
16:12 colomon \o/
16:12 abnorman joined #perl6
16:13 pecastro_ joined #perl6
16:14 [Coke] jnthn: have you committed yet?
16:14 [Coke] roast version already set, but I can hold off a minute before kicking off the jvm run.
16:14 jnthn [Coke]: No, I really should test this locally first.
16:14 jnthn [Coke]: I can push it in 10 mins or so. Is that soon enough?
16:15 [Coke] Sure. I'm heading out to lunch, I'll kick it off when I return.
16:15 jnthn ok
16:15 jnthn If it works out I'll want to do some unfudging anyways...
16:21 jnthn S14-roles/parameter-subtyping.t failures are gone, and S14-roles/parameterized-type.t now runs as on Parrot.
16:21 timotimo jnthn: will adding S02-types/lazy-lists.t make a cameo? :)
16:21 timotimo hey, that sounds great! :)
16:24 jnthn Also found I could unfudge all but 1 of the Rakudo JVM regressions in S06-multi/type-based.t. :)
16:26 timotimo sounds like 99% passing tests are secured :)
16:27 SamuraiJack joined #perl6
16:28 jnthn So long as I ain't busted anything :)
16:28 sqirrel joined #perl6
16:35 FROGGS joined #perl6
16:38 cbk joined #perl6
16:41 dalek nqp: 4f1edcc | jnthn++ | src/vm/jvm/runtime/org/perl6/nqp/runtime/Ops.java:
16:41 dalek nqp: Fix failure to reach type_accepts type check mode.
16:41 dalek nqp:
16:41 dalek nqp: This was behind various of the parametric roles failures in Rakudo.
16:41 dalek nqp: review: https://github.com/perl6/nqp/commit/4f1edcc929
16:42 jnthn Seems it gets rid of our final failure in S12 too
16:43 jnthn [Coke]: OK, got for it when you're ready :)
16:43 jnthn oh, wait...
16:43 dalek roast: f0abac5 | jnthn++ | S (2 files):
16:43 dalek roast: Rakudo unfudging for JVM.
16:43 dalek roast: review: https://github.com/perl6/roast/commit/f0abac5c73
16:43 jnthn OK, now :)
16:43 timotimo hey
16:44 timotimo add the lazy-lists.t file before pretty please?
16:44 jnthn ?
16:44 mls joined #perl6
16:44 timotimo it's been around, but wrong and not in the spectest.data, but i freshened it up and added a few tests. it's in S02-types/
16:45 Rotwang joined #perl6
16:46 lelf` joined #perl6
16:46 dalek rakudo/nom: 6034340 | jnthn++ | t/spectest.data:
16:46 dalek rakudo/nom: Run S02-types/lazy-lists.t.
16:46 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/6034340615
16:46 benabik joined #perl6
16:48 jnthn timotimo: What should ChangeLog say on the Pod stuff you did?
16:48 lelf`` joined #perl6
16:48 timotimo \o/
16:49 timotimo i was only half serious about it, but let me review the pullrequest closely
16:50 timotimo the first part is properly parsing formattingcodes with bracketing other than <>, like multiple < as well as «
16:50 timotimo the second part is allowing POD_TO_TEXT_ANSI to be set in the environment and getting somewhat formatted output from Pod::To::Text
16:57 timotimo so maybe: "Pod formattingcodes are now properly parsed and rendered in Pod::To::Text with POD_TO_TEXT_ANSI=1" or something like that?
16:58 hoelzro whoa, GH really changed their pull request UI
16:58 FieldsaBB joined #perl6
16:59 dalek rakudo/nom: fe792fd | jnthn++ | docs/ChangeLog:
16:59 dalek rakudo/nom: Many more ChangeLog entries.
16:59 dalek rakudo/nom:
16:59 dalek rakudo/nom: We got quite a lot done this month besides the JVM backend.
16:59 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/fe792fdf37
17:00 timotimo good catches! :)
17:05 jnthn Don't want folks thinking we're slacking off making Rakudo generally more awesome while we do the JVM port :)
17:06 kaare__ joined #perl6
17:16 araujo joined #perl6
17:20 sqirrel joined #perl6
17:21 * [Coke] returns from finding some lamb saag. ZOMGYUM.
17:22 lelf joined #perl6
17:22 * [Coke] will re-kick off today's full run, to catch last minute roast changes.
17:23 timotimo \o/
17:30 daxim_ joined #perl6
17:32 lelf` joined #perl6
17:33 Ulti hoelzro: perhaps in response to the comments Linus Torvalds made?
17:34 perigrin Ulti: I don't think so, I think they've just been doing a lot of UI overhauls.
17:35 colomon pretty sure we broke 99% with that last patch.  :)
17:37 colomon jnthn, sorear: I'm pretty sure it will take one of you guys to sort out this one: https://gist.github.com/colomon/6026323
17:39 * jnthn votes sorear++ :D
17:42 cxreg joined #perl6
17:43 colomon jnthn: sometime when you've got a few minutes, I'd like to discuss the next steps for sprintf.  but no rush, I should be $working now...
17:43 cxreg joined #perl6
17:45 abnorman joined #perl6
17:45 spider-mario joined #perl6
17:47 spider-mario joined #perl6
17:52 ribasushi joined #perl6
17:52 census joined #perl6
17:54 ajr joined #perl6
18:02 lelf`` joined #perl6
18:10 [Coke] tadzik: you still planning to release the compiler today?
18:11 colomon [Coke]: tadzik asked moritz++ to take over for him today
18:12 [Coke] hokay. hopefully the daily run will finish in advance.
18:14 kaleem joined #perl6
18:18 lizmat re: https://github.com/rakudo/rakudo/commit/56fad03b58  : why would one use "first" instead of "grep" ?
18:18 lizmat afaik in the Perl5 world, "first" is guaranteed to retuirn *on* first match, not returning the first match after having tried everything
18:19 lizmat in other words: that commit feels *wrong* to me
18:21 [Coke] lizmat: I also think it doesn't feel right, but it does fix the "first needs to be lazy" bug.
18:25 lizmat r: my @a=1,2,3; say first( {@a[$_]++}, ^3 ); say @a  # hmmm…  seems this *is* lazy
18:25 camelia rakudo fe792f: OUTPUT«0␤2 2 3␤»
18:25 colomon lizmat: grep is lazy
18:25 [Coke] is this r running post-that commit?
18:26 colomon lizmat: that patch (at least in theory) carefully asks for only the first element returned by grep
18:27 colomon r: say (1000..*).first(*.is_prime)
18:27 camelia rakudo fe792f: OUTPUT«No such method 'is_prime' for invocant of type 'Int'␤  in block  at /tmp/1iB9bXjTFg:1␤␤»
18:27 lizmat [Coke]: it returns the same result as I have here *with* that commit
18:27 colomon r: say (1000..*).first(*.is-prime)
18:27 camelia rakudo fe792f: OUTPUT«1009␤»
18:28 colomon [Coke]: yes, that's latest rakudo there
18:29 colomon r: say (1000...*).first(*.is-prime)
18:29 timotimo lizmat: i wrote tests to make sure that this implementation of .first will return on the first match and not try any more things
18:29 camelia rakudo fe792f: OUTPUT«1009␤»
18:29 timotimo i also wrote tests to make sure that grep is lazy as well :)
18:30 * lizmat realizes she still doesn't quite grok laziness yet
18:32 colomon it's possible that's not a long term solution, if someone modifies grep to lazily return answers in batches instead of one at a time.  (timotimo++ for adding tests to roast so we can detect if it becomes a problem!)  But it's definitely more correct than the previous version was.
18:34 timotimo i should probably make the tests a bit stricter for that
18:34 timotimo so that they fail as soon as one more item is evaluated than needed
18:36 [Coke] timotimo++
18:38 cxreg how is nativecall working with jvm?  call java libraries?
18:38 cxreg or is that rakudo -> jvm -> jni -> libc?
18:38 timotimo NativeCall is for calling C
18:39 timotimo there will be something different for java things
18:39 cxreg well, jnthn++ said "Happily, arnsholt++ has already started working on the NativeCall support
18:39 cxreg i was wondering what exactly that meant
18:39 timotimo ah. yes, it means the same as on parrot ;)
18:39 colomon that's on JVM
18:39 cxreg so ... still for calling native C libraries?
18:40 timotimo that's my interpretation, yes
18:40 cxreg ok
18:40 cxreg really amazing progress on that port.  just astounding
18:42 timotimo it really is
18:43 [Coke] 07/17/2012 - last day niecza ran the daily run with no errors.
18:45 lizmat timotimo: wrt to "first": maybe a .gimme(1) might be in order, if I understand .gimme correctly (as it is under documented)
18:47 * [Coke] wonders if adding another test file will screw up the 99% run, since it will change the percentages.
18:49 segomos [Coke]: depends on how many test files there are
18:50 dalek Perlito: 183a6ee | (Flavio S. Glock)++ | src5/lib/Perlito5/ (2 files):
18:50 dalek Perlito: Perlito5 - indirect-object - fix builtin list; add more rules
18:50 dalek Perlito: review: https://github.com/fglock/​Perlito/commit/183a6eee7a
18:51 nwc10 [Coke]: try it in a branch, and cherry-pick it if it works out? :-)
18:51 timotimo [Coke]: i added 24 passing tests; we should be over 99% still
18:52 [Coke] java run is done. just waiting for parrot run to (re)complete
18:56 timotimo adding the same number to the numerator and denominator should keep the number growing all in all
18:57 grondilu joined #perl6
18:59 vk_ joined #perl6
19:16 colomon joined #perl6
19:19 [Coke] r: say 100 / 150; say 105 / 150
19:19 camelia rakudo fe792f: OUTPUT«0.666667␤0.7␤»
19:19 [Coke] r: say 100 / 150; say 105 / 155
19:19 camelia rakudo fe792f: OUTPUT«0.666667␤0.677419␤»
19:20 timotimo your point being? :)
19:20 timotimo should i have rather made 19 (not 24, i misremembered) old tests pass rather than adding 19 new passing ones? ;)
19:23 colomon well, making 19 failing tests pass is probably a greater achievement.
19:23 colomon but writing new tests is a good thing too
19:24 timotimo it is, yeah
19:25 colomon I mean, I toyed with getting us pass 99% by adding a few thousand new passing tests.  ;)
19:25 timotimo well, those tests were there before and they would have aborted earlier than half way through
19:25 timotimo but they were not in the spectest.data
19:26 Ulti in the limit of 100% implemented :/ I'm surprised I haven't heard stuff marketed like that before
19:33 ggoebel joined #perl6
19:34 cognominal joined #perl6
19:34 [Coke] need to move the rest of these tests off feather.
19:34 [Coke] diakopter: any ideas on the locale problem
19:35 [Coke] ?
19:46 donaldh joined #perl6
19:48 census joined #perl6
19:48 rindolf joined #perl6
19:49 stevan_ joined #perl6
19:54 dalek perl6-roast-data: 25751df | coke++ | / (5 files):
19:55 dalek perl6-roast-data: today (automated commit)
19:55 dalek perl6-roast-data: review: https://github.com/coke/perl6​-roast-data/commit/25751df0fa
19:55 colomon what's the word, [Coke] ?
19:55 lizmat 99.07%!
19:55 colomon \o/
19:55 jnthn \o/
19:55 donaldh \o/
19:55 jnthn Easily past the post!
19:56 colomon so, is that about 250 tests to go to reach parity with Parrot?
19:56 jnthn r: say 26203 - 25960
19:56 lizmat 243 by the looks of it
19:56 camelia rakudo fe792f: OUTPUT«243␤»
19:56 donaldh If I add some tests for CUSTOM_LIB then they'll be new and _all pass_ :-)
19:57 lizmat .oO( mental arithmetic beats typing any time ;-)
19:57 FROGGS \o/
19:57 * jnthn will celebrate with a Yeti :)
19:57 nwc10 \o/
19:57 nwc10 what's a Yeti?
19:58 * nwc10 is on Glenmorangie
19:58 FROGGS beer
19:58 jnthn WHAT?
19:58 nwc10 (it's open, and at the front)
19:58 * donaldh is celebrating with a St Mungo and a pizza
19:58 FROGGS it is always beer *g*
19:58 * lizmat is celebrating with some tea
19:58 nwc10 did tea earlier.
19:58 FROGGS well, I have coffee
19:58 lizmat unspiked, I might add
19:58 * colomon has a nice new bottle of Talisker, but it's too early to celebrate here.  :)
19:58 nwc10 jnthn: what "WHAT?"
19:59 jnthn nwc10: http://greatdivide.com/beer/ye​ar-round/yeti-imperial-stout/
19:59 * nwc10 is on second. It's actually related to the awesome 99% result
19:59 nwc10 ooh, Yeti looks nice
19:59 jnthn It's very nice :)
19:59 nwc10 but fattening
19:59 jnthn shhh :P
20:00 FROGGS sheepshagger ftw!
20:00 donaldh someone had to
20:00 FROGGS I had that once: http://www.travelblog.org/Photos/4282848
20:01 FROGGS that is not me though
20:01 donaldh oO( you shag one sheep )
20:01 FROGGS they bartender said they try to convince the ppl that it is "sheeps hagger", but nobody believes it :o)
20:03 jnthn .oO( whitespace is overrated :P )
20:03 FROGGS :P
20:03 timotimo donaldh: did the custom lib things make it into nom already? wow, you're fast
20:04 donaldh timotimo: in my working copy
20:04 timotimo oh
20:04 donaldh trying to do enough to resurrect panda
20:04 timotimo you gotta be fast to still get it into the release :)
20:05 * donaldh is debugging panda
20:05 * jnthn suspects we might just be able to make a JVM-based Star release next month :)
20:05 * donaldh is also eating pizza and drinking beer
20:06 timotimo next month will be very possible, this month may even work; donaldh would know better :)
20:06 timotimo r: for ([Z] <wanze tanzen>.map({ (reverse [\~] $^word.comb).item })) -> $wanze, $tanzen { say "Sieh dir diese $wanze an, wie die $wanze $tanzen kann!" }
20:06 camelia rakudo fe792f: OUTPUT«Sieh dir diese wanze an, wie die wanze tanzen kann!␤Sieh dir diese wanz an, wie die wanz tanze kann!␤Sieh dir diese wan an, wie die wan tanz kann!␤Sieh dir diese wa an, wie die wa tan kann!␤Sieh dir diese w an, wie die w ta kann!␤»
20:07 FROGGS hehe, timotimo++
20:07 nwc10 a JVM star would be mighty interesting.
20:07 timotimo reverse triangle reduce and Z-reduction :)
20:08 timotimo maybe [OP/] should be a thing, too? :3
20:11 * donaldh is thinking too sloooowly
20:11 * donaldh just realised that the 'use lib' magic is implemented by lib.pm6
20:11 timotimo indeed. and it's not really crazy magic either
20:12 donaldh export with side effects is all
20:12 timotimo EXPORT, not export ;)
20:12 lizmat abusing EXPORT for fun and profit
20:13 TimToady isn't the next goal 99.44% pure, like Ivory Soap?
20:15 [Coke] r: say 26203 * .9944 - 25960
20:15 camelia rakudo fe792f: OUTPUT«96.2632␤»
20:16 [Coke] so, about a hundred to go for that.
20:17 jnthn mebbe I'll work on Buf at the weekend.
20:17 dalek rakudo/nom: ebb1a63 | (Elizabeth Mattijsen)++ | README:
20:17 dalek rakudo/nom: Adjust README for 99%+ passing spectests
20:17 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/ebb1a638ab
20:18 lizmat seemed appropriate  :-)
20:18 timotimo that seems pretty conservative ;)
20:19 jnthn It's less capable, apart from in the ways it's more capable :P
20:19 donaldh jnthn: any idea how close rakudo-debugger might be to working?
20:19 lizmat yes, but the more capable parts are still experimental and unspecced, right ?
20:19 donaldh jnthn: I gave it a spin and got https://gist.github.com/donaldh/6032692
20:19 [Coke] I might add "slightly" before less.
20:19 jnthn lizmat: yeah
20:20 jnthn donaldh: It'll need some love, I think. :)
20:20 jnthn donaldh: It shouldn't be too bad, though.
20:20 donaldh jnthn: I imagine bootstrapping is not entirely compatible.
20:21 jnthn donaldh: I'd quite like to be able to show it running on JVM in my Rakudo JVM session at YAPC::EU. :)
20:21 jnthn donaldh: So I'm quite motivated to get it fixed in time for that :)
20:21 colomon YAPC::EU++  ;)
20:22 * jnthn has 3 talks and wants to show something nice in each of them :)
20:26 donaldh how do I append the contents of an array to another array in nqp ?
20:28 jnthn donaldh: nqp::splice
20:28 donaldh jnthn++
20:32 lue hello world o/
20:37 dalek rakudo/nom: 4f210b1 | (Elizabeth Mattijsen)++ | CREDITS:
20:37 dalek rakudo/nom: Added recently active contributors to CREDITS
20:37 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/4f210b110a
20:38 * lizmat was bored waiting for the compiler release
20:42 segomos tadzik: inside of coroutines, is it possible for me to 'say' things to stdout or is there some work around for it?
20:43 BenGoldberg joined #perl6
20:44 lizmat rakudo has coroutines ?
20:45 dalek rakudo/nom: 3384d0f | moritz++ | docs/announce/2013.07.md:
20:45 dalek rakudo/nom: add announcement for 2013.07 release
20:45 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/3384d0f07f
20:46 moritz I won't get around to do the rest of the release today
20:46 moritz if somebody wants to pick up from here (lizmat? you were bored? :-), please do
20:46 moritz otherwise I'll do the rest tomorrow
20:46 lizmat I don't know what needs to be done
20:47 lizmat is there a guide somewhere ?
20:47 FROGGS in /doc
20:47 FROGGS release_guide or so
20:47 * lizmat checks
20:47 moritz lizmat: docs/release_guide.pod
20:48 moritz I've done the steps up to no. 5
20:48 moritz (though if somebody wants to double-check the announcement, that would be great too)
20:49 moritz lizmat: and if you give me your public ssh key, I can add it to rakudo.org so that you can upload the tarballs there
20:50 awwaiid_ moritz: s/This is only some of the changes/These are only some of the changes/
20:50 moritz (pmichaud, jnthn, PerlJam, tadzik, masak and [Coke] can do that too)
20:51 tylathos joined #perl6
20:51 tylathos Hey
20:55 FROGGS hi tylathos
20:56 tylathos now i think , i should write what i want here :-) so i want to know if i can help by perl6 , und excuse my bad english im from germany :-)
20:57 FROGGS hehe, I'm from near Berlin, you?
20:57 * lizmat trying to solve some passwd issues to get the release going
20:59 FROGGS and yes, there are several ways you can help: 1) use it, every bit of feedback help to evolve the language/compiler (even though it is pretty mature)
20:59 tylathos at the moment  at tenriffa but normaly at thuringia( City :saalfeld)
20:59 FROGGS ahh, I lived in Gera like 20 years or so
20:59 Ulti would be nice if .trim-trailing could take a parameter of what you want to trim if not white space
21:00 FROGGS Ulti: what about  .subst(/...$/, '')  ?
21:01 FROGGS having a trim-trailing that just is a subst method with implicit end-of-line matching is, well, a bit odd IMO
21:02 FROGGS tylathos: what are you up to anyway?
21:02 Ulti its already that but just limited to white space
21:02 donaldh should @*INC include . or is that a special case for build?
21:03 jnthn Should not include . by default
21:04 jnthn Grrr...of all the things...my mouse if failing...
21:04 FROGGS :/
21:05 jnthn *is
21:06 tylathos im actually up for everything. i just want to help to get perl6 as wounderfull as perl5
21:06 dalek rakudo/nom: 70d2306 | (Elizabeth Mattijsen)++ | docs/release_guide.pod:
21:06 dalek rakudo/nom: Step #6 of release process
21:06 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/70d2306268
21:06 segomos tylathos: async ;)
21:07 lue some thoughts I had on Unicode in Perl 6 --> https://gist.github.com/lue/6033091
21:07 jnthn segomos: As in async { } blocks? :)
21:09 segomos jnthn: yes
21:09 lizmat I guess I'm not upping PARROT_REVISION for the release, right?
21:09 jnthn lizmat: Right, the release contained nearly nothing, certainly nothing we depend on.
21:09 lizmat ok, leaving that untouched then to be on the safe side
21:10 tylathos @segomos no i dont love perl5 becaus of his async or becaus of his easy Syntax. i love perl becaus of his community und becaus it was the First language i learned
21:10 jnthn segomos: Rakudo on JVM has very preliminary async { } support, if you didn't know :)
21:10 segomos tylathos: ? i was responding to you want to help p6 be as wonderful as p5.  i love p6 thus far
21:11 segomos jnthn: i'll switch to jvm and try it out..
21:11 jnthn segomos: See my last blogpost for some info on it.
21:11 FROGGS tylathos: if you are not a compiler artist, you could port modules to Perl 6, or write new ones... That is one of the main blockers for most ppl
21:12 segomos jnthn: where do i find your blog on the information super highway?
21:12 tylathos Sry than i understood u wrong :-) My fault.
21:12 FROGGS segomos: http://6guts.wordpress.com/
21:13 FROGGS and this is a must-read: http://www.josetteorama.com/all-about-perl-6-i​nterview-of-jonathan-worthington-part-1-of-3/
21:13 donaldh jnthn: I need to be patient enough for the whole spectest, but it looks like jvm runs fine now w/o -Xbootclasspath
21:13 tylathos joined #perl6
21:13 jnthn donaldh: Hmm.
21:13 jnthn donaldh: OK.
21:13 colomon hey, parts 2 and 3 are up now!  \o/
21:14 timotimo oh, they are!
21:14 jnthn donaldh: I wonder if something we've done that tickled the bug is gone
21:14 timotimo without much trara
21:14 segomos i was trying tadzik 's Thread module but got lazy
21:14 FROGGS yeah, and they are awesome :o)
21:14 konundra joined #perl6
21:15 donaldh jnthn: I remember that there was an intermittent bug that you fixed after the bootclasspath, there were probably others.
21:15 timotimo lue: i like the thing you did with thea headings
21:15 dalek nqp: a76c974 | (Elizabeth Mattijsen)++ | VERSION:
21:15 dalek nqp: bump VERSION to 2013.07
21:15 dalek nqp: review: https://github.com/perl6/nqp/commit/a76c97442f
21:15 lue (except the one that was added after-the-fact and inbetween existing ones :)
21:16 timotimo yeah
21:18 dalek rakudo/nom: a397320 | (Elizabeth Mattijsen)++ | docs/announce/2013.07.md:
21:18 dalek rakudo/nom: Small grammar fix for announcement, suggested by awwaiid++
21:18 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/a397320347
21:20 lizmat -- release status: checking nqp (step 3 in nqp release guide)
21:23 vk_ joined #perl6
21:23 lizmat -- release status: created tarball (step 4 in nqp release guide)
21:24 lizmat -- release status: testing tarball (step 5 in nqp release guide)
21:25 jnthn .oO( lizbot )
21:34 lizmat -- release status: tagging NQP (step 6 in nqp release guide)
21:36 lizmat -- release status: uploading tarball (step 7 in nqp release guide)  (to be done by jnthn, as I have an access snafu to rakudo.org)
21:36 jnthn Should be there now
21:37 FROGGS lizmat: please dont send the announcement till it is up
21:37 lizmat -- release status: continuing with rakudo release process (step 8 in nqp release guide)
21:37 lizmat FROGGS: till nqp tarball is up ?
21:37 FROGGS both
21:38 lizmat okidoki
21:40 dalek rakudo/nom: 01b39fd | (Elizabeth Mattijsen)++ | tools/build/NQP_REVISION:
21:40 dalek rakudo/nom: [release] bump NQP revision
21:40 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/01b39fd1b7
21:41 dalek rakudo/nom: b15bdcb | (Elizabeth Mattijsen)++ | VERSION:
21:41 dalek rakudo/nom: [release] bump VERSION
21:41 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/b15bdcb315
21:42 lizmat -- release status: check if everything compiles from a clean slate (step 11 in rakudo release guide)
21:44 timotimo i wonder if i can rebase the nodal branch upon current nom ...
21:46 BenGoldberg rpn: my @a := gather { }; my @b; say @a[0], @b[0];
21:46 camelia niecza v24-88-g1f87209: OUTPUT«(Any)(Any)␤»
21:46 camelia ..rakudo 70d230: OUTPUT«Nil(Any)␤»
21:46 camelia ..pugs: OUTPUT«␤»
21:46 lizmat that's actually a known bug in rakudo
21:47 BenGoldberg Oh, ok :)
21:47 timotimo lizmat has been banging 'er head against nil/default/Any/... for a few days recently :)
21:47 lizmat r: my $a=Nil; say $a  # should sau (Any)
21:47 jnthn timotimo: probably :)
21:47 camelia rakudo 70d230: OUTPUT«Nil␤»
21:47 jnthn lizmat: I thought we fixed that bit? :)
21:47 lizmat r: my Int $a=Nil; say $a  # says (Int) correctly
21:47 camelia rakudo 70d230: OUTPUT«(Int)␤»
21:47 timotimo jnthn: "can" was the wrong word. probably "can feel comfortable to" or something like that
21:47 timotimo i guess i can just do it.
21:47 lizmat jnthn: no, if I do that, half of the test-suite fails
21:47 jnthn timotimo: Sure you can. rebase is immutable :)
21:47 jnthn lizmat: ah... :)
21:48 jnthn timotimo: If you don't like the result, you can always undo it ;)
21:48 lizmat and before I think we can fix that, we need "is default(Nil)" to work, I think
21:48 jnthn Yeah, I know, I need to get var traits in :)
21:49 timotimo jnthn: i was refering to "don't rebase something you've pushed"
21:49 jnthn timotimo: ah, true
21:50 jnthn timotimo: Well, you can always greate a new branch that is the other thing but rebased :)
21:50 timotimo people will have it in their reflog if they even have it checked out :)
21:50 timotimo and if they don't, it'll be overwritten by default iirc.
21:51 colomon joined #perl6
21:52 BenGoldberg So did anyone figure out why the following happens?
21:52 BenGoldberg rpn: my @a := gather { take 'one'; say 'HUH?' }; say 'zero'; for (@a) { say $_; last }
21:52 camelia niecza v24-88-g1f87209: OUTPUT«zero␤one␤»
21:52 camelia ..pugs: OUTPUT«HUH?␤zero␤one␤»
21:52 camelia ..rakudo 70d230: OUTPUT«zero␤HUH?␤one␤»
21:53 timotimo yes, for is non-lazy by default it appears.
21:54 BenGoldberg Can it be made lazy?
21:55 timotimo should, yeah
21:55 * timotimo doesn't really know how
21:55 BenGoldberg niecza gets it right ;)
21:56 timotimo did you see i made .first lazy on rakudo based on colomon++'s work :)
21:57 BenGoldberg Yes, timotimo+++ :)
21:57 BenGoldberg Opps, timotimo++
21:58 timotimo now i have two ++'s?
21:58 FROGGS karma timotimo
21:58 FROGGS err
21:58 FROGGS .karma timotimo
21:58 FROGGS hmmm
21:58 BenGoldberg .ping
21:58 yoleaux There is no ping command; nor can this be construed as a response.
21:58 geekosaur *snrk*
21:59 FROGGS preflex: karma timotimo
21:59 preflex timotimo: 97
21:59 timotimo is that so? \o/
22:00 BenGoldberg But we don't know what your karma was before the +++
22:00 BenGoldberg preflex: karma BenGoldberg
22:00 preflex BenGoldberg has no karma
22:00 BenGoldberg BenGoldberg+++
22:00 BenGoldberg preflex: karma BenGoldberg
22:00 preflex BenGoldberg has no karma
22:00 FROGGS preflex: karma timo
22:00 preflex timo: 2
22:00 FROGGS preflex: karma Timo Paulssen
22:00 preflex Timo Paulssen: 75
22:00 colomon .karma colomon
22:00 FROGGS :o)
22:00 BenGoldberg BenGoldberg++
22:00 BenGoldberg preflex: karma BenGoldberg
22:00 preflex BenGoldberg: -1
22:00 BenGoldberg Heh
22:00 lizmat -- release status: creating tarball (step 12 in rakudo release guide)
22:01 FROGGS lizmat++
22:01 lizmat -- release status: testing tarball (step 13 in rakudo release guide)
22:02 colomon preflex: karma colomon
22:02 preflex colomon: 250
22:02 FROGGS preflex: karma FROGGS
22:02 preflex FROGGS: 119
22:02 FROGGS preflex: karma Tobias Leich
22:02 preflex Tobias Leich: 103
22:02 timotimo you're doing good, froggs :)
22:02 FROGGS uhh, 103 is my userid at $work
22:02 FROGGS :o)
22:03 * FROGGS .oO( I know where I belong in mysql tables )
22:03 FROGGS and now I belong in $bed
22:03 FROGGS gnight all
22:03 timotimo good night FROGGS :)
22:03 lizmat gnight FROGGS!
22:03 colomon \o
22:03 timotimo 'tis a good release, i think. people are going to respond less negatively to it than usual, won't they?
22:07 lizmat tis a good release, I don't care much what negatively predisposed people think of it
22:08 BenGoldberg 6st 1 2 3
22:08 BenGoldberg ordinal 1 2 3
22:08 BenGoldberg preflex: 6st 1 2 3
22:08 preflex 1st 2rd 3th
22:15 vk_ joined #perl6
22:21 lizmat -- release status: tagging release (step 14 in rakudo release guide)
22:21 lizmat -- release status: uploaded tarball and verified availability (step 15 in rakudo release guide)
22:26 lizmat -- release status: announce on perl6-compiler (step 16 in rakudo release guide)
22:26 colomon \o/
22:26 colomon lizmat++
22:26 lizmat -- release status: update Wikipedia entry (step 17 in rakudo release guide)
22:26 lizmat -- release status: appropriate amounts of fun! (step 18 in rakudo release guide)
22:27 dalek specs: 1cce200 | jnthn++ | S12-objects.pod:
22:27 dalek specs: Flesh out EXPORTHOW specification a bit.
22:27 dalek specs:
22:27 dalek specs: Provide for safe compositional use of meta-objects as well as custom
22:27 dalek specs: package declarators. Also spec that compilers should complain about
22:27 dalek specs: trying to import two different replacement meta-objects for the same
22:27 dalek specs: declarator in a single scope.
22:27 dalek specs: review: https://github.com/perl6/specs/commit/1cce20099d
22:29 timotimo \o/
22:30 dalek rakudo/nom: 099f0b3 | (Elizabeth Mattijsen)++ | docs/release_guide.pod:
22:30 dalek rakudo/nom: Tweaks for next rakudo release
22:30 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/099f0b34ef
22:34 jnthn Will get Rakudo caught up with that new spec update sometime in the next days. :)
22:35 jnthn (Yes, it's part of a plan for something.)
22:36 lizmat I always see a lot of warnings like "warning: unknown warning option '-Wno-long-double'; did you mean
22:36 lizmat '-Wno-long-long'? [-Wunknown-warning-option]"
22:36 lizmat shouldn't the makefile be tweaked for this?  at least on OS X ?
22:45 lizmat r: my @a:= squish( 1..Inf ); say @a[3] # glad to see squish() is also lazy thanks to grep()
22:45 lizmat huh?
22:45 camelia rakudo b15bdc: OUTPUT«4␤»
22:45 lizmat yeah!
22:47 lizmat n: my @a:= squish( 1..Inf ); say @a[3]
22:47 camelia niecza v24-88-g1f87209: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤â�¤Undeclared routine:â�¤     'squish' used at line 1â�¤â�¤Unhandled exception: Check failedâ�¤â�¤  at /home/p6eval/niecza/boot/lib/CORE.setting line 1502 (die @ 5) â�¤  at /home/p6eval/niecza/src/STD.pm6 line 1147 (P6.comp_unit @ 36) â�¤  at /h…
22:50 dalek roast: 0d03605 | (Elizabeth Mattijsen)++ | S32-list/squish.t:
22:50 dalek roast: Make sure squish() is lazy
22:50 dalek roast: review: https://github.com/perl6/roast/commit/0d03605e7a
22:53 lizmat p: my @a:= squish( 1..Inf ); say @a[3]
22:53 camelia pugs: OUTPUT«*** No such subroutine: "&squish"␤    at /tmp/x2rGIOCQhA line 1, column 1-25␤»
22:54 dalek roast: 03a7771 | (Elizabeth Mattijsen)++ | S32-list/squish.t:
22:54 dalek roast: Properly fudge squish tests to Niecza and Pugs
22:54 dalek roast: review: https://github.com/perl6/roast/commit/03a7771b58
22:55 lizmat and on that thought, I call it a day!  And what a day it was, suddenly becoming release manager because I was bored  :-)   moritz++
22:55 lizmat sleep&
22:56 timotimo good night lizmat :)
23:13 jnthn 'night, #perl6
23:14 colomon \o

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

Perl 6 | Reference Documentation | Rakudo