Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2013-10-02

Perl 6 | Reference Documentation | Rakudo

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

All times shown according to UTC.

Time Nick Message
00:05 Mouq .tell FROGGS lol @ nqp/cursless 927729b :) I like it much better than what I wanted to do; create a simple QLang for NQP with :cclass and reorganize the code in NQP and Rakudo to reflect this :p
00:05 yoleaux Mouq: I'll pass your message to FROGGS.
00:06 [Coke] how can I get a canonical list of all the opcodes provided by, e.g. nqp-jvm ?
00:06 [Coke] at the moment, I'm considering parsing the source in : src/vm/jvm/QAST/Compiler.nqp
00:12 Psyche^ joined #perl6
00:12 Mouq Where are the .'!whatever' methods defined? I know they have to be in the PIR or in the Java source somewhere, but I can't find them
00:26 [Coke] hee. only 390 more ops to document to get everything in the JVM. :!
00:35 dalek nqp: 69c6085 | coke++ | t/docs/opcodes.t:
00:35 dalek nqp: Add first pass at docs tester
00:35 dalek nqp:
00:35 dalek nqp: Currently verifies that every opcode in docs/ops.markdown
00:35 dalek nqp: has a corresponding entry in nqp-jvm (and vice versa).
00:35 dalek nqp: review: https://github.com/perl6/nqp/commit/69c608530d
00:35 [Coke] ^^ "./nqp t/docs/opcodes.t" will give you a list of things to document.
00:38 dalek nqp: b4c094e | coke++ | docs/ops.markdown:
00:38 dalek nqp: remove (for now) docs for ops not in JVM.
00:38 dalek nqp: review: https://github.com/perl6/nqp/commit/b4c094eac5
00:43 btyler joined #perl6
00:46 sizz joined #perl6
00:48 Mouq [Coke]++
01:07 Mouq r: (sub ($r = 10, $c = 10) {my $a=1; gather for ^$r { take [(1..$c) >>*>> $a++];} })().map:{.Str.trans(' '=>"\t").say}
01:07 camelia rakudo 0808ac: OUTPUT«1 2       3       4       5       6       7       8       9       10␤2    4       6       8       10      12      14      16      18      20␤3    6       9       12      15      18      21      24      27      30␤4    8       12      16      20      24      28      32      36
01:07 camelia ..    40␤5    10      15      20      25      30      35      40      45      50␤6    12      18      24      30      36      42      48      54      60␤7    14      21      28      35      42      49      56      63      70␤8    16      24      32      40      48      56      64      72      80␤9
01:07 camelia ..  18      27      36      45      54      63      72      81      90␤10   20      30      40      50…»
01:08 Mouq ... I see the ircbot isn't very smart about tabs.
01:09 Mouq Of course, that just reduces to:
01:09 Mouq r: my $a=1; ([(1..10) >>*>> $a++] xx 10).map:{.Str.say}
01:09 camelia rakudo 0808ac: OUTPUT«1 2 3 4 5 6 7 8 9 10␤2 4 6 8 10 12 14 16 18 20␤3 6 9 12 15 18 21 24 27 30␤4 8 12 16 20 24 28 32 36 40␤5 10 15 20 25 30 35 40 45 50␤6 12 18 24 30 36 42 48 54 60␤7 14 21 28 35 42 49 56 63 70␤8 16 24 32 40 48 56 64 72 80␤9 18 27 36 45 54 63 72 81 90␤10 20 30 40 50…»
01:10 Mouq In re: http://irclog.perlgeek.de/perl6/2013-10-01#i_7657251
01:19 fridim_ joined #perl6
01:23 Timbus oop. someone just used map for side effects!
01:23 * Timbus looks for his paddle
01:23 Timbus my $z; .Str.say for ([(1..10) X* ++$z] xx 10)
01:24 Mouq :p
01:24 Timbus wouldnt .say just gist it the same way?:  my $z; .say for ([(1..10) X* ++$z] xx 10)
01:25 Mouq r: my $a=1; ([(1..10) >>*>> $a++] xx 10)».Str.say
01:25 camelia rakudo 0808ac: OUTPUT«1 2 3 4 5 6 7 8 9 10 2 4 6 8 10 12 14 16 18 20 3 6 9 12 15 18 21 24 27 30 4 8 12 16 20 24 28 32 36 40 5 10 15 20 25 30 35 40 45 50 6 12 18 24 30 36 42 48 54 60 7 14 21 28 35 42 49 56 63 70 8 16 24 32 40 48 56 64 72 80 9 18 27 36 45 54 63 72 81 90 10 20 30 40 50…»
01:25 Timbus nah it wont break up the arrays
01:26 Mouq r: my $a=1; ([(1..10) >>*>> $a++] xx 10)».fmt('%03d').say
01:26 camelia rakudo 0808ac: OUTPUT«001 002 003 004 005 006 007 008 009 010 002 004 006 008 010 012 014 016 018 020 003 006 009 012 015 018 021 024 027 030 004 008 012 016 020 024 028 032 036 040 005 010 015 020 025 030 035 040 045 050 006 012 018 024 030 036 042 048 054 060 007 014 021 028 035 0…»
01:26 Mouq But the newlines are still missing
01:26 dalek nqp: f59ce6e | coke++ | / (2 files):
01:26 dalek nqp: Update doc formatting, track with test.
01:26 dalek nqp: review: https://github.com/perl6/nqp/commit/f59ce6eeff
01:26 dalek nqp: 0cbaefe | coke++ | docs/ops.markdown:
01:26 dalek nqp: document more I/O opcodes
01:26 dalek nqp: review: https://github.com/perl6/nqp/commit/0cbaefe4d0
01:26 dalek nqp: 7129541 | coke++ | docs/ops.markdown:
01:26 dalek nqp: document more opcode variants
01:26 dalek nqp: review: https://github.com/perl6/nqp/commit/712954118f
01:26 dalek nqp: 9259f8e | coke++ | t/docs/opcodes.t:
01:26 dalek nqp: ignore empty opcodes
01:26 dalek nqp: review: https://github.com/perl6/nqp/commit/9259f8e7c4
01:26 dalek nqp: deae10b | coke++ | docs/ops.markdown:
01:26 dalek nqp: document moar ops
01:26 dalek nqp: review: https://github.com/perl6/nqp/commit/deae10bc3d
01:27 Timbus r: my $a=1; .say for ([(1..10) >>*>> $a++] xx 10)».fmt('%03d')
01:27 camelia rakudo 0808ac: OUTPUT«001 002 003 004 005 006 007 008 009 010␤002 004 006 008 010 012 014 016 018 020␤003 006 009 012 015 018 021 024 027 030␤004 008 012 016 020 024 028 032 036 040␤005 010 015 020 025 030 035 040 045 050␤006 012 018 024 030 036 042 048 054 060␤007 014 021 028 035 0…»
01:28 Mouq Since when was Perl 6 functional? Side-effects++ :p
01:29 Mouq if (my $side = 'effect') -> { say "." }
01:29 Mouq r: if (my $side = 'effect') -> $e { say "$e" }
01:29 camelia rakudo 0808ac: OUTPUT«effect␤»
01:30 Mouq r: if (my $side = 'effect') { say :$side }
01:30 camelia rakudo 0808ac: OUTPUT«␤»
01:30 Mouq Bluh, scoping.
01:30 * Mouq needs to → bed
01:32 Timbus r: my $a = (1..3).map:{say ("hello")}; say "goodbye";
01:32 camelia rakudo 0808ac: OUTPUT«goodbye␤»
01:32 Mouq Oh, wait, actually it's precedence
01:32 Mouq rn: if (my $side = 'effect') { say (:$side) }
01:32 camelia rakudo 0808ac, niecza v24-95-ga6d4c5f: OUTPUT«"side" => "effect"␤»
01:33 TimToady nr: .say for (1..10 X* 1..10).tree
01:33 camelia niecza v24-95-ga6d4c5f: OUTPUT«Unhandled exception: Unable to resolve method tree in type List␤  at /tmp/RAGEheVWLh line 1 (mainline @ 4) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4583 (ANON @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4584 (module-CORE @ 576) ␤  at /h…»
01:33 camelia ..rakudo 0808ac: OUTPUT«1␤2␤3␤4␤5␤6␤7␤8␤9␤10␤2␤4␤6␤8␤10␤12␤14␤16␤18␤20␤3␤6␤9␤12␤15␤18␤21␤24␤27␤30␤4␤8␤12␤16␤20␤24␤28␤32␤36␤40␤5␤10␤15␤20␤25␤30␤35␤40␤45␤50␤6␤12␤18␤24␤30␤36␤42␤48␤54␤60␤7␤14␤21␤28␤35␤42␤49␤56␤63␤70␤8␤16␤24␤32␤40␤48␤56␤64␤72␤80␤9␤18␤27␤36␤45␤
01:33 TimToady hmm
01:33 Timbus /tmp/RAGE
01:34 TimToady right
01:35 TimToady nr: .say for ([1..10] X»*» 1..10).tree
01:35 camelia niecza v24-95-ga6d4c5f: OUTPUT«Unhandled exception: Unable to resolve method tree in type List␤  at /tmp/CJNdgd_VKp line 1 (mainline @ 4) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4583 (ANON @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4584 (module-CORE @ 576) ␤  at /h…»
01:35 camelia ..rakudo 0808ac: OUTPUT«Nominal type check failed for parameter 'op'; expected Any but got Mu instead␤  in sub METAOP_CROSS at src/gen/CORE.setting:16093␤  in block  at /tmp/83vl94vB9L:1␤␤»
01:36 TimToady r: .say for ([1..10] X[»*»] 1..10).tree
01:36 camelia rakudo 0808ac: OUTPUT«Nominal type check failed for parameter 'op'; expected Any but got Mu instead␤  in sub METAOP_CROSS at src/gen/CORE.setting:16093␤  in block  at /tmp/cTF1_9RkbG:1␤␤»
01:36 Timbus X[»*»]
01:37 * Timbus hed explod
01:37 TimToady r: .say for [1..10] xx 10 Z[»*»] 1..10
01:37 camelia rakudo 0808ac: OUTPUT«Nominal type check failed for parameter 'op'; expected Any but got Mu instead␤  in sub METAOP_ZIP at src/gen/CORE.setting:16117␤  in block  at /tmp/VofdXvnQtS:1␤␤»
01:37 TimToady n: .say for [1..10] xx 10 Z[»*»] 1..10
01:37 camelia niecza v24-95-ga6d4c5f: OUTPUT«1â�¤2â�¤3â�¤4â�¤5â�¤6â�¤7â�¤8â�¤9â�¤10â�¤2â�¤4â�¤6â�¤8â�¤10â�¤12â�¤14â�¤16â�¤18â�¤20â�¤3â�¤6â�¤9â�¤12â�¤15â�¤18â�¤21â�¤24â�¤27â�¤30â�¤4â�¤8â�¤12â�¤16â�¤20â�¤24â�¤28â�¤32â�¤36â�¤40â�¤5â�¤10â�¤15â�¤20â�¤25â�¤30â�¤35â�¤40â�¤45â�¤50â�¤6â�¤12â�¤18â�¤24â�¤30â�¤36â�¤42â�¤48â�¤54â�¤60â�¤7â�¤14â�¤21â�¤28â�¤35â�¤42â�¤49â�¤56â�¤63â�¤70â�¤8â�¤16â�¤24â�¤32â�¤40â�¤48â�¤56â�¤64â�¤72â�¤80â�¤9â�¤18â�¤27â�¤36â
01:37 Timbus .. uh
01:38 Mouq n: .perl.say for [1..10] xx 10 Z[»*»] 1..10
01:38 camelia niecza v24-95-ga6d4c5f: OUTPUT«1â�¤2â�¤3â�¤4â�¤5â�¤6â�¤7â�¤8â�¤9â�¤10â�¤2â�¤4â�¤6â�¤8â�¤10â�¤12â�¤14â�¤16â�¤18â�¤20â�¤3â�¤6â�¤9â�¤12â�¤15â�¤18â�¤21â�¤24â�¤27â�¤30â�¤4â�¤8â�¤12â�¤16â�¤20â�¤24â�¤28â�¤32â�¤36â�¤40â�¤5â�¤10â�¤15â�¤20â�¤25â�¤30â�¤35â�¤40â�¤45â�¤50â�¤6â�¤12â�¤18â�¤24â�¤30â�¤36â�¤42â�¤48â�¤54â�¤60â�¤7â�¤14â�¤21â�¤28â�¤35â�¤42â�¤49â�¤56â�¤63â�¤70â�¤8â�¤16â�¤24â�¤32â�¤40â�¤48â�¤56â�¤64â�¤72â�¤80â�¤9â�¤18â�¤27â�¤36â
01:38 TimToady still needs .tree, which niecza doesn't have
01:38 TimToady n: .say for ([1..10] xx 10 Z[»*»] 1..10)[^10]
01:38 camelia niecza v24-95-ga6d4c5f: OUTPUT«1â�¤2â�¤3â�¤4â�¤5â�¤6â�¤7â�¤8â�¤9â�¤10â�¤2â�¤4â�¤6â�¤8â�¤10â�¤12â�¤14â�¤16â�¤18â�¤20â�¤3â�¤6â�¤9â�¤12â�¤15â�¤18â�¤21â�¤24â�¤27â�¤30â�¤4â�¤8â�¤12â�¤16â�¤20â�¤24â�¤28â�¤32â�¤36â�¤40â�¤5â�¤10â�¤15â�¤20â�¤25â�¤30â�¤35â�¤40â�¤45â�¤50â�¤6â�¤12â�¤18â�¤24â�¤30â�¤36â�¤42â�¤48â�¤54â�¤60â�¤7â�¤14â�¤21â�¤28â�¤35â�¤42â�¤49â�¤56â�¤63â�¤70â�¤8â�¤16â�¤24â�¤32â�¤40â�¤48â�¤56â�¤64â�¤72â�¤80â�¤9â�¤18â�¤27â�¤36â
01:39 TimToady n: .say for ([1..10] xx 10 Z[»*»] 1..10).map: *.elems
01:39 camelia niecza v24-95-ga6d4c5f: OUTPUT«1â�¤1â�¤1â�¤1â�¤1â�¤1â�¤1â�¤1â�¤1â�¤1â�¤1â�¤1â�¤1â�¤1â�¤1â�¤1â�¤1â�¤1â�¤1â�¤1â�¤1â�¤1â�¤1â�¤1â�¤1â�¤1â�¤1â�¤1â�¤1â�¤1â�¤1â�¤1â�¤1â�¤1â�¤1â�¤1â�¤1â�¤1â�¤1â�¤1â�¤1â�¤1â�¤1â�¤1â�¤1â�¤1â�¤1â�¤1â�¤1â�¤1â�¤1â�¤1â�¤1â�¤1â�¤1â�¤1â�¤1â�¤1â�¤1â�¤1â�¤1â�¤1â�¤1â�¤1â�¤1â�¤1â�¤1â�¤1â�¤1â�¤1â�¤1â�¤1â�¤1â�¤1â�¤1â�¤1â�¤1â�¤1â�¤1â�¤1â�¤1â�¤1â�¤1â�¤1â�¤1â�¤1â�¤1â�¤1â�¤1â�¤1â�¤1â�¤1â�¤1â�¤1â�¤1â�¤1â�¤1â�¤1â�¤1â�
01:39 TimToady well, anyway
01:40 TimToady n: .say for ([1..10] xx 10 Z[»*»] 1..10).lol.map: *.elems
01:40 camelia niecza v24-95-ga6d4c5f: OUTPUT«Unhandled exception: Unable to resolve method lol in type List␤  at /tmp/CEAD2ttGN5 line 1 (mainline @ 5) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4583 (ANON @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4584 (module-CORE @ 576) ␤  at /ho…»
01:41 TimToady n: ([1..10] xx 10 Z[»*»] 1..10).perl.say
01:41 camelia niecza v24-95-ga6d4c5f: OUTPUT«(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 3, 6, 9, 12, 15, 18, 21, 24, 27, 30, 4, 8, 12, 16, 20, 24, 28, 32, 36, 40, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 6, 12, 18, 24, 30, 36, 42, 48, 54, 60, 7, 14, 21, 28, 35, 42, 49, 56, …»
01:41 TimToady oughta produce 10 parcels, methinks
01:42 TimToady r: ([1..10] xx 10 Z[X*] 1..10).perl.say
01:44 camelia rakudo 0808ac: OUTPUT«(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 3, 6, 9, 12, 15, 18, 21, 24, 27, 30, 4, 8, 12, 16, 20, 24, 28, 32, 36, 40, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 6, 12, 18, 24, 30, 36, 42, 48, 54, 60, 7, 14, 21, 28, 35, 42, 49, 56, 63, 70, 8…»
01:44 TimToady that too
01:46 araujo joined #perl6
01:48 skids joined #perl6
01:49 Mouq r: ([1..10] xx 10).perl.say
01:49 camelia rakudo 0808ac: OUTPUT«([1, 2, 3, 4, 5, 6, 7, 8, 9, 10], [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], [1, 2, 3, 4, 5, 6, 7, 8, 9, 1…»
01:49 Mouq r: ([1..10] xx 10).flat.perl.say
01:49 camelia rakudo 0808ac: OUTPUT«([1, 2, 3, 4, 5, 6, 7, 8, 9, 10], [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], [1, 2, 3, 4, 5, 6, 7, 8, 9, 1…»
01:49 Mouq Just checking
01:52 chano joined #perl6
02:01 benabik joined #perl6
02:02 FROGGS joined #perl6
02:06 Oflameo joined #perl6
02:08 Oflameo diakopter sent me to be reeducated
02:08 diakopter :D
02:09 Oflameo I guess you already know what I have been saying to you.
02:09 diakopter me? yah..
02:09 diakopter you've been asking extremely frequently asked questions :)
02:10 Oflameo Why should I use something that doesn't have a stable spec or implementation?
02:10 diakopter you shouldn't :P
02:11 diakopter unless you want to be an early adopter and help work through bugs and non-implemented things
02:11 Oflameo Why the the early adoption period 20 years?
02:12 diakopter just for that, we'll extend it another 20 years! :P  I don't think it'll be 20 years. I think we'll see a highly usable product within a couple years
02:13 Oflameo The GNU system didn't that long, but I admit, they they borrowed a lot of design.
02:14 Oflameo The Linux Kernel didn't Just got 20 years old last year and has been in production since the 1990s.
02:15 raiph joined #perl6
02:15 diakopter raiph: John has some f.a.questions
02:16 raiph hi oflameo
02:18 Oflameo I remember you, raiph. I saw you on reddit last week.
02:18 Oflameo Hello raiph, nice seeing you again.
02:18 raiph right. i recognized the nick
02:19 raiph what langs do you use?
02:19 Oflameo Now back to my stupid questions. Why would the world be ready for perlsix if it wasn't ready for common lisp?
02:20 Oflameo I use Bash and Perl mostly because I am a System Administrator.
02:20 raiph gotchya
02:20 Timbus r: sub digest($list, Int $num){ my $acc = []; gather for $list.kv -> $i, $a { $acc.push($a); if ($i+1)%%$num { take $acc; $acc = [] } }};   .say for (1..10 X* 1..10).&digest(10)
02:20 raiph why's p6 of interest?
02:20 camelia rakudo 0808ac: OUTPUT«1 2 3 4 5 6 7 8 9 10␤2 4 6 8 10 12 14 16 18 20␤3 6 9 12 15 18 21 24 27 30␤4 8 12 16 20 24 28 32 36 40␤5 10 15 20 25 30 35 40 45 50␤6 12 18 24 30 36 42 48 54 60␤7 14 21 28 35 42 49 56 63 70␤8 16 24 32 40 48 56 64 72 80␤9 18 27 36 45 54 63 72 81 90␤10 20 30 40 50…»
02:22 Oflameo I am wondering why you need the version number embedded in your name when you have a "slushy" spec?
02:22 Timbus inb4 someone says theres already a N-at-a-time method
02:23 raiph in 1999 there was talk of a new perl
02:24 Timbus strange question.  perl 5 doesnt have a spec and it has a number; scheme has no number but has a spec
02:24 raiph the current release was p5
02:24 raiph so when folk talked about creating a perl that solved the problems the community saw with p5 they naturally called it p6
02:25 Oflameo What problems is Perlsix solving?
02:26 raiph one group of problems is the ones the community identified as being problems with p5
02:26 Oflameo I see Rakudo is trying to move to the JVM and to the MoarVM?
02:26 raiph larry wanted perl to be on the jvm in the 90s
02:26 raiph no change there
02:27 raiph moarvm is designed to be an optimal approach for the nqp compiler toolchain
02:27 Oflameo When will be a Perl 7 to solve the problems the community is having with Perl 6, such as not stable Perl 6 compiler and implications of vaporware?
02:28 Oflameo s/not/no/
02:29 raiph i think using the word "stable" as you just did is problematic
02:29 raiph i don't see how a name can be a good response to rumor
02:30 Timbus hmm yeas and when will C++2x come out to solve all the problems of C++1x not being fully implemented??
02:31 Oflameo What about a version of a Perl 6 compiler that I can upgrade every two years instead of every 1 month and expect code to compile?
02:32 Oflameo Timbus, I don't think that i going to happen. I think they are going for incidental improvements.
02:33 benabik Timbus: They're working on C++1y now.
02:35 raiph oflameo: http://irclog.perlgeek.de/perl6/2013-10-01#i_7657292
02:35 raiph you choose how often you upgrade
02:36 raiph every month if you want to do that, every 2 years if that's what you want
02:37 diakopter heh $HITEAM
02:37 Oflameo How much code will work if there is not upgrade in 10 months?
02:37 Oflameo Do you think parser hooks are a bad idea?
02:37 diakopter parser hooks are built into Perl 6 grammars in several places
02:37 raiph i didn't understand your last upgrade question
02:40 Oflameo What if I compile fresh perlsix with the Rakudo release from 10 months ago, do you think anything would compile incorrectly?
02:41 raiph are you asking if p6 / rakudo is forward compatible?
02:42 Oflameo yes
02:43 raiph i should point out that i'm not camelia (i'm not an official spokesbug)
02:44 [Coke] "is there perl6 code impacted by changes in the spec/implementation from 10 months ago?" yes.
02:44 raiph afaik there have not been guarantees of forward compatibility in recent releases and i doubt there'll be any in the near term future
02:45 Timbus 'forward compatibility in a language' wow.. thats pretty growdy. "growdy" is a term that will be decided upon and used in 2 years. please tell me what i was saying when you read these logs in two years.
02:45 raiph exactly
02:46 Oflameo Does Perl 6 guarantee any backwards compatibility?
02:48 [Coke] diakopter: Why are we feeding the troll?
02:48 Timbus nope. expect many, possibly tens of lines of code to break over the years
02:48 raiph oflameo: http://www.nntp.perl.org/group/perl.perl6.compiler/2012/07/msg8279.html
02:49 Oflameo I am a troll because I don't like your flavor of Coke, Coke?
02:53 [Coke] I am pretty sure I've said this in the past. we should write up these questions that keep recurring in here and put them in a When Is Christmas FAQ so we don't have to keep repeating ourselves. in place of a real marketing effort, which we don't have.
02:55 Oflameo You already the answer to those questions written up Coke, and that doesn't answer the main question.
02:56 diakopter [Coke]: I asked John to come here to get questions answered for the talk he's researching
02:57 diakopter at pittsburgh perl workshop this weekend
02:58 raiph oflameo: have you used p6?
02:59 Oflameo The Main question is why should Perl 6 replace Perl 5 when Perl 6 hasn't been ready for prime time in 13 years. If Perl 6 isn't replacing Perl 5 why does it get to block Perl 5's version numbers? Is there any other reason than TimToady said so?
02:59 raiph that's 3 questions
03:00 raiph q1. that was asked of a product i was involved in back in the day
03:00 raiph it was so late folk had given up ridiculing it
03:02 Timbus i got a question: what do you need perl 6 for that isn't yet ready? what's your prime time.
03:03 Timbus what do you think perl 6 can't do, that perl 5 can do
03:03 raiph until the product was ready, it was considered a failure
03:03 diakopter Timbus: well, that's not a fair question really; he doesn't know what p6 can or can't do
03:03 Timbus then why isnt he asking about that
03:03 raiph then it was released as firefox 1.0 and the history looks different from this side
03:04 diakopter Timbus: I'm not sure.. but he's not really answering questions people are asking him; he's just asking more questions, so I don't know if you should ask?
03:05 preflex_ joined #perl6
03:05 diakopter Oflameo: have you used Perl 6?
03:06 Oflameo I haven't used Perl6. I am  a system administrator.
03:06 diakopter how are those things related?
03:07 diakopter (are you saying that system administrators use Perl 6 less than non system administrators?)
03:07 raiph "If Perl 6 isn't replacing Perl 5 why does it get to block Perl 5's version numbers?" my answer is http://irclog.perlgeek.de/perl6/2013-10-02#i_7660740
03:08 Oflameo I need something that I don't have to upgrade every single month in production when it isn't the focus of the machine.
03:08 diakopter yes, as we've said before, Perl 6 isn't ready for a stability like that
03:08 diakopter neither is Windows 10
03:08 raiph oflameo: would you be willing to use our p5bot to show some p5 one liners you might use?
03:10 diakopter p5eval: die die die
03:10 p5eval diakopter: ERROR: Died at (eval 7) line 1.
03:11 diakopter p5eval: ␤die
03:11 p5eval diakopter: ERROR: Unrecognized character \xE2; marked by <-- HERE after <-- HERE near column 1 at (eval 7) line 1.
03:11 diakopter aw, it doesn't do the newline conversion trick
03:11 snoopy_ joined #perl6
03:11 diakopter p6eval: eval "\ndie"
03:11 diakopter p5eval: eval "\ndie"
03:11 p5eval diakopter: No output
03:11 diakopter p5eval: eval "\ndie"; die $@
03:11 p5eval diakopter: ERROR: Died at (eval 8) line 2.
03:12 dwarring joined #perl6
03:12 diakopter heh.
03:19 dwarring rn: "#" ~~ /[\! \#]/
03:19 camelia rakudo 0808ac: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/bT_bJWjmL0�Unspace not allowed in regex�at /tmp/bT_bJWjmL0:1�------> [32m"#" ~~ /[\! \#[33m�[31m]/[0m�»
03:19 camelia ..niecza v24-95-ga6d4c5f: OUTPUT«[31m===[0mSORRY![31m===[0m��Regex not terminated at /tmp/MXFmiyTaN1 line 1 (EOF):�------> [32m"#" ~~ /[\! \#]/[33m�[31m<EOL>[0m��Parse failed��»
03:19 Oflameo left #perl6
03:19 dwarring rn: "#" ~~ /[ \! \# ]/
03:20 camelia rakudo 0808ac: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/0x_w3r0oex�Unspace not allowed in regex�at /tmp/0x_w3r0oex:1�------> [32m"#" ~~ /[ \! \#[33m�[31m ]/[0m�»
03:20 camelia ..niecza v24-95-ga6d4c5f: OUTPUT«[31m===[0mSORRY![31m===[0m��Regex not terminated at /tmp/hBNUWP3hr3 line 1 (EOF):�------> [32m"#" ~~ /[ \! \# ]/[33m�[31m<EOL>[0m��Parse failed��»
03:20 dwarring rn: "#" ~~ /[ \! '#' ]/
03:20 camelia rakudo 0808ac, niecza v24-95-ga6d4c5f: ( no output )
03:20 dwarring so I should be using '#'?
03:21 dwarring (\# worked in rakudo until a few days ago)
03:23 dwarring s: "#" ~~ /[ \! '#' ]/
03:24 dwarring rs: "#" ~~ /[ \! '#' ]/
03:24 [Coke] regarding the replacing, I don't think the meme that perl6 is going to replace perl5 is a true one - the original thought may have been that, but now they are two (confusingly named but separate) languages. It's not like when something labeled 6.0 is released that 5.x will no longer be supported.
03:29 raiph dwarring: sec
03:32 raiph dwarring: http://irclog.perlgeek.de/perl6/2013-09-28#i_7644116
03:33 dwarring thanks raiph
03:33 raiph yw
03:33 * dwarring a couple of modules to fix
03:34 raiph dwarring: i seem to recall some doubt as to whether mouq's change was for the best. lemme check.
03:34 [Coke] Are nqp's bitshiftl, bitshiftr signed or unsigned?
03:35 [Coke] ah, foundit.
03:35 diakopter [Coke]: agree 100% on "replacing"
03:37 raiph dwarring: http://irclog.perlgeek.de/perl6/2013-09-30#i_7655036
03:40 dwarring ok does seem doubtfuil, wont jump at the moment
03:40 dwarring raiph++
03:55 * [Coke] wonders how the "fromstr_I" opcode got its name.
03:56 diakopter [Coke]: parse a string into a bigint?
04:00 [Coke] but in most other cases, _I indicates the argument type, not the return type
04:00 [Coke] and "from" what? :P
04:00 [Coke] given we have opcode names like compilejastlinestofile, seems we could have gone slightly more verbose there.
04:02 dwarring several modules affected around 29th, Btw http://97.95.33.142:3001/report
04:07 lue [Coke]: (re perl6 won't replace perl5): I agree. I've always considered the closest analogy being C and C++, at least now. (I imagine there are better analogies though.)
04:09 dalek nqp: 6758931 | coke++ | docs/ops.markdown:
04:09 dalek nqp: document bitops, relocate a type check, add isprime
04:09 dalek nqp: review: https://github.com/perl6/nqp/commit/6758931d4d
04:09 dalek nqp: f06d02c | coke++ | docs/ops.markdown:
04:09 dalek nqp: add more opcodes.
04:09 dalek nqp:
04:09 dalek nqp: Also fix some previous entries suffering from cutandpaste
04:09 dalek nqp: review: https://github.com/perl6/nqp/commit/f06d02c428
04:10 [Coke] ok, only 275 more opcodes to document.
04:12 dalek nqp: 8b7c688 | coke++ | docs/ops.markdown:
04:12 dalek nqp: fix typo. :(
04:12 dalek nqp: review: https://github.com/perl6/nqp/commit/8b7c688882
04:13 lue I feel I should say [Coke]++ for creating some comprehensive documentation for NQP :) .
04:14 [Coke] clearly you haven't read any of it! ;)
04:14 [Coke] It's all lies.
04:15 lue Oh, I've already looked at it a couple times doing the NQP exercises. Even a bare, central list of functions is a huge help.
04:21 prevost joined #perl6
04:34 mstwu00 joined #perl6
04:39 araujo joined #perl6
04:43 ivanshmakov joined #perl6
04:54 diakopter me "wow, more than 1 million downloads of a $7 game on android, Minecraft..."  my wife "I don't know why; the graphics are terrible and pixely"
05:03 lue .oO(That's silly. I'm not sure about pixels, but I'm pretty sure it's too voxely)
05:13 takesako joined #perl6
05:16 timotimo isn't the android version extremely limited in comparison to the pc version and even the xbox version?
05:22 timotimo weird, bailador can't build URI, but that shows up as "build fails" instead of "prerequisites failing"
05:22 timotimo JSONRPC is failing the same way and being misreported
05:25 [Sno] joined #perl6
05:37 SamuraiJack_ joined #perl6
06:13 araujo joined #perl6
06:22 nebuchadnezzar joined #perl6
06:22 Ulti diakopter: re the perl jobs, how many had BASH in the title? just because there aren't as many specific roles for a "perl programmer" doesn't mean its not part of job specs or used a lot daily... search for bioinformatician jobs, every single one of those will have perl listed as desirable
06:24 Ulti though I must admit every time I see PHP and not Perl I really dont get why
06:29 berekuk joined #perl6
06:31 darutoko joined #perl6
06:32 diakopter joined #perl6
06:39 diakopter Ulti: right, that was the point of the other graph
06:40 diakopter the one with the colored lines
06:40 diakopter to show all the ones that mentioned perl anywhere in the body of the job listing
06:41 diakopter I'm sure there are quite a few other job roles that use Java where Java is not mentioned in the title either
06:41 diakopter so I think that applies to all of the languages
06:57 Ulti by volume though Perl replaces shell far more often than Java or C do, and that sort of task isnt even listed in a job spec its just assumed
06:59 Ulti its rare I bump into PHP "scripts" really only Python competes with Perl in that realm along with sed/awk
07:01 Ulti I had a job where the title was "student programmer" and I had to know PHP, Perl, IDL, TCL and some gross CSH when I started I didn't know any of those
07:01 Ulti a better title would have been "maintenance legacy slave"
07:02 Ulti Perl was the newer :cool: code in that mess too
07:02 Ulti guess that was 8 years ago :/
07:04 FROGGS joined #perl6
07:20 telex joined #perl6
07:25 masak I think the discussion with Oflameo didn't convince Oflameo of anything.
07:25 masak (good morning, #perl6)
07:25 masak nor am I should it could've, or that I'd've done better.
07:26 hoelzro morning #perl6
07:26 moritz \o
07:27 FROGGS .tell Mouq About Q-lang for nqp: I think that is stilll needed to do it right
07:27 yoleaux FROGGS: I'll pass your message to Mouq.
07:28 FROGGS masak: yeah, I am thinking the same
07:28 masak it *is* a hard set of questions.
07:28 masak Rakudo Perl 6 is slower, less stable, more buggy than the perl executable.
07:28 FROGGS but maybe after Oflameo slept about it, his resistance might drop a little
07:28 masak FROGGS: don't count on it.
07:29 FROGGS I won't
07:29 zakharyas joined #perl6
07:29 FROGGS and I don't really care about opinions like these
07:29 masak FROGGS: well, he's going up on Saturday to share his opinions in a talk at PPW.
07:29 Gaz joined #perl6
07:29 masak (or whatever day it was)
07:29 FROGGS *I* wanna have that awesome product, and *I* wanna spend time on it making it so, whatever other ppl think
07:30 masak right.
07:30 masak I like that attitude.
07:31 FROGGS masak: better than mine from yesterday? :P
07:31 masak which one was that?
07:32 masak oh, that. well, I didn't think anything in particular about that one.
07:32 FROGGS the beer-topic
07:32 masak I don't feel it's that perverse to enjoy a certain kind of beer. and stouts are tasty. :)
07:32 FROGGS germans are a bit harsh when it comes to beer, you see
07:32 FROGGS and there is really chocolate in it?
07:33 masak I guess so. not much, but yeah.
07:33 masak it goes well with the general stout taste.
07:34 moritz but, but, but... Reinheitsgebot!
07:34 * moritz doesn't even like beer, just cargo-cults the common German objections
07:35 FROGGS moritz: exactly!
07:36 masak all I hear from you is that Germans have confused themselves into not liking chocolate stout. pity.
07:36 FROGGS *g*
07:36 FROGGS since I am sort of gallant I would even taste it when I get the chance
07:37 FROGGS maybe this is something Oflameo and I have not in common
07:38 hoelzro neat: https://groups.google.com/forum/#!topic/perl.perl6.compiler/LFsajeiZY-s
07:39 FROGGS ohh yes
07:42 moritz aye, nwc10++
07:43 nwc10 I'm not sure that the numbers have huge *meaning* - "number of commits" is not a great metric
07:43 nwc10 bugs fixed? Progress made? etc
07:43 nwc10 code refactored for the 15th time?
07:43 nwc10 (not that that happens *here*, but it feels like it in other places)
07:44 masak nwc10: the metric isn't worse than most biases people have about the situation already.
07:44 moritz nwc10: the absolute numbers usually don't mean much, but the trends do
07:56 sqirrel joined #perl6
08:00 Timbus is moarvm going to support bytecode/machinecode compilation? i feel its an important step to reduce oflameo's valid concern about newer code not working with older compilers
08:01 Timbus i assume jakudo has a .class output going already
08:05 moritz it already compiles to byte code
08:05 moritz nqp-moarvm, that is
08:05 moritz there is no intermediate textual format like PIR
08:07 Timbus well yes. i meant in the redistributable sense. so you could have newer compilers supporting older runtimes basically
08:13 moritz it really depends on what you mean by "runtime"
08:13 moritz if you mean just the VM itself, then that works as long as the bytecode format and set of used ops stays the same
08:14 moritz but if a hypothetical rakudo-moarvm compiles a p6 source file into moarvm bytecode, that bytecode file will still depend on the bytecode files from rakudo-moarvm and nqp-moarvm
08:27 FROGGS I guess that even if we dont check for the versions of bytecode dependencies, a nqp/perl6 source file will have a longer lifetime in many cases
08:28 jnthn morning o/
08:29 moritz FROGGS: aye
08:30 FROGGS morning
08:31 FROGGS and I think we know how the new-release-breaks-stuff curve does look like
08:32 Vasari joined #perl6
08:32 grondilu joined #perl6
08:33 grondilu rn: say .(4) given -> $n { $n > 1 ?? $n*&?ROUTINE($n-1) !! 1 }
08:33 camelia niecza v24-95-ga6d4c5f: OUTPUT«Internal error in exception dispatch: Frame tree is looooopy␤»
08:33 camelia ..rakudo 0808ac: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/ygcb1wssMDâ�¤Undeclared name:â�¤    &?ROUTINE used at line 1â�¤â�¤Â»
08:33 grondilu &?ROUTINE does not work anymore?
08:35 jnthn grondilu: You're not in a routine there
08:35 grondilu rn: say .(4) given -> $n { $n > 1 ?? $n*&?BLOCK($n-1) !! 1 }
08:35 camelia rakudo 0808ac: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/CRgBZz4gpmâ�¤Undeclared name:â�¤    &?BLOCK used at line 1â�¤â�¤Â»
08:35 camelia ..niecza v24-95-ga6d4c5f: OUTPUT«24␤»
08:35 FROGGS grondilu: a pointy block is routine-ish, bot not quite
08:35 jnthn And &?BLOCK is NYI...
08:35 FROGGS :o(
08:36 jnthn Timbus: Having looked over the backlog, my impression is that the concern was about language changes breaking working code more than anything bytecode level...
08:36 FROGGS rn: say .(4) given sub ($n) { $n > 1 ?? $n*&?ROUTINE($n-1) !! 1 }
08:36 camelia rakudo 0808ac, niecza v24-95-ga6d4c5f: OUTPUT«24␤»
08:36 grondilu FROGGS: thanks
08:37 Timbus no, it was both. he wants to -not- upgrade rakudo, but if new code requires a newer rakudo, then he risks breaking existing code
08:38 timotimo i think reposession makes it very hard to make serialised things work in different versions
08:38 Timbus i currently use scala 2.10 for my android apps. the scala 2.8 apps dont care
08:38 FROGGS Timbus: btw, we are talking about braking existing code he has not written yet
08:38 timotimo especially if you try to combine a perl6 module that was built for an older moarvm/nqp with one for the current moarvm/nqp
08:39 jnthn How many times do I have to say "pre-compilation of modules is just cache"? :)
08:40 FROGGS I read that in Lupin's voice :o)
08:40 cibs joined #perl6
08:40 jnthn timotimo: Yes but both CPAN and Panda install modules by grabbing their *source*.
08:41 timotimo of course. i think the argument was about bytecode-compiled things, though. so now i'm confused
08:41 jnthn I didn't read the discussion as really being about that, more about language stability.
08:42 moritz you don't install python modules by copying .pyc files. You don't install a Perl 6 module by copy bytecode files.
08:45 FROGGS right, you just use tadzik or panda or what it was called :o)
08:45 jnthn tadzik install JSON::Tiny # :D
08:45 FROGGS like you use the --timotimo option when you want to have a faster nqp/rakudo *g*
08:45 tadzik what? Install it yourself
08:45 FROGGS hehe
08:45 tadzik :P
08:46 timotimo haha, i wish
08:46 jnthn sudo tadzik install JSON::Tiny
08:46 jnthn :P
08:46 lizmat joined #perl6
08:46 FROGGS sudo tadzik install --force JSON::Tiny # haha, no escape!
08:46 tadzik /o\
08:46 FROGGS ^--- damn, there it is
08:47 tadzik let me show you the stacktrace of my people
08:48 hoelzro haha
08:52 FROGGS .tell TimToady The only thing that would be what grammars are to regexes is a template engine for sprintf/pack
08:52 yoleaux FROGGS: I'll pass your message to TimToady.
08:54 FROGGS .tell TimToady Even when I like Template Toolkit, I really don't like that is yet another scripting language inside it: http://template-toolkit.org/docs/tutorial/Web.html#section_Generating_Static_Web_Content
08:54 yoleaux FROGGS: I'll pass your message to TimToady.
08:55 lizmat good *, #perl6!
08:55 * lizmat backlogs
08:55 FROGGS .tell TimToady Would be cool if we could have a template engine where you just write perl6...
08:55 yoleaux FROGGS: I'll pass your message to TimToady.
08:55 FROGGS hi lizmat
08:56 FROGGS hmmm, now that I think about it, it almost feels like PHP
08:56 FROGGS having a template that is dominant, an then write code in something blockish
08:58 moritz FROGGS: you mean like a heredoc with an interpolated block?
08:58 FROGGS but in TT2, the template scripting language is usually split by the document
08:58 moritz we already have that
08:58 timotimo i kind of liked meld.
08:58 timotimo (only sensible for xml-like stuff)
08:59 FROGGS moritz: what you really want is: [% for ^5 { %] <tr><td>hello</td></tr> [% } %]
09:00 FROGGS timotimo: if would be cool if you had one thing that is capable of "replace" sprintf *and* pack
09:00 FROGGS replacing*
09:00 timotimo i'm not sure i'd like to have that in the same bundle
09:01 moritz pack produces bufs, sprintf/fmt Strs
09:01 FROGGS but both turn data into a str/buf/blob
09:01 FROGGS so it is just about serialization
09:02 FROGGS though, for the pack case you won't have a binary-template I suppose
09:03 timotimo i'm not sure i'd like to express things like "variable length lists" in traditional sprintf or even pack-like language
09:03 timotimo though, List.fmt makes it kinda nice
09:03 timotimo but that's mostly for simple things
09:04 FROGGS exactly, like regexes are nice for simple things
09:04 timotimo for binary formats, there ought to be things like "and right here i'd like to put in the number of bytes the next N codes will generate"
09:14 xinming joined #perl6
09:19 * grondilu looks at the Wikipedia page about printf, and notices that there is a %p (pointer to void) format, which in "implementation-defined"
09:20 grondilu (so maybe you could do sprintf("%10p", @a[^10]); or something.  But I guess you could just use %c)
09:28 masak yeah, -1 on adding %p to sprintf
09:29 timotimo :)
09:29 nwc10 Bother. https://github.com/python doesn't mirror jython
10:04 SamuraiJack__ joined #perl6
10:06 lizmat Could someone run this on jakudo and tell me what it says?  my Int @a=^3; @a[1]:delete; @a.map:{ .WHAT.perl.say }; @a[1].WHAT.perl.say
10:06 timotimo nqp/master + rakudo/nom?
10:06 lizmat doesn't really matter
10:07 lizmat this is deep in MapIter, and that has specific versions for Parrot and JVM
10:07 jnthn .oO( wish we had a jakudo evalbot... )
10:07 * timotimo needs to build
10:08 jnthn lizmat:
10:08 jnthn Int
10:08 jnthn Any
10:08 jnthn Int
10:08 jnthn Int
10:08 timotimo that's ... unfortunate
10:08 lizmat ok, so same pb on jakudo
10:08 jnthn (that's on cursless branch, but no MapIter changes there)
10:08 lizmat indeed
10:09 lizmat so the pb is in the non-VM specific code
10:09 lizmat s/is/could be/
10:09 jnthn It took 678 Cursor objects to parse it too, fyi :P
10:09 timotimo hehe
10:09 timotimo that's quite a few per character :|
10:09 timotimo r: q{my Int @a=^3; @a[1]:delete; @a.map:{ .WHAT.perl.say };}.chars.say
10:09 camelia rakudo 0808ac: OUTPUT«54␤»
10:09 jnthn Well, remember we have some fixed overhead too
10:10 jnthn But yeah, worth analizing
10:10 jnthn *analyzing
10:10 timotimo did anyone apply my patches to nqp and rakudo cursless branches? (or possibly just master/nom)
10:10 jnthn But not when I'm meant to be writing work slides...
10:11 timotimo :)
10:11 jnthn timotimo: No, I didn't get chance to do any signficiant perl6 stuff yet today :)
10:11 timotimo don't you worry :)
10:11 mtk0 joined #perl6
10:12 * lizmat submitted rakudobug #120071
10:12 * synopsebot Link: https://rt.perl.org/rt3//Public/Bug/Display.html?id=120071
10:20 dalek roast: 75b4e72 | (Elizabeth Mattijsen)++ | S32-hash/delete-adverb.t:
10:20 dalek roast: Array :delete tweaks
10:20 dalek roast: review: https://github.com/perl6/roast/commit/75b4e728d7
10:25 iSlug joined #perl6
10:28 dalek roast: 4f3e3b6 | (Elizabeth Mattijsen)++ | S32- (2 files):
10:28 dalek roast: Split off @a:delete tests into separate file
10:28 dalek roast: review: https://github.com/perl6/roast/commit/4f3e3b684a
10:29 woolfy All of you are wonderful people.  Just wanted to say that.
10:29 yoleaux 1 Oct 2013 00:42Z <[Coke]> woolfy: my copy of the great dalmuti arrived today. Forced all 3 kids to play, they were hooked after the first round.
10:29 timotimo woolfy: you. i like you.
10:30 mstwu00 joined #perl6
10:31 jnthn lizmat: if you do an nqp::iscont on the $_ in that map, how's it look?
10:33 lizmat jnthn: 0 on the deleted entry
10:33 lizmat 1 on the others
10:33 lizmat but I guess that was the point of binding deleted array elements to nqp::null, wasn't it ?
10:34 jnthn That's a clue also.
10:35 jnthn r: my @a = 1..4; @a[2]:delete; for @a { $_ = 42 }; say @a;
10:35 camelia rakudo 0808ac: OUTPUT«Cannot modify an immutable value␤  in block  at /tmp/x6j3W34vku:1␤␤»
10:35 jnthn r: my @a = 1..4;  for @a { $_ = 42 }; say @a;
10:35 camelia rakudo 0808ac: OUTPUT«42 42 42 42␤»
10:35 timotimo oh, that's not nice
10:35 jnthn lizmat: Is the first of these what you expect?
10:35 timotimo once deleted, it leave a hole in the very fabric of space-time
10:36 jnthn Another question: should deleted things even show up when you iterate? :)
10:36 lizmat r: my @a=^3; @a[1]:delete; @a[1]=42; say @a
10:36 camelia rakudo 0808ac: OUTPUT«0 42 2␤»
10:37 lizmat timotimo: only in loops, aliased to $_
10:37 lizmat I guess it's another symptom of the same underlying pb
10:37 lizmat jnthn: well, good question
10:37 timotimo oh, right, don't you want <-> for that anyway?
10:37 timotimo oh, no, because a list is an array of containers
10:38 jnthn timotimo: for with $_ in it is <-> semantics
10:38 jnthn for @a { } is for @a <-> $_ { }
10:38 timotimo oh!
10:38 timotimo i learn so many things here
10:38 lizmat jnthn: indeed, maybe
10:38 lizmat but that would be more up TimToady's alley to ponder about
10:39 lizmat if we take consider an array to be a hash with Int keys, then yes, they should disappear
10:39 jnthn yeah, I don't know if/what the spec says here
10:39 lizmat but then .elems should also not consider
10:39 lizmat spec is slushy there
10:40 timotimo right; .elems vs .end
10:40 jnthn Yes, and I don't think we can break .elems that way
10:40 jnthn I think as spec'd delete only affects elems if you delte at the end.
10:40 jnthn In which case it's pop-y.
10:41 timotimo pop-y the sailor?
10:41 tadzik hyhy
10:42 lizmat Only mention of :delete in array context, is in S32/Containers
10:42 jnthn hah, when I was a kid we had so many rude variations of the popeye the sailor man lyrics...
10:44 timotimo .o( i like spinach )
10:44 tadzik http://imgur.com/TgvtbGj
10:46 dalek roast: 7536e9c | (Elizabeth Mattijsen)++ | S32- (2 files):
10:46 dalek roast: Split off @a:exists tests into separate file
10:46 dalek roast: review: https://github.com/perl6/roast/commit/7536e9c090
10:50 fridim_ joined #perl6
10:51 iSlug joined #perl6
10:56 dalek rakudo/nom: f6e11ba | (Elizabeth Mattijsen)++ | t/spectest.data:
10:56 dalek rakudo/nom: Make sure @a:exists and @a:delete tests are run
10:56 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/f6e11bade6
11:01 lizmat jnthn: how do you do nqp::isnull in pir ?
11:02 moritz r: say pir::null__IP(Mu)
11:02 camelia rakudo 0808ac: OUTPUT«===SORRY!===␤error:imcc:syntax error, unexpected COMMA, expecting '\n' (',')␤     in file '(file unknown)' line 66␤␤»
11:02 moritz r: say pir::isnull__IP(Mu)
11:02 camelia rakudo 0808ac: OUTPUT«0␤»
11:03 moritz lizmat: like this, it seems
11:03 moritz so just  $I0 = isnull $P1
11:03 lizmat if is_sink goto sink_result
11:03 lizmat push rpa, result
11:04 lizmat I think I need to put in an isnull check between those, to skip the entry
11:04 lizmat as jnthn suggested
11:04 FROGGS $I0 = isnull $P1
11:04 lizmat if isnull result goto next
11:04 moritz $I0 = isnull result
11:04 moritz if $I0 goto next
11:04 FROGGS unless $I0 goto blarg
11:05 FROGGS ohh, what moritz said
11:05 lizmat trying moritz++ suggestion
11:20 dmol joined #perl6
11:22 lizmat alas, no difference
11:25 jnthn But result is what the map block returns, no?
11:25 jnthn Not the thing given do it
11:25 jnthn *to
11:30 lizmat jnthn: to be honest, I'm not sure
11:31 lizmat src/core/MapIter, line 89: result = block(args :flat)  is in my interpretation where the value is fetched
11:32 lizmat line 91 is where it gets pushed onto the RPA of the map
11:34 FROGGS result is the return value of executing map's block with one arg from the input array
11:35 FROGGS so, args :flat is like $_.flat
11:37 jnthn lizmat: No, that's not fetched, that's invoking the map block
11:38 jnthn args contains what was fetched
11:39 FROGGS hmmm, what is the problem again?
11:39 lizmat ok, so "perl6_shiftpush args, items, argc" is where everything happens ?
11:39 FROGGS that the Any appears where a :delete happended?
11:39 lizmat yup
11:39 FROGGS lizmat: no, that is just a declaration
11:39 jnthn it's not a decl
11:40 jnthn That's an op
11:40 FROGGS ahh, true
11:40 FROGGS sorry
11:40 jnthn shifting argc items from items and pushing them onto args
11:41 jnthn I think we need to figure out what the desired semantics are before going any further, though.
11:41 FROGGS the 'block' in line 89 is really the BLOCK in @thing.map(BLOCK)
11:41 jnthn FROGGS: correct
11:41 FROGGS which is callable and therefor gets invoked
11:41 mstwu00 joined #perl6
11:41 FROGGS and has an implicit signature
11:42 * lizmat gets out of this discussion, as it's getting more worse than I can handle (the French understand what I mean)
11:44 FROGGS @array.map($block) is like: for (@array) -> $_ { $block($_) }
11:45 FROGGS and the last bit is line 89
11:45 mstwu00 joined #perl6
11:47 mstwu00 joined #perl6
11:48 colomon joined #perl6
11:49 sqirrel joined #perl6
11:50 mstwu00 joined #perl6
11:50 FROGGS lizmat: do you know that the problem is in reify()?
11:51 pdurbin left #perl6
11:51 lizmat FROGGS: I'm not sure where the problem is
11:52 FROGGS k
11:52 lizmat and at this time, not sure about the proper solution: whether to skip deleted entries while iterating over an array, or to make sure they return the right type object
11:53 lizmat I'm leaning to the former, but hoping TimToady will shine a light on this
11:56 jnthn lizmat: My gut feeling is that neither way will be an easy fix, so we should figure out which way it should be before spending more time on it.
11:57 lizmat agree, hence my ticket lest we forget
11:58 jnthn *nod*
12:01 FROGGS r: my @a = ^3; my $items := nqp::getattr(@a,List,'$!items'); nqp::bindpos($items, 1, nqp::null()); @a.map:{ .WHAT.perl.say };
12:01 camelia rakudo f6e11b: OUTPUT«This type does not support positional operations␤  in block  at /tmp/xhzQkzetMJ:1␤␤»
12:04 FROGGS hmmm
12:10 lizmat r: my @a=^10; my @b=@a.clone; say @b  # I seem to recall that the bitrot in cloning arrays is known ?
12:10 camelia rakudo f6e11b: OUTPUT«This type does not support elems␤  in method REIFY at src/gen/CORE.setting:7795␤  in method REIFY at src/gen/CORE.setting:8109␤  in method reify at src/gen/CORE.setting:7027␤  in method reify at src/gen/CORE.setting:7014␤  in method gimme at src/gen/CORE.settin…»
12:12 FROGGS ./perl6 -e 'my Int @a=^3; @a[1]:delete; @a.map:{ .WHAT.perl.say };'
12:12 FROGGS Int
12:12 FROGGS Int
12:12 FROGGS that is rakudo-jvm
12:12 lizmat ah, no Any, so it's skipping ?
12:13 mattp_ joined #perl6
12:13 FROGGS I changed Array.pm line 81 to nqp::bindpos($items, pos, Nil);
12:13 FROGGS can't test on rakudo@parrot atm
12:14 lizmat what does :exist on that element say ?
12:14 FROGGS True
12:14 shinobicl joined #perl6
12:15 lizmat that's a pb: deleted elements shouldn't exists
12:15 jnthn right
12:15 FROGGS well, I deleted in the middle, so True might be about the element that was after th deleted one
12:15 jnthn I don't think that's the right way to fix it...
12:16 FROGGS ahh, +@a is stil 3
12:16 FROGGS still*
12:16 lizmat indeed, :delete is *not* a splice
12:16 lizmat it is a .pop if done at the end, though
12:16 FROGGS yeah
12:16 FROGGS hmmm
12:16 prevost joined #perl6
12:17 FROGGS so, 3 is right, but it should state that it doesn't exist
12:17 lizmat yup, and the setting is binding to nqp::null, and the exists check is nqp::isnull
12:17 lizmat as per jnthn's suggestion
12:18 FROGGS yeah
12:19 denysonique joined #perl6
12:20 jnthn I still think that is the right approach
12:20 jnthn Just need to work out how it plays with iteration
12:22 FROGGS trying a fix
12:28 pmurias joined #perl6
12:29 pmurias hi
12:31 dalek rakudo-js: a68d569 | jimmy++ | src/QAST/Compiler/JavaScript.nqp:
12:31 dalek rakudo-js:  proper handling of classes an zerowidth, jnthn++
12:31 dalek rakudo-js: review: https://github.com/pmurias/rakudo-js/commit/a68d5694e1
12:31 dalek rakudo-js: 069713a | (Pawel Murias)++ | src/QAST/Compiler/JavaScript.nqp:
12:31 dalek rakudo-js: Merge pull request #1 from zhuomingliang/patch-1
12:31 dalek rakudo-js:
12:31 dalek rakudo-js:  proper handling of classes an zerowidth
12:31 dalek rakudo-js: review: https://github.com/pmurias/rakudo-js/commit/069713aaab
12:42 kbaker joined #perl6
12:42 FROGGS hmmm
12:48 dalek roast: 19156f8 | (Elizabeth Mattijsen)++ | S32-array/delete-adverb.t:
12:48 dalek roast: Cat-licensed missing %h:delete tests to @a:delete
12:48 dalek roast: review: https://github.com/perl6/roast/commit/19156f86f7
12:48 dalek roast: 9c6e784 | (Elizabeth Mattijsen)++ | S32-hash/delete-adverb.t:
12:48 dalek roast: Tweaks to %h:delete tests, while cat-licensing @a:delete tests
12:48 dalek roast: review: https://github.com/perl6/roast/commit/9c6e784174
12:49 lizmat some 100+ passing tests for rakudo
12:50 FROGGS cool!
12:50 FROGGS I like tests
12:51 lizmat now it's time for some cycling, errands and by that time, dinner&
12:52 colomon "cat-licensing"?
13:06 grondilu is there a japanese branch of Perl 6 developpers?  https://www.youtube.com/watch?v=eKr38snxZBw
13:06 FROGGS ahhhhh, I am soooo stupid
13:07 ajr joined #perl6
13:07 iSlug joined #perl6
13:08 PacoAir joined #perl6
13:11 * masak knows the feeling :/
13:12 * jnthn three
13:15 raiph joined #perl6
13:15 grondilu joined #perl6
13:24 skids joined #perl6
13:32 * moritz enjoyed reading http://www.scottaaronson.com/blog/?p=122 even though he didn't understand all of it
13:38 masak yes, that's a good post.
13:40 kay_ joined #perl6
13:40 lowpro30 joined #perl6
13:51 btyler joined #perl6
13:58 nwc10 Rakudo seems to be an excellent way of demonstrating bugs in Oracle's latest JVM release for ARM. :-(
13:58 jnthn nwc10: Does the cursless branches by any chance make your JVM, uh, curs[e] less? :)
13:58 nwc10 that's a rakudo branch, or an NQP branch?
13:59 moritz nqp
13:59 nwc10 I had been rather hoping to replicate the success of the run that got past stage jast
13:59 nwc10 this is the Perl 6 setting - will it make a difference there?
14:00 jnthn nqp and Rakudo
14:00 nwc10 if I checkout out Rakudo, does it pick up the right NQP?
14:00 jnthn nwc10: Well, it does almost a million less allocations of Cursor
14:00 jnthn nwc10: Maybe not. You may want to wait for it to be merged
14:00 jnthn May do that tonight if spectest is clean.
14:00 nwc10 I had assumed that life would be easier if I waited
14:00 jnthn So you might have an easier time wating a little :)
14:00 jnthn Depends if you liek an easy life :P
14:01 nwc10 tonight I'm at the venna.pm meeting that is supposed to be about planning for the workshop next month
14:01 nwc10 so it might wait until tomorrow
14:01 jnthn nice
14:01 jnthn enjoy the beer
14:01 jnthn I promise to submit soon :)
14:02 prevost joined #perl6
14:03 nwc10 submit what? talks?
14:03 nwc10 jnthn: meeting is here -- http://www.bogside.at/ -- they also have bottles of cider
14:04 jnthn nwc10: talks for the workshop, yes
14:04 jnthn I didnt miss deadline did I? :)
14:05 jnthn nwc10: Darn, I miss not being able to attend Vienna.pm more often.
14:05 nwc10 27.10.2013, alledgedly
14:05 nwc10 that is rather close
14:05 nwc10 (to the workshop)
14:05 moritz r: say Date.new(2013, 10, 27) - Date.today
14:05 camelia rakudo f6e11b: OUTPUT«25␤»
14:05 bluescreen10 joined #perl6
14:06 jnthn oh, that's ages!
14:08 salv0 joined #perl6
14:08 nwc10 however, I rather think that it would be better to have a schedule before then
14:13 jnthn probably ;)
14:17 masak r: say Date.new(|"27.10.2013".split('.')[2,1,0])
14:17 camelia rakudo f6e11b: OUTPUT«Type check failed in assignment to '$!year'; expected 'Int' but got 'Str'␤  in block  at src/gen/CORE.setting:838␤  in method BUILDALL at src/gen/CORE.setting:821␤  in method bless at src/gen/CORE.setting:810␤  in method new at src/gen/CORE.setting:14685␤  in m…»
14:17 masak r: say Date.new(| +<<"27.10.2013".split('.')[2,1,0])
14:17 camelia rakudo f6e11b: OUTPUT«2013-10-27␤»
14:17 masak \o/
14:19 moritz r: say Date.new(| %( <day month year> Z "27.10.2013".split('.')) )
14:19 camelia rakudo f6e11b: OUTPUT«Type check failed in assignment to '$!year'; expected 'Int' but got 'Str'␤  in block  at src/gen/CORE.setting:838␤  in method BUILDALL at src/gen/CORE.setting:821␤  in method bless at src/gen/CORE.setting:810␤  in method new at src/gen/CORE.setting:14685␤  in m…»
14:19 moritz r: say Date.new(| %( <day month year> Z +<<"27.10.2013".split('.')) )
14:19 camelia rakudo f6e11b: OUTPUT«2013-10-27␤»
14:19 moritz we should really have Date.new accept Cool
14:19 jnthn r: say Date.new(| +<<"27.10.2013".split('.').reverse )
14:19 camelia rakudo f6e11b: OUTPUT«2013-10-27␤»
14:20 jnthn aye
14:21 jnthn r: say Date.new(| +<<"27.10.2013".words.reverse )
14:21 camelia rakudo f6e11b: OUTPUT«Default constructor for 'Date' only takes named arguments␤  in method new at src/gen/CORE.setting:798␤  in method new at src/gen/CORE.setting:793␤  in block  at /tmp/VOgpgA0uVd:1␤␤»
14:21 jnthn oh, yeah :)
14:21 jnap joined #perl6
14:21 ksh joined #perl6
14:23 jnthn r: my regex dotdmy { $<day>=[\d+] '.' $<month>=[\d+] '.' $<year>=[\d+] }; say Date.new(|%("27.10.2013".match(/<dotdmy>/)))
14:23 camelia rakudo f6e11b: OUTPUT«2013-12-24␤»
14:24 jnthn oh yeah...
14:24 jnthn r: my regex dotdmy { $<day>=[\d+] '.' $<month>=[\d+] '.' $<year>=[\d+] }; say Date.new(|%("27.10.2013".match(&dotdmy/)))
14:24 camelia rakudo f6e11b: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/SiV8iTz1xfâ�¤Unable to parse expression in argument list; couldn't find final ')'â�¤at /tmp/SiV8iTz1xf:1â�¤------> [32m Date.new(|%("27.10.2013".match(&dotdmy/[33mâ��[31m)))[0mâ�¤    expecting any of:â�¤        â€¦Â»
14:24 jnthn r: my regex dotdmy { $<day>=[\d+] '.' $<month>=[\d+] '.' $<year>=[\d+] }; say Date.new(|%("27.10.2013".match(&dotdmy)))
14:24 camelia rakudo f6e11b: OUTPUT«Type check failed in assignment to '$!year'; expected 'Int' but got 'Match'␤  in block  at src/gen/CORE.setting:838␤  in method BUILDALL at src/gen/CORE.setting:821␤  in method bless at src/gen/CORE.setting:810␤  in method new at src/gen/CORE.setting:14685␤  in…»
14:24 jnthn That'd work with a more liberal typing too :)
14:25 fglock joined #perl6
14:25 fglock hi #perl6
14:25 xenoterracide joined #perl6
14:25 fglock I'm thinking about developing the perlito-based perl5 to perl6 translator a bit more
14:26 fglock do you have ideas about that?
14:27 fglock the perlito5 grammar is much better now
14:28 cognominal joined #perl6
14:37 jnthn fglock: A 5 -> 6 code level translator is certainly an interesting thing
14:37 jnthn (For learning purposes amongst other things...
14:37 jnthn )
14:39 colomon bottles of cider++
14:40 nwc10 I liked the 3l wine boxes of cider better, but I couldn't find them last time I was in the UK
14:40 jnthn Now that's something to wine about...
14:42 iSlug joined #perl6
14:43 * nwc10 fails on puns
14:43 colomon don't think anyone has thought of 3l boxes of cider yet in the US.
14:46 jnthn wat, I thought the US had everything in super-sized... :P
14:46 colomon we've just now gotten to the point where we have lots of decent choices in cider.  don't make us super-size it yet!
14:46 colomon J.K.'s said they had a great harvest of apples this year, which is very exciting.  http://organicscrumpy.com/
14:47 jnthn mmm :)
14:47 nwc10 colomon: specifically this (well, sold by the box in supermarkets until it wasn't): http://www.westons-direct.co.uk/Shop/Wyld-Wood-Organic/Wyld-Wood-Organic-Cider~~4x3L/
14:47 nwc10 you will have to pretend to be in the UK and claim to be over 18 to see that
14:47 colomon suppose I couldn't afford to buy 3l of a time of JK's stuff, though.
14:48 colomon nwc10: that sounds pretty awesome.
14:48 nwc10 it was when I could get it
14:54 geekosaur I wouldn't want to buy 3l of most of what passes for cider in the US. (most commonly, woodchuck and angry orchard. oh, and then there's the zima/mike's take on it, "apple ale".. which is something else. something very else.)
14:56 GlitchMr std: my $x<foo>;
14:56 camelia std 4cde04e: OUTPUT«ok 00:00 42m␤»
14:56 GlitchMr rn: my $x<foo> = "foo"; say $x<foo>
14:56 camelia niecza v24-95-ga6d4c5f: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤â�¤Postconstraints, and shapes on variable declarators NYI at /tmp/UE_uUZ1fHB line 1:â�¤------> [32mmy $x<foo> [33mâ��[31m= "foo"; say $x<foo>[0mâ�¤â�¤Unhandled exception: Check failedâ�¤â�¤  at /home/p6eval/niecza/boot/lib/CORE.se…»
14:56 camelia ..rakudo f6e11b: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/NJfFoozbZu�Shaped variable declarations not yet implemented. Sorry. �at /tmp/NJfFoozbZu:1�------> [32mmy $x<foo>[33m�[31m = "foo"; say $x<foo>[0m�»
14:57 GlitchMr std: my $x<foo> = "foo"; say $x<foo>
14:57 camelia std 4cde04e: OUTPUT«ok 00:00 43m␤»
14:58 colomon geekosaur: I'm reasonably fond of many of the more recent varieties of Woodchuck.  I've got a few Woodchuck Crisp in the fridge at the moment, for drinking and cooking.  When my wife bought me Angry Orchard, though, I ended up using it all for cooking.
14:59 gattschardo joined #perl6
14:59 geekosaur mm, I got one of their combo packs (3 each of 4 varieties), only found the Granny Smith to be drinkable. but, de gustibus...
15:00 geekosaur don't recall if Crisp was in there
15:00 colomon Granny Smith would be one of my least favorite of theirs.  ;)
15:00 colomon but I *never* buy the combo packs, they usually have at least two kinds I don't like
15:01 colomon our local liquor store has about 15 different varieties of cider available normally
15:01 colomon weed out the woodchuck and the angry orchard and there are still a number of interesting choices left.
15:02 colomon and they almost always have JK's.
15:08 shinobicl left #perl6
15:09 denisboyun joined #perl6
15:12 dalek specs: 2845cf6 | larry++ | S (3 files):
15:12 dalek specs: rename all the Key* types, add missing "Mix"
15:12 dalek specs:
15:12 dalek specs: Set-> Set does Setty
15:12 dalek specs: Bag-> Bag does Baggy
15:12 dalek specs: -> Mix does Mixy
15:12 dalek specs: KeySet-> SetHash does Setty does MixHash[Bool,False]
15:12 dalek specs: KeyBag-> BagHash does Baggy does MixHash[Uint,0]
15:12 dalek specs: KeyHash-> MixHash does Mixy  does MixHash[Real,0.0]
15:12 dalek specs: review: https://github.com/perl6/specs/commit/2845cf6aef
15:13 jnthn What a Mix-up... :P
15:13 TimToady more like a de-mixup, but yeah :)
15:13 yoleaux 08:53Z <FROGGS> TimToady: The only thing that would be what grammars are to regexes is a template engine for sprintf/pack
15:13 yoleaux 08:54Z <FROGGS> TimToady: Even when I like Template Toolkit, I really don't like that is yet another scripting language inside it: http://template-toolkit.org/docs/tutorial/Web.html#section_Generating_Static_Web_Content
15:13 yoleaux 08:55Z <FROGGS> TimToady: Would be cool if we could have a template engine where you just write perl6...
15:13 jnthn TimToady: Yeah, was just punning :)
15:14 TimToady not sure about the punning of MixHash, but oh well
15:15 TimToady the role is really more like SelfPruningHash
15:16 TimToady ExistentialHash :)
15:16 TimToady AmountOfExistenceHash
15:17 TimToady well, that's really the Mixy role's abstraction, the other is still just self-pruning
15:17 colomon geez, look away for a minute and TimToady++ makes huge changes….
15:17 jnthn HashTodayGoneTomorrow
15:18 arnsholt jnthn: Someone mentioned a bug in NQP where the match objects for subrules were available in some contexts but not in others. Do you remember if an issues was submitted for that? (Or who found it?)
15:18 arnsholt A week or two back, IIRC
15:18 jnthn arnsholt: Don't recall, sorry :(
15:18 TimToady colomon: mostly just renaming
15:18 jnthn arnsholt: Oh...
15:18 jnthn arnsholt: Maybe it was something about code assertions or something
15:19 jnthn And $/ updating?
15:19 arnsholt Yeah
15:19 jnthn yeah, dunno if it was filed
15:19 jnthn Pretty sure we have a related Rakudo bug tikcet though.
15:20 arnsholt I'd like to do (essentially) /<foo> <bar($<foo>.ast)>/ in my Python grammar, but I can't. So I figured if I couldn't dig around and see if I can find the bug
15:20 TimToady sounds like not setting up $/
15:20 jnthn arnsholt: Workaround:
15:21 jnthn /<foo> {} <bar($<foo>.ast)>/
15:21 FROGGS joined #perl6
15:21 TimToady two problems
15:21 jnthn But do file an NQP issue too
15:21 TimToady I'd think $/ would only exist inside the $/
15:21 jnthn ?
15:21 TimToady also that {} mostly wants to be optimized away
15:21 fhelmberger joined #perl6
15:22 jnthn .oO( Yo dawg, I heard you like $/ so I made a $/ exist in a $/ )
15:22 * FROGGS needs to backlog to understand that
15:22 jnthn TimToady: did you mean inside the block?
15:22 TimToady oh, yeah, sorry
15:22 TimToady ELESSCOFFEE
15:22 jnthn TimToady: We socpe $/ to the regex itself (with positional captures having their own) though
15:23 jnthn I agree {} wants optimizing out, anyway
15:23 jnthn In general, when we update $/ wants more analysis
15:23 jnthn We can statically see when things do/don't use it.
15:23 jnthn In NQP we can, anyway
15:24 jnthn Which should save many .MATCH calls.
15:24 arnsholt Ah, right. $/ is only constructed once the whole match is complete?
15:24 jnthn arnsholt: *or* in other special cases.
15:24 jnthn {...} being one of them
15:24 TimToady STD constructs $/ for <bar(...)> I think
15:24 jnthn Yeah. We should but it's nice if we can get away with it when we don't need to
15:24 TimToady maybe only if $/ is reffed though
15:25 colomon TimToady: SetHash, BagHash, and MixHash should be Iterable, shouldn't they?
15:25 TimToady yeah
15:25 colomon MixHash     Mixy  MixHash[Real,0.0] strikes me as a circular definition?
15:25 TimToady should behave exactly like the immutables, except for the mutability
15:25 TimToady just a pun
15:25 TimToady which I was talking about fixing above
15:26 colomon TimToady++
15:26 * colomon doesn't have time to backlog at the moment, alas.  :(
15:29 arnsholt Ah, found the bug. #119877
15:29 synopsebot Link: https://rt.perl.org/rt3//Public/Bug/Display.html?id=119877
15:29 arnsholt I was even right about who found it, just couldn't find it in the logs since I was searching for NQP, not rakudo
15:33 dalek specs: 1d47100 | larry++ | S (2 files):
15:33 dalek specs: distinguish QuantHash role from MixHash instance
15:33 dalek specs: review: https://github.com/perl6/specs/commit/1d47100fcd
15:37 colomon TimToady: how long have we had .grab?
15:38 TimToady I dunno, half a year, plus or minus
15:38 * TimToady would rather see .combinations first though :)
15:39 TimToady just so we can point people at it when they carp about .comb not meaning that :)
15:40 grondilu why isn't it implemented yet?  We have some code on rosettacode for it.
15:40 jnthn Nobody with a commit bit got around to it, and nobody without one sent a pull request. :)
15:40 TimToady dunno, a strange reticence to install something that might not be optimal, I think
15:41 pmurias joined #perl6
15:41 jnthn If somebody sends a pull request and adds a combinations.t to roast and the implementation passes the tests, I'll accept the PR. :)
15:41 grondilu actually, we've already talked about it, but we realised we could not easily test something using MONKEY_TYPING.  That decouraged me, anyway.
15:42 grondilu r: use MONKEY_TYPING; augment class List { method combinations() {...} };
15:42 camelia rakudo f6e11b: ( no output )
15:42 grondilu hum it works now
15:43 TimToady oh, different meaning of test than I read it as
15:43 TimToady well, you don't know that it works
15:43 TimToady you haven't tested it :P
15:43 grondilu last time, it didn't even compile
15:43 TimToady I thought it was just invisible
15:44 jnthn r: use MONKEY_TYPING; augment class List { method combinations() {...} }; (1,2,3).list.combinations
15:44 camelia rakudo f6e11b: OUTPUT«Stub code executed␤current instr.: 'throw' pc 398981 (src/gen/CORE.setting.pir:167852) (src/gen/CORE.setting:10436)␤called from Sub 'sink' pc 435047 (src/gen/CORE.setting.pir:181081) (src/gen/CORE.setting:11826)␤called from Sub 'MAIN' pc 401 (src/gen/perl6.pir:…»
15:44 TimToady looks like it found it
15:44 perigrin remember the MAIN
15:45 grondilu why is it not defined on Positional?
15:46 grondilu I mean, if we define it on List then we have to explicitely cast to List if we want to apply it to an array, don't we?
15:47 TimToady yes, we should make it work everywhere that it makes sense to work
15:47 TimToady and maybe some places where it doesn't, like Any :)
15:47 jnthn The usual way is to do a method combinations() { self.list.combinations } in Any
15:49 grondilu IIRC, you guys are not too keen on using gather take in the core, are you?
15:49 TimToady interestingly, with default method, 42.combinations would return (),42
15:49 TimToady gotta be some use for that...
15:49 jnthn grondilu: Prefer not to
15:50 jnthn grondilu: But if it's the only sensible way to get the laziness right...
15:50 grondilu I'll rewrite http://rosettacode.org/wiki/Combinations#Perl_6 with MONKEY_TYPING first
15:50 kaare_ joined #perl6
15:50 TimToady well, gather/take is not (supposed to be) the only way to get laziness
15:51 jnthn aye, but it's a *convenient* way :)
15:51 sqirrel joined #perl6
15:52 TimToady not as convenient as a list comprehension
15:52 TimToady (using the term loosely)
15:55 jnthn "list comprehension", or "convenient"? :)
16:03 lowpro30_ joined #perl6
16:04 grondilu well, I remember having thought about that the other day, and I concluded that it was maybe a bit useless to define combinations on any collection of stuff.  I mean defining combinations on integers might be enough.  Say we have sub combinations(Int $n, Int $k) {...} returning all combinations of $k integers among 0 .. $k-1, then to get the combinations of $k elements of @a, we can just get @a[combinations +@a, $k].  This would also allow to use a
16:04 TimToady truncated at "use a"
16:04 grondilu ...cache
16:06 grondilu after all, all countable sets are isomorph, so we should just focus on the natural integers.
16:07 TimToady well, it's still convenient for the user if you do the subscripting for them, rather than forcing them to slice their collection
16:07 colomon +1 to user convenience
16:08 grondilu ok
16:09 colomon As TimToady implies, handling the Int version first is probably a good idea.
16:11 grondilu method combinations(Int $k) { gather take @a[@$_].item for combinations +@a, $k }
16:11 grondilu ^ something like that maybe?
16:11 grondilu method combinations(Int $k) { gather take self[@$_].item for combinations .elems, $k }
16:12 arnsholt jnthn: Is the code handling the match construction shared between backends, or separate to each QAST compiler?
16:12 TimToady grondilu: where is $_ coming from?
16:12 TimToady I guess it's pseudocode, nevermind
16:13 jnthn arnsholt: It's in the NQP and Rakudo subclasses of P6Regex::Actions
16:13 jnthn arnsholt: In their respective Actions.nqp files
16:13 * TimToady tries to backlog again while resisting the urge to Change the World!
16:14 grondilu TimToady: from sub combinations
16:14 arnsholt Cheers! I'll see if I can't hack up a fix
16:14 grondilu the routine being the natural integers version
16:15 TimToady I meant the $_ implied by .elems
16:15 denis_boyun joined #perl6
16:16 TimToady that won't pick self unless you say method combinations($_: Int $k)
16:17 TimToady not pickin' on you though--we confused self and $_ for *years* here...
16:17 grondilu TimToady: yeah I made this mistake indeed.  I meant self.elems
16:17 spider-mario joined #perl6
16:17 grondilu I'll try to write a version of sub combinations, and I'll come back to you.
16:18 TimToady eventually we figured out that the object is not the same as the subject :)
16:18 benabik joined #perl6
16:20 sqirrel joined #perl6
16:23 ssutch joined #perl6
16:24 grondilu well, that was quicker than I thought:  https://gist.github.com/grondilu/6796390
16:24 grondilu it seems to work.
16:24 grondilu r: https://gist.github.com/grondilu/6796390
16:24 camelia rakudo f6e11b: OUTPUT«((0, 1, 2), (0, 1, 3), (0, 1, 4), (0, 1, 5), (0, 2, 3), (0, 2, 4), (0, 2, 5), (0, 3, 4), (0, 3, 5), (0, 4, 5), (1, 2, 3), (1, 2, 4), (1, 2, 5), (1, 3, 4), (1, 3, 5), (1, 4, 5), (2, 3, 4), (2, 3, 5), (2, 4, 5), (3, 4, 5)).list␤»
16:25 PerlJam grondilu: I often have that "quicker than I thought" experience with Perl 6.   :)
16:25 grondilu :)
16:30 TimToady of course, using subscripting on ^6 is kinda silly
16:31 TimToady just return the indices
16:31 daniel-s_ joined #perl6
16:31 grondilu indeed
16:31 TimToady but I understand you were demonstrating the general idea
16:36 TimToady r: say :foo
16:36 camelia rakudo f6e11b: OUTPUT«␤»
16:36 TimToady that seems like it should fail
16:37 TimToady r: print :foo
16:37 camelia rakudo f6e11b: ( no output )
16:37 [Sno] joined #perl6
16:38 TimToady r: say :foo, 42
16:38 camelia rakudo f6e11b: OUTPUT«42␤»
16:38 * jnthn has merged cursless locally and is spectesting
16:38 TimToady n: say :foo, 42
16:38 camelia niecza v24-95-ga6d4c5f: OUTPUT«Unhandled exception: Excess arguments to gistcat, unused named foo␤  at /home/p6eval/niecza/lib/CORE.setting line 0 (gistcat @ 1) ␤  at /home/p6eval/niecza/lib/CORE.setting line 1399 (say @ 7) ␤  at /tmp/GnpeRXkxWF line 1 (mainline @ 3) ␤  at /home/p6e…»
16:38 TimToady rakudobug of some sort
16:39 jnthn say cheats :)
16:39 jnthn I think fossil from early days of nom :)
16:39 jnthn these days it's probably better to turn it into a multi with a single arg candidate and a slurpy candidate or so...
16:39 TimToady r: say join '', :foo, 42
16:39 camelia rakudo f6e11b: OUTPUT«Unexpected named parameter 'foo' passed␤  in sub join at src/gen/CORE.setting:1712␤  in sub join at src/gen/CORE.setting:1711␤  in block  at /tmp/w2ZPcZMvvg:1␤␤»
16:40 TimToady yum, dogfood
16:41 jnthn aww, some spectest fails
16:45 jnthn food &
16:53 spider-mario joined #perl6
17:02 arnsholt nqp: "foo" ~~ /\f/
17:02 camelia nqp: ( no output )
17:03 arnsholt nqp: token foo { \f }
17:03 camelia nqp: ( no output )
17:03 wrp6 joined #perl6
17:05 iSlug joined #perl6
17:05 jnap joined #perl6
17:07 lowpro30 joined #perl6
17:10 [Sno] joined #perl6
17:11 TimToady lizmat: re iterating over deleted array entries, my feeling is that normal iteration should include the deleted entries, on the assumption that most arrays are not being used as sparse arrays, and shouldn't pay the overhead of checking to see if they are sparse.
17:11 raiph joined #perl6
17:11 TimToady and according to S02:2465 we can always get at the "weeded" version by usings adverbs
17:11 synopsebot Link: http://perlcabal.org/syn/S02.html#line_2465
17:12 cibs joined #perl6
17:13 arnsholt nqp: "foo bar" ~~ /<[\ ]>/
17:13 camelia nqp: OUTPUT«Unspace not allowed in regex at line 2, near "]>/"␤current instr.: 'panic' pc 14693 (src/stage2/gen/NQPHLL.pir:5223) (src/stage2/gen/NQPHLL.nqp:279)␤»
17:14 arnsholt Is that an NQP bug, or is there a different correct way to include spaces in a character class?
17:15 moritz std:  /<[\ ]>/
17:15 camelia std 4cde04e: OUTPUT«ok 00:00 43m␤»
17:15 moritz arnsholt: seems to be a NQP bug
17:16 TimToady EPARSINGWRONGLANGUAGE
17:16 arnsholt r: "foo bar" ~~ /<[\ ]>/
17:16 camelia rakudo f6e11b: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/Ue7_HxeIIq�Unspace not allowed in regex�at /tmp/Ue7_HxeIIq:1�------> [32m"foo bar" ~~ /<[\ [33m�[31m]>/[0m�»
17:17 TimToady ESAMETHING
17:18 timotimo grondilu: it would appear that talk was done by risou_awy_ -> http://www.risouf.net/
17:18 arnsholt std: /foo\ bar/
17:18 camelia std 4cde04e: OUTPUT«[31m===[0mSORRY![31m===[0m�No unspace allowed in regex; if you meant to match the literal character, please enclose in single quotes (' ') or use a backslashed form like \x20 at /tmp/nZJ8lGMaZD line 1:�------> [32m/foo\[33m�[31m bar/[0m�Parse failed�FAILE…»
17:19 TimToady that's correct, but the inside of <[ ]> is not "regex"
17:19 arnsholt Yeah, just making sure
17:20 nyuszika7h joined #perl6
17:22 SamuraiJack__ joined #perl6
17:22 arnsholt So, inside a character class do we allow backslash anything?
17:22 TimToady pretty much
17:22 TimToady since there's no other way to quote
17:22 SamuraiJack joined #perl6
17:23 TimToady other than \x20 and such
17:23 arnsholt I was about to ask that very question =)
17:23 TimToady which is more of a circumlocution than a quote
17:23 denis_boyun_ joined #perl6
17:24 TimToady \ and .. are the only special things (plus - for error reporting only)
17:24 TimToady well, and whitespace is whitespace-special
17:24 TimToady as in, ignored
17:25 rindolf joined #perl6
17:25 TimToady std: /<[a-b]>/
17:25 camelia std 4cde04e: OUTPUT«[31m===[0mSORRY![31m===[0m�Unsupported use of - as character range; in Perl 6 please use .. (or \- if you mean a literal hyphen) at /tmp/VNadi2IRt0 line 1:�------> [32m/<[a-b[33m�[31m]>/[0m�Parse failed�FAILED 00:00 42m�»
17:25 xinming joined #perl6
17:25 TimToady std: /<[-b]>/
17:25 camelia std 4cde04e: OUTPUT«ok 00:00 43m␤»
17:25 TimToady well, and ]
17:25 TimToady std: /<[ ] ]>/
17:25 camelia std 4cde04e: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Unable to parse metachar at /tmp/WoslTvFe76 line 1:â�¤------> [32m/[33mâ��[31m<[ ] ]>/[0mâ�¤Couldn't find final '>'; gave up at /tmp/WoslTvFe76 line 1:â�¤------> [32m/<[ ] [33mâ��[31m]>/[0mâ�¤    expecting any of:â�¤   cclass_addâ�¤     cclass_ex…»
17:25 SamuraiJack_ joined #perl6
17:25 TimToady std: /<[ \] ]>/
17:25 camelia std 4cde04e: OUTPUT«ok 00:00 43m␤»
17:26 TimToady std: /<[ [ ]>/
17:26 camelia std 4cde04e: OUTPUT«ok 00:00 43m␤»
17:26 arnsholt Right. Now I just have to figure how to disentangle this correctly in NQP
17:26 jnap joined #perl6
17:27 TimToady std: /<[ -]>/
17:27 camelia std 4cde04e: OUTPUT«ok 00:00 43m␤»
17:27 TimToady std: /<[ - ]>/
17:27 camelia std 4cde04e: OUTPUT«ok 00:00 43m␤»
17:27 TimToady oh, yeah, ws doesn't count
17:27 TimToady std: /<[ x - ]>/
17:27 camelia std 4cde04e: OUTPUT«ok 00:00 43m␤»
17:27 TimToady std: /<[ x - y ]>/
17:27 camelia std 4cde04e: OUTPUT«[31m===[0mSORRY![31m===[0m�Unsupported use of - as character range; in Perl 6 please use .. (or \- if you mean a literal hyphen) at /tmp/A4_dI3K3Ek line 1:�------> [32m/<[ x - y[33m�[31m ]>/[0m�Parse failed�FAILED 00:00 42m�»
17:28 TimToady std: /<[]]>/
17:28 camelia std 4cde04e: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Unable to parse metachar at /tmp/jwM4yJ9glv line 1:â�¤------> [32m/[33mâ��[31m<[]]>/[0mâ�¤Couldn't find final '>'; gave up at /tmp/jwM4yJ9glv line 1:â�¤------> [32m/<[][33mâ��[31m]>/[0mâ�¤    expecting any of:â�¤       cclass_addâ�¤     cclass_exprâ�¤P…»
17:28 TimToady yeah \] is the only way to get a ]
17:29 TimToady well, plus circumloctions
17:29 TimToady a bit inconsistent that we allow a leading -
17:29 perigrin joined #perl6
17:29 TimToady but that's because ranges need both endpoints
17:33 TimToady and we'd prefer <[ ]> to degenerate to matching nothing rather than being a syntax error
17:44 TimToady grondilu: while you're at it, you could thrown in a .permutations as a bonus :)
17:45 TimToady *throw
17:54 jnap joined #perl6
18:23 * jnthn back
18:23 cognominal joined #perl6
18:24 * grondilu compiles his fork of rakudo with List.combinations and List.permutations
18:25 jnthn grondilu++
18:26 grondilu I haven't commited it but here is the file if you want to look at it:  https://gist.github.com/grondilu/6798263
18:26 dalek nqp/cclass-backslash: 65c84f3 | (Arne Skjærholt)++ | t/qregex/rx_charclass:
18:26 dalek nqp/cclass-backslash: Add test for character class with space in it.
18:26 dalek nqp/cclass-backslash: review: https://github.com/perl6/nqp/commit/65c84f3043
18:26 dalek nqp/cclass-backslash: 401bc9e | (Arne Skjærholt)++ | src/QRegex/P6Regex/ (2 files):
18:26 dalek nqp/cclass-backslash: Refactor regex backslash handling to correctly handle character classes.
18:26 dalek nqp/cclass-backslash:
18:26 dalek nqp/cclass-backslash: Now, "\ " isn't incorrectly parsed as unspace (which is illegal in regexes).
18:26 dalek nqp/cclass-backslash: review: https://github.com/perl6/nqp/commit/401bc9ee04
18:27 arnsholt jnthn: Would you mind reviewing that branch?
18:27 timotimo cool :)
18:27 timotimo does it also work with \# and such?
18:27 arnsholt I think it's ok, but I've done some surgery on the regex code, and that's unfamiliar territory
18:28 arnsholt nqp: /<[\#]>/
18:28 camelia nqp: OUTPUT«Unspace not allowed in regex at line 2, near "]>/"␤current instr.: 'panic' pc 14693 (src/stage2/gen/NQPHLL.pir:5223) (src/stage2/gen/NQPHLL.nqp:279)␤»
18:28 arnsholt Oh, that's unspace as well?
18:29 arnsholt Yeah, it works on that branch here =)
18:29 timotimo that's very good :)
18:32 jnthn arnsholt: lookin
18:33 Rotwang joined #perl6
18:34 jnthn arnsholt: hmm, that is some surgery...
18:35 sqirrel joined #perl6
18:37 arnsholt Yeah. It was the most straightforward way I could see, though
18:37 * jnthn wonders if it'd be better to leave backslash alone and add cclass_backslash with all the valid ones for that in
18:37 arnsholt Since we want some of the backslash sequences to be shared, but not all of them
18:37 jnthn It'd be a little code dupe...
18:38 jnthn But in the long run we may want AST to come out differently for cclass things anyway
18:39 jnthn Especially if we end up doing inversion list stuff...
18:39 arnsholt Right, so dup the backslash stuff into cclass_backslash then
18:39 jnthn That'd be my leaning
18:39 arnsholt Okies. I'll refactor up that then
18:40 arnsholt Then I can return to the setting-up-$/ which is what I was actually doing =)
18:44 Fatalnix joined #perl6
18:45 jnthn hm, I think your fix there may deal with some of the failures in cursless too
18:45 jnthn So I'll hold off investigating until it lands :)
18:45 arnsholt Okies!
18:52 denis_boyun joined #perl6
18:55 stevan__ joined #perl6
19:02 dalek nqp: 65c84f3 | (Arne Skjærholt)++ | t/qregex/rx_charclass:
19:02 dalek nqp: Add test for character class with space in it.
19:02 dalek nqp: review: https://github.com/perl6/nqp/commit/65c84f3043
19:02 dalek nqp: 401bc9e | (Arne Skjærholt)++ | src/QRegex/P6Regex/ (2 files):
19:02 dalek nqp: Refactor regex backslash handling to correctly handle character classes.
19:02 dalek nqp:
19:02 dalek nqp: Now, "\ " isn't incorrectly parsed as unspace (which is illegal in regexes).
19:02 dalek nqp: review: https://github.com/perl6/nqp/commit/401bc9ee04
19:02 dalek nqp: a2a6cc8 | (Arne Skjærholt)++ | src/QRegex/P6Regex/ (2 files):
19:02 dalek nqp: Rerefactor backslash handling.
19:02 dalek nqp:
19:02 dalek nqp: Now, running regex and character classes don't share any code for handling
19:02 dalek nqp: backslash escapes. This means that there's some code duplication, but it'll
19:02 dalek nqp: make it easier to change character classes into something like skip lists
19:02 dalek nqp: later on.
19:02 dalek nqp: review: https://github.com/perl6/nqp/commit/a2a6cc82ea
19:02 arnsholt jnthn: Done
19:09 jnthn cool
19:09 jnthn arnsholt++
19:11 colomon arnsholt++
19:12 FROGGS cool! arnsholt++
19:12 FROGGS this awesomely replaces what I tried yesterday :o)
19:15 timotimo huh, parrot says --profile is not known
19:15 timotimo ah, it's -R profile?
19:15 timotimo profiling*
19:16 * timotimo is going to profile compiling the core setting
19:17 spider-mario joined #perl6
19:17 grondilu_ joined #perl6
19:18 japhb__ ++timotimo # A highly worth task, that.
19:18 japhb__ *worthy
19:18 timotimo generating the profiling data is the easy part ...
19:19 japhb__ Parrot or JVM?
19:19 timotimo parrot
19:19 tadzik http://www.reddit.com/r/perl6/comments/1nlbyl/i_am_having_trouble_understanding_what_nqp_is/
19:20 timotimo let's pepper that thread with a bunch of super arcane koans and other buddhist stuff!
19:20 lue Hello world! o/
19:20 colomon nqp is the perl which is not perl
19:20 TimToady What is the sound of one hand not quite clapping?
19:20 PerlJam not *quite* perl  ;)
19:20 timotimo "clear your mind and you will find out that it is not you having trouble understanding what NQP is supposed to be. NQP is having trouble being what you're supposed to understand."
19:22 lue .oO(It is a repository of rejected perls of wisdom, hence Not Quite Perl(s of Wisdom))
19:23 jnthn The main confusion is probably that we use NQP to talk about two things
19:23 timotimo to be honest, it's not as bad as pypy and pypy :)
19:24 jnthn 1) A programming language, which is a small subset of Perl 6 that is focused on language feature that are useful for building compilers, and comparatively (to full Perl 6) easy to implement and hopefully easier to optimize
19:24 * moritz composes a reply
19:24 timotimo "but pypy can't be fast because it's written in python!" on the one hand and "pypy compiles python code to C and jits it!" on the other
19:24 jnthn 2) A toolchain for building compilers, including stuff for parsing (which is handled by Perl 6 grammars), building object systems (6model) and targeting different VMs.
19:25 jnthn Of note, it happens to be a toolchain very well suited to building Perl 6 and NQP itself.
19:29 lue .oO(maybe refer to the toolchain as the NQPt ?)
19:30 timotimo the reddit perl6 sidebar links to the old try.rakudo.org
19:31 moritz http://www.reddit.com/r/perl6/comments/1nlbyl/i_am_having_trouble_understanding_what_nqp_is/ccjpzz9
19:31 moritz speaking of try.rakudo.org
19:32 moritz jnthn: how easy or hard would it be persist and resume a REPL session?
19:32 jnthn Hmm
19:32 jnthn In a better way that just replaying all the commands? :)
19:33 moritz yes
19:33 jnthn I guess you can't do stuff with filehandles...
19:33 jnthn And so on
19:33 jnthn I wonder if we can just use BS
19:33 moritz that's fine
19:33 moritz (for try.rakudo.org we won't allow opening files anyway)
19:33 jnthn That is, somehow use the serializer
19:34 jnthn And then load it like a setting.
19:34 jnthn It could be done with an alternate frontend maybe...
19:34 sqirrel joined #perl6
19:34 jnthn Kinda like the way perl6-debug works
19:35 timotimo how much slower is using the profiling runcore supposed to be than running it normally?
19:35 jnthn (but doing something very different, of course)
19:35 timotimo i'm now at about 10x as long
19:35 jnthn timotimo: Are you using the sub level profiler or the op one?
19:35 jnthn I seem to recall there are both.
19:36 timotimo ... er
19:36 timotimo -R profiling, dunno which one that does
19:36 timotimo if it is the op level profiler, that would explain the slow
19:36 jnthn timotimo: I vaguely recall a -R subprof
19:36 aindilis joined #perl6
19:36 timotimo yes, that exists
19:37 timotimo thank you
19:38 lizmat colomon: re http://irclog.perlgeek.de/perl6/2013-10-02#i_7662036, http://www.youtube.com/watch?v=nmyHup4TpkU around 2:50
19:38 timotimo insert south park reference here
19:38 berekuk joined #perl6
19:41 colomon I don't think I've ever seen that one before, just heard it.
19:43 colomon didn't have that ending, either.
19:44 timotimo now that i have the kcachegrind output in front of me again
19:44 timotimo i remember that i have absolutely no idea how to read it
19:44 colomon lizmat++
19:44 [Coke] timotimo: use the pretty pictures!
19:44 [Coke] ... that's as far as I got. ;)
19:44 moritz timotimo: somewhere you can sort subroutines by exclusive time
19:45 lizmat re https://github.com/perl6/specs/commit/2845cf6aef, I feel a lot of commits coming again
19:45 moritz timotimo: that tells you where the time is spent.
19:45 timotimo ah, that sounds nice
19:45 colomon lizmat: indeed
19:46 [Coke] lizmat: ARGLEBARGLE.
19:46 timotimo i can't seem to find how to unshow inclusive and show exclusive instead
19:46 [Coke] I thought he was kidding when he said he was going to rename a bunch of crap.
19:46 colomon lizmat: and finally I understand cat-licensing
19:46 colomon lizmat: if only I had a crayon
19:47 lizmat ehe
19:47 [Coke] I have no idea what that means, btw.
19:49 timotimo for some sorting of the things, make_variable_from_parts sticks out as being called very often, but also taking a whole lot of ticks
19:51 jnthn innerestin
19:51 jnthn HOw much is a whole lot?
19:51 jnthn Every variable access goes through it, maybe declaration too...
19:52 grondilu_ "Cannot auto-generate a proto method for 'combinations' in the setting"
19:52 grondilu_ I guess I just have to write one, right?  ^
19:52 jnthn right
19:52 grondilu joined #perl6
19:53 timotimo it's called 11747 times and has a "self" of 1_455_xxx_xxx
19:53 lizmat grondilu: re http://irclog.perlgeek.de/perl6/2013-10-02#i_7662834 , the problem is that subclasses do not see the augmentation of List
19:53 jnthn What's the % inc?
19:53 lizmat so Array wouldn't see your augmentation
19:53 timotimo the second place is EXPR, which is called 31_xxx times, but has a self of 869_xxx_xxx
19:54 timotimo apparently it's 0.76 for make_v_f_p
19:54 lizmat fixing that would require each parent  class to know which subclasses it has
19:54 timotimo the incl for EXPR otoh is 1.31
19:54 lizmat currently, rakudo is very family unfriendly: children now their parents, but parents do not know their children
19:54 japhb_ joined #perl6
19:55 lizmat *know
19:55 FROGGS :/
19:55 grondilu lizmat: no the problem before was that we couldn't even monkey patch List.  It did not compile for some reason.  It does now, so no worries.
19:55 dalek nqp: 879f8d1 | coke++ | docs/ops.markdown:
19:55 dalek nqp: meta docs
19:55 dalek nqp: review: https://github.com/perl6/nqp/commit/879f8d1f8d
19:55 dalek nqp: 02cf729 | coke++ | docs/ops.markdown:
19:55 dalek nqp: add more string opcodes
19:55 dalek nqp: review: https://github.com/perl6/nqp/commit/02cf729a04
19:55 dalek nqp: 2b8f9e3 | coke++ | docs/ops.markdown:
19:55 dalek nqp: fix typo, minor formatting
19:55 dalek nqp: review: https://github.com/perl6/nqp/commit/2b8f9e30e3
19:55 lizmat yes, it does compile, but it still doesn't work correctly
19:55 timotimo oh, i was filtering only to actions.nqp
19:56 timotimo my bad
19:56 ingy morning all
19:56 lizmat try developing something in Any using MONKEY_TYPING
19:56 lizmat m'ning ingy
19:56 colomon ingy!  \o/
19:57 * ingy MONKEY_HUGS lizmat
19:57 ingy I miss you dear
19:57 timotimo can anybody get any use out of my kcachegrind output?
19:57 benabik [Coke]: Every time I see "add more opcodes", I think "don't we have enough already?" before I remember you're adding documentation not implementation.
19:57 ingy heya colomon :)
19:58 timotimo oooh interesting
19:58 timotimo for every token it'll show "N calls to !cursor_fail"
20:00 timotimo oh wow, dba seems to be pretty noncheap
20:00 [Coke] benabik: :)
20:00 jnthn timotimo: How noncheap is noncheap?
20:00 timotimo i'm probably reading this wrong.
20:00 timotimo yeah, i have no clue what any of these numbers mean
20:01 [Coke] https://gist.github.com/coke/6799633 - all the undocumented opcodes. If you used any of the ones that are not immediately obvious like "usecompileehllconfig", please consider writing it up. :)
20:01 [Coke] (if you want to grab low hanging fruit like xor, please do that also!)
20:01 jnthn wtf does usecompileehllconfig do?!
20:01 jnthn :)
20:01 jnthn .oO( I probably added that... )
20:01 timotimo anyway, i'll go to bed now
20:02 jnthn 'night, timotimo
20:02 [Coke] I think we're going to need to document opcode return types, and also have a way to indicate "this opcode is for jvm only"
20:04 lizmat [Coke]: also MoarVM specific opcodes :-)
20:05 jnthn Not sure it adds many moar... :)
20:05 [Coke] if we end up with "jvmisnull" and "moarisnull", I will be most put out.
20:05 [Coke] how long til moar lands in nqp?
20:06 [Coke] oh. jnthn: where are opcodes add to nqp for parrot?
20:07 [Coke] ah, QAST/Operations.nqp ?
20:07 jnthn Yes, there
20:07 jnthn [Coke]: jvmisnull is maybe a tad misnamed. It really means "given this wrapper around a Java object, is that reference null"
20:07 jnthn [Coke]: So it's part of the interop support.
20:09 lizmat TimToady: re http://irclog.perlgeek.de/perl6/2013-10-02#i_7663310 , the problem is that we probably always will need to check for nqp::isnull, if we want to be able to return the right type object
20:12 jnthn lizmat, TimToady: ok, given the answer is that the things don't evaporate, the question then becomes what the nature of the thing you get is. Should it be a container you can assign into in order to put something into that slot, for example? That would imply creating one with the appropriate auto-viv attachment if so, which feels sub-optimal...
20:12 jnthn Especially when most iterations are pure, or at least we try to encourage people in that direction... :)
20:13 [Coke] is writefh meant to be jvm specific?
20:13 [Coke] (there's some potentially HF - add it to parrot and add a test)
20:14 jnthn [Coke]: No, Moar will do it that way and we could add it to Parrot and remove a conditoinal comp in CORE.setting
20:15 [Coke] only other missing one is openasync
20:15 [Coke] (so far. it's based on stuff that's documented)
20:15 jnthn ah, the async ones are experimental for now also, while we work out the API in various places :)
20:16 lizmat jnthn: wrt to deleted array elements needing extra attention: I would think that :delete on arrays would be for very specific purposes indeed
20:17 [Coke] please feel free to add "experimental" notation in the docs. :)
20:17 lizmat most users would simply reset a value to the default or some other false value
20:18 lizmat using :delete / :exists on an array makes it more "hashy" in my view
20:18 lizmat and therefore it wouild need to work like a hash, so "hiding" deleted values like you wouldn't see them in a hash either
20:19 jnthn lizmat: Well, TimToady said they will show up in normal iteration, but are pruned by adverbs
20:19 jnthn lizmat: So the question is what they show up as
20:19 jnthn Any is the current answer, but that doesn't quite seem satisfying :)
20:19 TimToady Nil perhaps
20:20 jnthn That would be easy implementation wise :)
20:21 * TimToady is all in favor of easy here, and doesn't think the type of the array needs to be enforced when values are missing :)
20:21 jnthn Nil makes me happy enough :)
20:22 jnthn I suspect the Any may be a happy accident anyway...
20:22 lizmat well, that would mean it disappears in an iteration ?
20:22 jnthn I thought Nil didn't do that any more (by spec)?
20:22 TimToady lizmat: Nil hasn't meant () for some time now
20:22 lizmat indeed
20:22 lizmat sorry, mixed up mind interfering  :-)
20:23 TimToady I think the important point is that the natural list of values should match up with ^size
20:24 TimToady since people very often depend on the values marching in sync with the integers
20:24 Rotwang joined #perl6
20:24 TimToady and we can't force them to always say .kv or .pairs
20:24 lizmat r: my Int %h; say %h<a>
20:24 camelia rakudo f6e11b: OUTPUT«(Int)␤»
20:24 TimToady that, plus the escape hatch of adverbs, is why I lean toward emitting the Nils
20:25 lizmat r: my Int @a; @a[1] = 42; say @a
20:25 camelia rakudo f6e11b: OUTPUT«(Any) 42␤»
20:25 lizmat so that would become Nil 42
20:25 lizmat r: my Int @a; @a[1] = 42; say @a[0]  # but this would still return Int, right
20:25 jnthn r: my Int @a; @a[1] = 42; say @a[0]:exists
20:25 TimToady I'm still not convinced that @a[2] shouldn't be Nil as well
20:25 camelia rakudo f6e11b: OUTPUT«(Int)␤»
20:25 camelia rakudo f6e11b: OUTPUT«False␤»
20:26 TimToady unless an explicit default is set
20:26 TimToady the type constraint is not a default
20:26 lizmat r: my @a is default Int; @a[1] = 42; say @a[0]  # but this would still return Int, right
20:26 camelia rakudo f6e11b: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/lZyQ4FiFERâ�¤Two terms in a rowâ�¤at /tmp/lZyQ4FiFER:1â�¤------> [32mmy @a is default [33mâ��[31mInt; @a[1] = 42; say @a[0]  # but this w[0mâ�¤    expecting any of:â�¤        scoped declaratorâ�¤        constrain…»
20:26 TimToady right
20:26 lizmat r: my @a is default(Int;) @a[1] = 42; say @a[0]  # but this would still return Int, right
20:26 camelia rakudo f6e11b: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/Q8XlAU_cynâ�¤Two terms in a rowâ�¤at /tmp/Q8XlAU_cyn:1â�¤------> [32mmy @a is default(Int;) [33mâ��[31m@a[1] = 42; say @a[0]  # but this would [0mâ�¤    expecting any of:â�¤        postfixâ�¤        statement endâ�¤â€¦Â»
20:26 lizmat r: my @a is default(Int); @a[1] = 42; say @a[0]  # but this would still return Int, right
20:26 camelia rakudo f6e11b: OUTPUT«(Int)␤»
20:27 TimToady but in my mind it returns Int *because* it's Nil
20:28 TimToady default means "when there's no value", and Nil means "there's no value"
20:28 lizmat r: my @a is default(Int); @a[1] = 42; say @a[2]  # and this would also return Int, because it's Nil
20:28 camelia rakudo f6e11b: OUTPUT«(Int)␤»
20:28 Rotwang joined #perl6
20:28 TimToady that's what default means, yes
20:28 lizmat ok
20:29 lizmat so, deleted array elements need to return the default value of the array, because their Nil
20:29 lizmat *they're
20:30 lizmat and setting a type constraint without a default, implies setting the default to the type constraint
20:30 TimToady and arguably iterating through a sparse array like that should produce the default, even for things off the end of an array, so all such arrays iterate as infinite
20:30 lizmat they already do:
20:31 lizmat r: my @a is default(42); say @a[99999999999]
20:31 camelia rakudo f6e11b: OUTPUT«42␤»
20:31 TimToady I don't think setting the type constraint necessarily sets the default
20:31 TimToady r: my @a is default(42) = 1,2,3; for @a { .say }
20:31 camelia rakudo f6e11b: OUTPUT«1␤2␤3␤»
20:31 lizmat if that wouldn't happen, then assigning Nil would always create an error
20:32 TimToady but that stops
20:32 TimToady which is what I'm arguing maybe shouldn't stop
20:32 lizmat r: my Int @a is default(Str); @a[0] = Nil
20:32 camelia rakudo f6e11b: ( no output )
20:32 jnthn TimToady: Well, but we expect that for a my Dog @pets, @pets[1] .= new(name => 'Spot', breed => 'Dalmatian'); will work
20:32 lizmat r: my Int @a is default(Str); @a[0] = Nil; say @a[0]
20:32 camelia rakudo f6e11b: OUTPUT«(Str)␤»
20:32 jnthn TimToady: That's a differnet case than iterating though, I guess :)
20:34 TimToady maybe...just trying to see through to the use cases here
20:35 lizmat my view is that if you're using :delete and :exists on arrays, you're using them as hashes really
20:35 TimToady if you zip against an array with a default, should it zip as finite or infinite?
20:35 lizmat and in hashes, non-existing elements don't exist  :-)
20:35 colomon TimToady: finite by default with an easy way to request infinite?
20:36 TimToady colomon: that seems reasonableish
20:37 colomon TimToady: I thought about it another minute and I'm not longer sure I'm convinced of it.
20:38 colomon I'm not sure I understand List / Array usage enough to see the difficulties and defaults.
20:38 grondilu ahh I don't get a list of list
20:38 grondilu $ perl6 -e 'say (^3).list.combinations(2).perl'
20:38 grondilu ((0, 1), (0, 2), (1, 2)).list
20:39 grondilu but if I do .say for ... ,  I get one number at a time
20:39 jnthn .say for (^3).list.combinations(2).tree # any better?
20:40 grondilu yep, that works
20:40 grondilu thanks
20:40 grondilu Is that acceptable?
20:40 * jnthn punts to the langauge designer :)
20:40 ajr joined #perl6
20:41 TimToady currently .tree basically implements .lol rather than .tree, last I knew...
20:41 jnthn I think it takes args too
20:41 jnthn isn't .tree without args the same as .lol?
20:41 grondilu S32 says "The result value is a list of (presumably immuable) values."
20:42 TimToady .lol is only one level, .tree is arbitrary levels, iirc
20:42 jnthn *nod*
20:42 jnthn Yeah, that's how I had it. And the default number of levels is 1
20:44 * lizmat feels implementation of various list operations become more tricky with :deleted array elements "existing"
20:44 lizmat to reiterate: when using :delete on an array, you're using it as a hash
20:45 TimToady so don't do that, unless you know what yer doin'
20:45 lizmat indeed
20:45 lizmat or maybe :exist / :delete support should be a role on arrays
20:45 lizmat not supported on "normal" arrays ?
20:46 lizmat my @a does Sparse
20:48 TimToady not sure that's an additive thing
20:48 TimToady probably better expressed by a different kind of container
20:48 TimToady my @a is SparseArray
20:48 TimToady but then it's probably really more like a tree or hash
20:49 TimToady what we have here is not really what people think of as sparse arrays
20:49 lizmat I'm not sure how expensive empty slots in an array are
20:49 lizmat my %h{Int} is a sparse array
20:50 lizmat with a different kind of container  :-)
20:57 * grondilu made a pull request about List.permutations and List.combinations:  https://github.com/rakudo/rakudo/pull/211
20:58 TimToady grondilu++ grondilu++
20:58 TimToady nap++
20:59 dalek rakudo/nom: 5a7979e | (L. Grondin)++ | src/core/List.pm:
20:59 dalek rakudo/nom: first attempt
20:59 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/5a7979ee18
20:59 dalek rakudo/nom: 04e2541 | lizmat++ | src/core/List.pm:
20:59 dalek rakudo/nom: Merge pull request #211 from grondilu/combinations
20:59 dalek rakudo/nom:
20:59 dalek rakudo/nom: List.combinations and List.permutations
20:59 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/04e2541c54
21:00 jnthn lizmat: beat me to it
21:00 * grondilu made his first contribution to rakudo.  Blushing ;)
21:00 jnthn grondilu++
21:03 benabik Indenting looks odd...
21:03 benabik grondilu++
21:03 grondilu yeah I forgot to expand.
21:04 lizmat grondilu: are there tests for it already ?  :-)
21:05 colomon lizmat++ # I was just going to ask that myself
21:06 grondilu lizmat: no.  Not even in roast, which surprized me.
21:09 * lizmat hopes for a pull request in roast soon  :-)
21:10 dalek rakudo/nom: ae7ce99 | (L. Grondin)++ | src/core/List.pm:
21:10 dalek rakudo/nom: expand tabs
21:10 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/ae7ce9953f
21:10 dalek rakudo/nom: a103418 | lizmat++ | src/core/List.pm:
21:10 dalek rakudo/nom: Merge pull request #212 from grondilu/combinations
21:10 dalek rakudo/nom:
21:10 dalek rakudo/nom: fixing indentation
21:10 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/a1034184e9
21:10 colomon List::Utils has some tests for at least one of permutations / combinations.
21:11 colomon might not be to the current spec
21:13 jnap joined #perl6
21:20 odoacre_ joined #perl6
21:27 fridim_ joined #perl6
21:37 stevan_ joined #perl6
21:39 odoacre_ joined #perl6
21:41 donaldh joined #perl6
21:47 TgMts joined #perl6
21:51 jnthn arnsholt: Hmm, oddly your fixes to cclass didn't fix the Rakudo parse issues...
21:59 dalek roast: f2f591d | (Elizabeth Mattijsen)++ | S32-array/delete-adverb.t:
21:59 dalek roast: Add tests for adverbed array access to an out of bounds element (shouldn't vivify)
21:59 dalek roast: review: https://github.com/perl6/roast/commit/f2f591dd57
21:59 lizmat and 86 more tests  :-)
21:59 lizmat this is really to make sure it won't regress: in the original method2sub branch, they *did* vivify in some situations
22:05 donaldh jnthn: the LINEPOSCACHE change makes a notable difference to heap churn and overall heap use during parse.
22:05 lowpro30 joined #perl6
22:06 lizmat sleep&
22:06 donaldh jnthn: need to chase down multiple executions when compiling Metamodel.nqp and BOOTSTRAP.nqp
22:07 sisar joined #perl6
22:11 jnthn donaldh: yay
22:12 jnthn donaldh: Though those are less likely to affect Perl 6 users beyond the build.
22:12 jnthn donaldh: Those probably happen in NQP::World somewhere
22:12 jnthn donaldh: It too has a call to .compile
22:12 jnthn Same fix, I think
22:14 donaldh jnthn: thx
22:16 sisar TimToady: http://rosettacode.org/mw/index.php?title=Rosetta_Code/Rank_languages_by_popularity&amp;diff=prev&amp;oldid=168415, removed the final brace by mistake.
22:16 sisar Fixed.
22:16 lue jnthn: just looking at NQP issues, I can't help but wonder if issue #1 is still relevant (marked as LHF too) :)
22:28 sisar uh, oh. http://rosettacode.org/wiki/Rosetta_Code/Rank_languages_by_popularity#Perl_6 fails with: http://sprunge.us/bQgh .
22:29 TimToady huh, I guess I was testing it with niecza
22:39 Mouq joined #perl6
22:39 Mouq grondilu++
22:39 yoleaux 07:27Z <FROGGS> Mouq: About Q-lang for nqp: I think that is stilll needed to do it right
22:42 Mouq arnsholt++
22:45 Oflameo joined #perl6
22:45 BenGoldberg joined #perl6
22:45 Oflameo This time raiph sent me.
22:46 raiph hi John :)
22:46 Oflameo xpost from reddit: I know NQP stands for Not Quite Perl, but what exactly is it. From  reading Jonathan Worthington I think it is kind of like C for virtual  machines instead of physical machines, but I could be mistaken. It could  be more like Rakudo's version of microperl or a parser generator like  GNU bison.
22:46 jnthn tbh, I'd not trust anything Jonathan Worthington says...
22:47 Oflameo Why not jnthn?
22:47 raiph heh
22:47 geekosaur :p
22:47 TimToady because he's far too self-deprecating :)
22:48 jnthn :)
22:48 raiph oflameo: this might help; plz take a gander: http://irclog.perlgeek.de/perl6/2013-10-02#i_7664068
22:48 jnthn Oflameo: Did the Reddit answers help?
22:48 lue jnthn: I'm not sure what to make of this: https://github.com/perl6/nqp/issues/1 :)
22:49 jnthn lue: looking
22:49 jnthn hm, this evening really din't work out productive in any sense...apart from the handful of $dayjob slides...
22:49 Oflameo Why is self deprecation a problem TimToady?
22:49 jnthn lue: Well, nqp-rx is gone now, and Parrot installs its nqp as parrot-nqp
22:50 jnthn lue: And both seem to co-exists so I think that ticket is a fossil
22:50 raiph p5eval: say "does our p5 bot work?"
22:50 p5eval raiph: does our p5 bot work?1
22:50 sisar uh, oh. http://rosettacode.org/wiki/Runge-Kutta#Perl_6 fails with http://sprunge.us/XJUI
22:50 * sisar wonders if he is helping at all with reports of something not working
22:50 lue That was my suspicion. (It's only a 3-year-old ticket about a form of NQP now only used as a part of Parrot)
22:51 jnthn lue: Yeah, cna be closed
22:51 lue I don't think I have the authority to do so though (unless the button is *very* well hidden)
22:51 jnthn oh...
22:52 jnthn lue: done it
22:52 jnthn unsp
22:53 jnthn oops
22:53 * lue likes how github says that comment happened "just now" :)
22:53 diakopter at one point it said "a few minutes from now"
22:53 TimToady sisar: it works here--looks like your unicode isn't working right
22:54 diakopter possibly parrot not compiled with libicu
22:54 * TimToady is using jvm
22:54 Oflameo jnthn: Reddit didn't help enough, raiph say NQP is a metacompiler but I still don't know why it is needed and it doesn't use a bootstrapping compiler like many other languages do.
22:54 lue (this all happened because Those Slides™ have inspired me to maybe hack on NQP (once through all the exercises that is :D), and then I realized I already could, I just need to find an issue to tackle.)
22:55 skids joined #perl6
22:55 sisar_ joined #perl6
22:55 jnthn Oflameo: NQP is written in itself, and bootstrapped. We use NQP in order to implement much of the rest of Perl 6.
22:56 jnthn Oflameo: Bootstrapping is not "free".
22:56 sisar_ TimToady, diakopter: Aha. Yup, Parrot is built with libicu.
22:57 sisar_ *not built
22:57 Oflameo jnthn, I know what you did, why did you do it?
22:57 TimToady because he's nice
22:57 TimToady and because nobody had done it before
22:57 tadzik TO BOLDLY GO
22:57 TimToady (with Perl)
22:57 tadzik where no Perl has gone before
22:57 jnthn Oflameo: Working on NQP is "fun" at times because you can't Just Change Stuff. For example, you want to add something and then use it.
22:57 jnthn Oflameo: Well, you ahve to add it. Then update the bootstrap. Then use it.
22:58 TimToady and because it seems like the simplest way to get to the goal of a portable Perl
22:58 jnthn Oflameo: It's hard to scale that knowledge. The thought of Rakudo itself being directly bootstrapped scares *me*.
22:59 sisar_ So, libicu is installed, but is not detected when building Parrot. How do I make sure that Parrot compiles with libicu ? (I'm using Cygwin)
22:59 TimToady uh oh :)
22:59 jnthn Oflameo: So that's one reason: this architecture makes it easier to build the thing we care about (which is a full-fledged Perl 6)
22:59 sisar_ :-)
23:00 Oflameo What is Perlsix optimized for?
23:00 raiph Oflameo: Do you currently see any ways at all in which Perl 6 could be a good thing for you or for sysadmins in general? If so, would you be willing to momentarily focus on and share one of those ways?
23:01 TimToady p6 is optimized for the same things p5 is optimized for, only more so
23:01 jnthn Oflameo: I can't speak so easily to intentions, but of all the languages I work in Perl 6 is by some way the one I find easiest to evolve programs in, independent of the domain I'm using it in.
23:02 Oflameo raiph, Perl6 isn't stable enough for me to take seriously. Some of the other sysadmins I talk to don't take it seriously either and would rather ignore it completely.
23:03 Oflameo TimToady have you ever thought about running for congress?
23:03 TimToady sure, but one of the reasons p5 couldn't optimize the things p6 optimizes is that it had to be "stable"
23:03 * TimToady would have a nervous breakdown if he had to be that hypocritical :)
23:04 lue .oO(Isn't congress where you throw the coffee mugs to fix things? Or was that something else?)
23:04 TimToady lue: if only we could fix congress that way...
23:04 Oflameo TimToady pseudo hashes could be deprecated, why can't you just deprecate more things like the old module syntax.
23:05 lue Hm, I actually would like to see flying mugs on CPAN :D
23:05 jnthn Oflameo: Then let them ignore it until it has the stability/other things they desire. Adoption happens with readiness. I don't think anybody here will claim what's done so far is ready for a whole bunch of things. I use it for things I know it's up to, and use other stuff (normally C# :)) for the rest...
23:05 TimToady Oflameo: because I won't live long enough to get Perl 6 that way :)
23:05 jnthn Oflameo: I think that's the case for everybody right now.
23:06 raiph Oflameo: Thanks for your answer. Is pretty much the sole reason you're not ignoring it due to its use of the name "Perl 6"?
23:06 TimToady raiph: now you're sounding like the troll here :)
23:07 Oflameo At this point I don't think I will live long enough to get Perl 6
23:07 TimToady hugme: hug raiph
23:07 * hugme hugs raiph
23:08 TimToady Oflameo: well, Tolkien's publishers never thought they'd live long enough to get a sequel to The Hobbit either
23:08 * Mouq got the .gist of Perl6 over about a month this summer, between other things
23:09 * TimToady doesn't think that's the definition of "get" Oflameo++ was using :)
23:09 Oflameo I'm sorry but that sounds totally like a cop out to me TimToaday.
23:09 jnthn Oflameo: Yes, well the outside view of most things is not done, not done, not done...OH suddenly they finished it! When on the inside it was a bunch of regular bits of progress.
23:10 TimToady Oflameo: well, you can think that if you like, but I like the odds right now
23:10 jnthn Oflameo: I'm not saying I expect you to follow what happens month to month or anything. But assuming just because it didn't reach your desired "stable enough" yet means things aren't progressing there isn't particularly reasonable either.
23:10 * TimToady was very happy a year or two ago when he realized that Perl 6 would certainly happen even if he got run over by a bus
23:10 raiph Oflameo: Why not just ignore Perl 6 until/unless it proves its utility to you?
23:11 Oflameo Okay, if you say so TimToady.
23:13 raiph Oflameo: When you say "Perlsix" do you mean any significant variation on the current perl or do you mean the Perl 6 being developed by Larry Wall et al?
23:13 Oflameo raiph: because when I use Perl I get asked about why I am using an old crufty language. I probably should just ignore them because I get asked that when I do something in C as well.
23:14 tadzik good attitude
23:14 Oflameo Ask a linguist if the difference has any significance.
23:14 diakopter Oflameo: you have to own the oldness and cruftiness. let it embolden you.
23:15 TimToady All that is gold does not glisten; not all those who wander are lost.  The old that is strong does not whither; deep roots are not reached by the frost."
23:15 TimToady *glitter
23:15 TimToady mixing up my Shakespear and my Tolkien there...
23:15 TimToady *wither, grr
23:16 TimToady or I just can't spell...
23:16 Oflameo diakopter, I probably will. I warn you, it will make me quite persnickety.
23:16 TimToady that's okay, you're on my lawn :)
23:17 TimToady or in my Shire, or something...
23:17 lue Hm. People still use C seems like an excellent counterargument. Note to self.
23:17 flussence I wonder why these people who use Python/Ruby/web2.0-language-of-the-week don't also use Esperanto.
23:18 diakopter *grimace*
23:18 TimToady because Lojban is the newer language of the week?
23:18 lue flussence: I heard they use Pitono and Rubeno though.
23:18 TimToady oh wait, now it's Klingon
23:18 flussence or was it Interlingua?
23:19 lue Ido I believe.
23:20 raiph flussence: I like both python and ruby though I have not used either in anger. I don't think language of the week is fair.
23:20 Oflameo Where is the userdocs for perlsix like the perldocs. A command line accessible version of the documentation it one of the top reasons I picked Perl for automating tasks.
23:22 Oflameo It is annoying to have to start a web browser to get my docs, especially if it they render correctly.
23:22 raiph Oflameo: first, perldocs (and the product quality of perl (5) in general) is amazing. P6ers aspire to move toward that.
23:22 * lue always has a browser open, thus suffers no penalty for that method of retrieval.
23:23 raiph Oflameo: second, https://github.com/perl6/doc/blob/master/README
23:23 jnthn Oflameo: p6doc is a comamnd line tool and I believe it ships with Rakudo Star.
23:23 lowpro30 joined #perl6
23:23 jnthn yes, it does, just checked star Makefile
23:23 TimToady the docs themselves, of course, are still a work in progress
23:24 jnthn Sure.
23:24 TimToady but they'll only get better, because we have high standards :)
23:24 jnthn Just saying there is already work on a command line tool for it too.
23:24 TimToady and the new Pod should make other ways of accessing the docs easier too
23:26 TimToady autodocs are also important, and p5 hasn't done so well there
23:28 raiph Oflameo: I have to run. Please know that many respected P5ers, including Nicholas Clark, perhaps the world's #1 p5 core hacker, who is taking a long close look at P6, takes P6 seriously. I think it'll first become compelling for sysadmins by adding value to perl 5 and then become increasingly interesting in its own right this decade. But I think it
23:28 raiph 's simplest for you to just ignore it until it has obvious value.
23:28 lue .oO(Pod6 is my favorite way of writing documents that aren't scratchwork)
23:29 jnthn Will return to looking at the issues blocking cursless merge tomorrow
23:29 jnthn 'night
23:30 Oflameo fast cheap good pick two
23:30 Oflameo I needed a comma after good.
23:31 Oflameo I probably needed a comma after fast, cheap, and good.
23:31 TimToady pnr: 42.fmt('%2.0f').say
23:31 camelia pugs: OUTPUT«(timeout)»
23:31 camelia ..niecza v24-95-ga6d4c5f: OUTPUT«42.000000␤»
23:31 camelia ..rakudo a10341: OUTPUT«42.␤»
23:32 TimToady we have to do cheap, so it's feast, good, pick one :)
23:32 TimToady *fast
23:33 flussence .oO( all-you-can-eat buffers )
23:33 Oflameo fast
23:33 TimToady fast isn't good :)
23:34 Oflameo I don't care as long as it meets requirements.
23:36 TimToady well, some people's requirements list all three :)
23:39 Oflameo And those people are susceptible to Ponzi schemes
23:39 * TimToady just noticed that the Japanese verb 頑張る /gambaru/ "hang in there" is made with the characters for "stubborn" and "stretch" :)
23:40 Oflameo That makes sense :)
23:44 stevan_ joined #perl6
23:45 stevan_ joined #perl6
23:47 grondilu Oflameo: about docs, I have a 'pod2view() { pod2man --utf8 $1 | man -E utf8 -l -; }' in my ~/.bashrc.  I use this function to read the P6 specs on command line.
23:48 grondilu I actually never used p6doc
23:50 grondilu I did put the specs in ~/.perl6/specs, so I just run pod2view ~/.perl6/specs/S??-...  I find this quite convenient.
23:53 grondilu but as far as how to read the Perl 6 docs,  I guess there's more than one way to do it.
23:57 FROGGS joined #perl6

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

Perl 6 | Reference Documentation | Rakudo