»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg camelia perl6: ... | irclog: irc.perl6.org | UTF-8 is our friend!
Set by sorear on 25 June 2013.
00:01 jeffreykegler left
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.
[Coke] how can I get a canonical list of all the opcodes provided by, e.g. nqp-jvm ? 00:06
at the moment, I'm considering parsing the source in : src/vm/jvm/QAST/Compiler.nqp
00:12 Psyche^ joined
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:12
00:16 Psyche^_ left
[Coke] hee. only 390 more ops to document to get everything in the JVM. :! 00:26
dalek p: 69c6085 | coke++ | t/docs/opcodes.t:
Add first pass at docs tester

Currently verifies that every opcode in docs/ops.markdown has a corresponding entry in nqp-jvm (and vice versa).
00:35
[Coke] ^^ "./nqp t/docs/opcodes.t" will give you a list of things to document.
dalek p: b4c094e | coke++ | docs/ops.markdown:
remove (for now) docs for ops not in JVM.
00:38
00:43 btyler joined 00:46 sizz joined 00:47 sizz_ left
Mouq [Coke]++ 00:49
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
.. 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…»
Mouq ... I see the ircbot isn't very smart about tabs. 01:08
Of course, that just reduces to: 01:09
r: my $a=1; ([(1..10) >>*>> $a++] xx 10).map:{.Str.say}
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…»
Mouq In re: irclog.perlgeek.de/perl6/2013-10-01#i_7657251 01:10
01:19 fridim_ joined
Timbus oop. someone just used map for side effects! 01:23
Timbus looks for his paddle
my $z; .Str.say for ([(1..10) X* ++$z] xx 10)
Mouq :p 01:24
Timbus wouldnt .say just gist it the same way?: my $z; .say for ([(1..10) X* ++$z] xx 10)
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…»
Timbus nah it wont break up the arrays
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…»
Mouq But the newlines are still missing
01:26 fridim_ left
dalek p: f59ce6e | coke++ | / (2 files):
Update doc formatting, track with test.
01:26
p: 0cbaefe | coke++ | docs/ops.markdown:
document more I/O opcodes
p: 7129541 | coke++ | docs/ops.markdown:
document more opcode variants
p: 9259f8e | coke++ | t/docs/opcodes.t:
ignore empty opcodes
p: deae10b | coke++ | docs/ops.markdown:
document moar ops
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…»
Mouq Since when was Perl 6 functional? Side-effects++ :p 01:29
if (my $side = 'effect') -> { say "." }
r: if (my $side = 'effect') -> $e { say "$e" }
camelia rakudo 0808ac: OUTPUT«effect␤»
Mouq r: if (my $side = 'effect') { say :$side } 01:30
camelia rakudo 0808ac: OUTPUT«␤»
Mouq Bluh, scoping.
Mouq needs to → bed
Timbus r: my $a = (1..3).map:{say ("hello")}; say "goodbye"; 01:32
camelia rakudo 0808ac: OUTPUT«goodbye␤»
Mouq Oh, wait, actually it's precedence
rn: if (my $side = 'effect') { say (:$side) }
camelia rakudo 0808ac, niecza v24-95-ga6d4c5f: OUTPUT«"side" => "effect"␤» 01:33
TimToady nr: .say for (1..10 X* 1..10).tree
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…»
..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␤
TimToady hmm
Timbus /tmp/RAGE
TimToady right 01:34
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…»
..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␤␤»
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␤␤»
Timbus X[»*»]
Timbus hed explod 01:37
TimToady r: .say for [1..10] xx 10 Z[»*»] 1..10
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␤␤»
TimToady n: .say for [1..10] xx 10 Z[»*»] 1..10
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􏿽xE2
Timbus .. uh 01:38
Mouq n: .perl.say for [1..10] xx 10 Z[»*»] 1..10
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􏿽xE2
TimToady still needs .tree, which niecza doesn't have
n: .say for ([1..10] xx 10 Z[»*»] 1..10)[^10]
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􏿽xE2
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􏿽xE2􏿽x90
TimToady well, anyway
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…»
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, …»
TimToady oughta produce 10 parcels, methinks
r: ([1..10] xx 10 Z[X*] 1..10).perl.say 01:42
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…»
TimToady that too
01:43 araujo left 01:46 araujo joined 01:48 skids joined
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…»
Mouq r: ([1..10] xx 10).flat.perl.say
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…»
Mouq Just checking
01:50 FROGGS left 01:52 chano joined 02:01 benabik joined 02:02 FROGGS joined 02:04 Mouq left 02:06 Oflameo joined
Oflameo diakopter sent me to be reeducated 02:08
diakopter :D
Oflameo I guess you already know what I have been saying to you. 02:09
diakopter me? yah..
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?
diakopter you shouldn't :P
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?
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:12
Oflameo The GNU system didn't that long, but I admit, they they borrowed a lot of design. 02:13
The Linux Kernel didn't Just got 20 years old last year and has been in production since the 1990s. 02:14
02:15 raiph joined
diakopter raiph: John has some f.a.questions 02:15
raiph hi oflameo 02:16
Oflameo I remember you, raiph. I saw you on reddit last week. 02:18
Hello raiph, nice seeing you again.
raiph right. i recognized the nick
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?
I use Bash and Perl mostly because I am a System Administrator. 02:20
raiph gotchya
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)
raiph why's p6 of interest?
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…»
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
raiph in 1999 there was talk of a new perl 02:23
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
so when folk talked about creating a perl that solved the problems the community saw with p5 they naturally called it p6
Oflameo What problems is Perlsix solving? 02:25
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?
raiph larry wanted perl to be on the jvm in the 90s
02:26 jnap left
raiph no change there 02:26
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?
s/not/no/ 02:28
raiph i think using the word "stable" as you just did is problematic 02:29
i don't see how a name can be a good response to rumor
Timbus hmm yeas and when will C++2x come out to solve all the problems of C++1x not being fully implemented?? 02:30
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:31
Timbus, I don't think that i going to happen. I think they are going for incidental improvements. 02:32
benabik Timbus: They're working on C++1y now. 02:33
raiph oflameo: irclog.perlgeek.de/perl6/2013-10-01#i_7657292 02:35
you choose how often you upgrade
every month if you want to do that, every 2 years if that's what you want 02:36
diakopter heh $HITEAM 02:37
Oflameo How much code will work if there is not upgrade in 10 months?
Do you think parser hooks are a bad idea?
diakopter parser hooks are built into Perl 6 grammars in several places
raiph i didn't understand your last upgrade question
Oflameo What if I compile fresh perlsix with the Rakudo release from 10 months ago, do you think anything would compile incorrectly? 02:40
raiph are you asking if p6 / rakudo is forward compatible? 02:41
Oflameo yes 02:42
raiph i should point out that i'm not camelia (i'm not an official spokesbug) 02:43
[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
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
Oflameo Does Perl 6 guarantee any backwards compatibility? 02:46
[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
raiph oflameo: www.nntp.perl.org/group/perl.perl6....g8279.html
Oflameo I am a troll because I don't like your flavor of Coke, Coke? 02:49
[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:53
Oflameo You already the answer to those questions written up Coke, and that doesn't answer the main question. 02:55
diakopter [Coke]: I asked John to come here to get questions answered for the talk he's researching 02:56
at pittsburgh perl workshop this weekend 02:57
raiph oflameo: have you used p6? 02:58
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
q1. that was asked of a product i was involved in back in the day 03:00
it was so late folk had given up ridiculing it
Timbus i got a question: what do you need perl 6 for that isn't yet ready? what's your prime time. 03:02
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
diakopter Timbus: well, that's not a fair question really; he doesn't know what p6 can or can't do
Timbus then why isnt he asking about that
raiph then it was released as firefox 1.0 and the history looks different from this side
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:04
03:05 preflex_ joined, ChanServ sets mode: +v preflex_
diakopter Oflameo: have you used Perl 6? 03:05
03:06 preflex left
Oflameo I haven't used Perl6. I am a system administrator. 03:06
diakopter how are those things related?
03:06 preflex_ is now known as preflex
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 irclog.perlgeek.de/perl6/2013-10-02#i_7660740
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
neither is Windows 10
raiph oflameo: would you be willing to use our p5bot to show some p5 one liners you might use?
diakopter p5eval: die die die 03:10
p5eval diakopter: ERROR: Died at (eval 7) line 1.
diakopter p5eval: ␤die 03:11
p5eval diakopter: ERROR: Unrecognized character \xE2; marked by <-- HERE after <-- HERE near column 1 at (eval 7) line 1.
diakopter aw, it doesn't do the newline conversion trick
03:11 snoopy_ joined, snoopy_ left
diakopter p6eval: eval "\ndie" 03:11
p5eval: eval "\ndie"
p5eval diakopter: No output
diakopter p5eval: eval "\ndie"; die $@
p5eval diakopter: ERROR: Died at (eval 8) line 2.
03:12 dwarring joined
diakopter heh. 03:12
dwarring rn: "#" ~~ /[\! \#]/ 03:19
camelia rakudo 0808ac: OUTPUT«===SORRY!=== Error while compiling /tmp/bT_bJWjmL0␤Unspace not allowed in regex␤at /tmp/bT_bJWjmL0:1␤------> "#" ~~ /[\! \#⏏]/␤»
..niecza v24-95-ga6d4c5f: OUTPUT«===SORRY!===␤␤Regex not terminated at /tmp/MXFmiyTaN1 line 1 (EOF):␤------> "#" ~~ /[\! \#]/⏏<EOL>␤␤Parse failed␤␤»
03:19 Oflameo left
dwarring rn: "#" ~~ /[ \! \# ]/ 03:19
camelia rakudo 0808ac: OUTPUT«===SORRY!=== Error while compiling /tmp/0x_w3r0oex␤Unspace not allowed in regex␤at /tmp/0x_w3r0oex:1␤------> "#" ~~ /[ \! \#⏏ ]/␤» 03:20
..niecza v24-95-ga6d4c5f: OUTPUT«===SORRY!===␤␤Regex not terminated at /tmp/hBNUWP3hr3 line 1 (EOF):␤------> "#" ~~ /[ \! \# ]/⏏<EOL>␤␤Parse failed␤␤»
dwarring rn: "#" ~~ /[ \! '#' ]/
camelia ( no output )
dwarring so I should be using '#'?
(\# worked in rakudo until a few days ago) 03:21
s: "#" ~~ /[ \! '#' ]/ 03:23
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.
raiph dwarring: sec 03:29
dwarring: irclog.perlgeek.de/perl6/2013-09-28#i_7644116 03:32
dwarring thanks raiph 03:33
raiph yw
dwarring a couple of modules to fix
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?
ah, foundit. 03:35
diakopter [Coke]: agree 100% on "replacing"
raiph dwarring: irclog.perlgeek.de/perl6/2013-09-30#i_7655036 03:37
dwarring ok does seem doubtfuil, wont jump at the moment 03:40
raiph++
[Coke] wonders how the "fromstr_I" opcode got its name. 03:55
diakopter [Coke]: parse a string into a bigint? 03:56
[Coke] but in most other cases, _I indicates the argument type, not the return type 04:00
and "from" what? :P
given we have opcode names like compilejastlinestofile, seems we could have gone slightly more verbose there.
dwarring several modules affected around 29th, Btw 97.95.33.142:3001/report 04:02
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:07
dalek p: 6758931 | coke++ | docs/ops.markdown:
document bitops, relocate a type check, add isprime
04:09
p: f06d02c | coke++ | docs/ops.markdown:
add more opcodes.

Also fix some previous entries suffering from cutandpaste
[Coke] ok, only 275 more opcodes to document. 04:10
dalek p: 8b7c688 | coke++ | docs/ops.markdown:
fix typo. :(
04:12
lue I feel I should say [Coke]++ for creating some comprehensive documentation for NQP :) . 04:13
[Coke] clearly you haven't read any of it! ;) 04:14
It's all lies.
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:16
04:21 prevost joined 04:25 [Sno] left 04:32 araujo left 04:34 mstwu00 joined 04:39 araujo joined 04:44 ivanshmakov joined
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" 04:54
lue
.oO(That's silly. I'm not sure about pixels, but I'm pretty sure it's too voxely)
05:03
05:09 btyler left 05:13 takesako joined
timotimo isn't the android version extremely limited in comparison to the pc version and even the xbox version? 05:16
weird, bailador can't build URI, but that shows up as "build fails" instead of "prerequisites failing" 05:22
JSONRPC is failing the same way and being misreported
05:25 [Sno] joined 05:32 xenoterracide_ left 05:37 SamuraiJack_ joined 05:38 prevost left 05:44 xinming left 05:58 araujo left 06:13 araujo joined 06:15 BenGoldberg left 06:19 FROGGS left 06:21 raiph left 06:22 nebuchadnezzar joined
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:23
though I must admit every time I see PHP and not Perl I really dont get why 06:24
06:26 berekuk left 06:29 berekuk joined 06:31 darutoko joined 06:32 diakopter left, diakopter joined
diakopter Ulti: right, that was the point of the other graph 06:39
the one with the colored lines 06:40
to show all the ones that mentioned perl anywhere in the body of the job listing
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
so I think that applies to all of the languages
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:57
its rare I bump into PHP "scripts" really only Python competes with Perl in that realm along with sed/awk 06:59
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
a better title would have been "maintenance legacy slave"
Perl was the newer :cool: code in that mess too 07:02
guess that was 8 years ago :/
07:04 FROGGS joined 07:19 telex left 07:20 telex joined
masak I think the discussion with Oflameo didn't convince Oflameo of anything. 07:25
(good morning, #perl6)
nor am I should it could've, or that I'd've done better.
hoelzro morning #perl6 07:26
moritz \o
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.
FROGGS masak: yeah, I am thinking the same 07:28
masak it *is* a hard set of questions.
FROGGS but maybe after Oflameo slept about it, his resistance might drop a little
masak Rakudo Perl 6 is slower, less stable, more buggy than the perl executable.
FROGGS: don't count on it.
FROGGS I won't 07:29
07:29 zakharyas joined
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
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
masak right. 07:30
07:30 Gaz is now known as Guest67583
masak I like that attitude. 07:30
FROGGS masak: better than mine from yesterday? :P 07:31
masak which one was that?
07:31 Guest67583 left
masak oh, that. well, I didn't think anything in particular about that one. 07:32
FROGGS the beer-topic
masak I don't feel it's that perverse to enjoy a certain kind of beer. and stouts are tasty. :)
FROGGS germans are a bit harsh when it comes to beer, you see
and there is really chocolate in it? 07:33
masak I guess so. not much, but yeah.
it goes well with the general stout taste.
moritz but, but, but... Reinheitsgebot! 07:34
moritz doesn't even like beer, just cargo-cults the common German objections
FROGGS moritz: exactly! 07:35
masak all I hear from you is that Germans have confused themselves into not liking chocolate stout. pity. 07:36
FROGGS *g*
since I am sort of gallant I would even taste it when I get the chance 07:37
maybe this is something Oflameo and I have not in common
hoelzro neat: groups.google.com/forum/#!topic/pe...FsajeiZY-s 07:38
FROGGS ohh yes 07:39
moritz aye, nwc10++ 07:42
nwc10 I'm not sure that the numbers have huge *meaning* - "number of commits" is not a great metric 07:43
bugs fixed? Progress made? etc
code refactored for the 15th time?
(not that that happens *here*, but it feels like it in other places)
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:52 lizmat left 07:56 sqirrel joined
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:00
i assume jakudo has a .class output going already 08:01
moritz it already compiles to byte code 08:05
nqp-moarvm, that is
there is no intermediate textual format like PIR
Timbus well yes. i meant in the redistributable sense. so you could have newer compilers supporting older runtimes basically 08:07
moritz it really depends on what you mean by "runtime" 08:13
08:13 dwarring left
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:13
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:14
08:16 benabik left
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/
moritz FROGGS: aye 08:29
FROGGS morning 08:30
and I think we know how the new-release-breaks-stuff curve does look like 08:31
08:32 Vasari joined, grondilu joined
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␤»
..rakudo 0808ac: OUTPUT«===SORRY!=== Error while compiling /tmp/ygcb1wssMD␤Undeclared name:␤ &?ROUTINE used at line 1␤␤»
grondilu &?ROUTINE does not work anymore?
jnthn grondilu: You're not in a routine there 08:35
grondilu rn: say .(4) given -> $n { $n > 1 ?? $n*&?BLOCK($n-1) !! 1 }
camelia rakudo 0808ac: OUTPUT«===SORRY!=== Error while compiling /tmp/CRgBZz4gpm␤Undeclared name:␤ &?BLOCK used at line 1␤␤»
..niecza v24-95-ga6d4c5f: OUTPUT«24␤»
FROGGS grondilu: a pointy block is routine-ish, bot not quite
jnthn And &?BLOCK is NYI...
FROGGS :o(
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 }
camelia rakudo 0808ac, niecza v24-95-ga6d4c5f: OUTPUT«24␤»
grondilu FROGGS: thanks
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:37
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
FROGGS Timbus: btw, we are talking about braking existing code he has not written yet
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
jnthn How many times do I have to say "pre-compilation of modules is just cache"? :) 08:39
08:39 cibs left
FROGGS I read that in Lupin's voice :o) 08:40
08:40 cibs joined
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
jnthn I didn't read the discussion as really being about that, more about language stability.
moritz you don't install python modules by copying .pyc files. You don't install a Perl 6 module by copy bytecode files. 08:42
FROGGS right, you just use tadzik or panda or what it was called :o) 08:45
jnthn tadzik install JSON::Tiny # :D
FROGGS like you use the --timotimo option when you want to have a faster nqp/rakudo *g*
tadzik what? Install it yourself
FROGGS hehe
tadzik :P
timotimo haha, i wish 08:46
jnthn sudo tadzik install JSON::Tiny
:P
08:46 lizmat joined
FROGGS sudo tadzik install --force JSON::Tiny # haha, no escape! 08:46
tadzik /o\
FROGGS ^--- damn, there it is
tadzik let me show you the stacktrace of my people 08:47
hoelzro haha 08:48
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.
FROGGS .tell TimToady Even when I like Template Toolkit, I really don't like that is yet another scripting language inside it: template-toolkit.org/docs/tutorial/...eb_Content 08:54
yoleaux FROGGS: I'll pass your message to TimToady.
lizmat good *, #perl6! 08:55
lizmat backlogs
FROGGS .tell TimToady Would be cool if we could have a template engine where you just write perl6...
yoleaux FROGGS: I'll pass your message to TimToady.
FROGGS hi lizmat
hmmm, now that I think about it, it almost feels like PHP 08:56
having a template that is dominant, an then write code in something blockish
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
moritz we already have that
timotimo i kind of liked meld.
(only sensible for xml-like stuff)
FROGGS moritz: what you really want is: [% for ^5 { %] <tr><td>hello</td></tr> [% } %] 08:59
timotimo: if would be cool if you had one thing that is capable of "replace" sprintf *and* pack 09:00
replacing*
timotimo i'm not sure i'd like to have that in the same bundle
moritz pack produces bufs, sprintf/fmt Strs 09:01
FROGGS but both turn data into a str/buf/blob
so it is just about serialization
though, for the pack case you won't have a binary-template I suppose 09:02
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
though, List.fmt makes it kinda nice
but that's mostly for simple things
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
grondilu looks at the Wikipedia page about printf, and notices that there is a %p (pointer to void) format, which in "implementation-defined" 09:19
(so maybe you could do sprintf("%10p", @a[^10]); or something. But I guess you could just use %c) 09:20
masak yeah, -1 on adding %p to sprintf 09:28
timotimo :) 09:29
nwc10 Bother. github.com/python doesn't mirror jython
09:36 Vasari left 09:52 denysonique left 10:04 SamuraiJack__ joined
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?
lizmat doesn't really matter
this is deep in MapIter, and that has specific versions for Parrot and JVM 10:07
jnthn
.oO( wish we had a jakudo evalbot... )
timotimo needs to build
10:08 SamuraiJack_ left
jnthn lizmat: 10:08
Int
Any
Int
timotimo that's ... unfortunate
lizmat ok, so same pb on jakudo
jnthn (that's on cursless branch, but no MapIter changes there)
lizmat indeed 10:09
so the pb is in the non-VM specific code
s/is/could be/
jnthn It took 678 Cursor objects to parse it too, fyi :P
timotimo hehe
that's quite a few per character :|
r: q{my Int @a=^3; @a[1]:delete; @a.map:{ .WHAT.perl.say };}.chars.say
camelia rakudo 0808ac: OUTPUT«54␤»
jnthn Well, remember we have some fixed overhead too
But yeah, worth analizing 10:10
*analyzing
timotimo did anyone apply my patches to nqp and rakudo cursless branches? (or possibly just master/nom)
jnthn But not when I'm meant to be writing work slides... 10:11
timotimo :)
jnthn timotimo: No, I didn't get chance to do any signficiant perl6 stuff yet today :)
timotimo don't you worry :)
10:11 mtk0 joined
lizmat submitted rakudobug #120071 10:12
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=120071
dalek ast: 75b4e72 | (Elizabeth Mattijsen)++ | S32-hash/delete-adverb.t:
Array :delete tweaks
10:20
10:25 iSlug joined
dalek ast: 4f3e3b6 | (Elizabeth Mattijsen)++ | S32- (2 files):
Split off @a:delete tests into separate file
10:28
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 mstwu00 left
timotimo woolfy: you. i like you. 10:29
10:30 mstwu00 joined
jnthn lizmat: if you do an nqp::iscont on the $_ in that map, how's it look? 10:31
10:32 sqirrel left
lizmat jnthn: 0 on the deleted entry 10:33
1 on the others
but I guess that was the point of binding deleted array elements to nqp::null, wasn't it ?
jnthn That's a clue also. 10:34
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␤␤»
jnthn r: my @a = 1..4; for @a { $_ = 42 }; say @a;
camelia rakudo 0808ac: OUTPUT«42 42 42 42␤»
timotimo oh, that's not nice
jnthn lizmat: Is the first of these what you expect?
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? :)
lizmat r: my @a=^3; @a[1]:delete; @a[1]=42; say @a
camelia rakudo 0808ac: OUTPUT«0 42 2␤»
lizmat timotimo: only in loops, aliased to $_ 10:37
I guess it's another symptom of the same underlying pb
jnthn: well, good question
timotimo oh, right, don't you want <-> for that anyway?
oh, no, because a list is an array of containers
jnthn timotimo: for with $_ in it is <-> semantics 10:38
for @a { } is for @a <-> $_ { }
timotimo oh!
i learn so many things here
lizmat jnthn: indeed, maybe
but that would be more up TimToady's alley to ponder about
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
lizmat but then .elems should also not consider
spec is slushy there
timotimo right; .elems vs .end 10:40
jnthn Yes, and I don't think we can break .elems that way
I think as spec'd delete only affects elems if you delte at the end.
In which case it's pop-y.
timotimo pop-y the sailor? 10:41
tadzik hyhy
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...
timotimo .o( i like spinach ) 10:44
tadzik imgur.com/TgvtbGj
dalek ast: 7536e9c | (Elizabeth Mattijsen)++ | S32- (2 files):
Split off @a:exists tests into separate file
10:46
10:50 iSlug left, fridim_ joined 10:51 iSlug joined
dalek kudo/nom: f6e11ba | (Elizabeth Mattijsen)++ | t/spectest.data:
Make sure @a:exists and @a:delete tests are run
10:56
lizmat jnthn: how do you do nqp::isnull in pir ? 11:01
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␤␤»
moritz r: say pir::isnull__IP(Mu)
camelia rakudo 0808ac: OUTPUT«0␤»
moritz lizmat: like this, it seems 11:03
so just $I0 = isnull $P1
lizmat if is_sink goto sink_result
push rpa, result
I think I need to put in an isnull check between those, to skip the entry 11:04
as jnthn suggested
FROGGS $I0 = isnull $P1
lizmat if isnull result goto next
moritz $I0 = isnull result
if $I0 goto next
FROGGS unless $I0 goto blarg
ohh, what moritz said 11:05
lizmat trying moritz++ suggestion
11:08 fridim_ left 11:20 dmol joined
lizmat alas, no difference 11:22
11:23 iSlug left
jnthn But result is what the map block returns, no? 11:25
Not the thing given do it
*to
lizmat jnthn: to be honest, I'm not sure 11:30
src/core/MapIter, line 89: result = block(args :flat) is in my interpretation where the value is fetched 11:31
line 91 is where it gets pushed onto the RPA of the map 11:32
FROGGS result is the return value of executing map's block with one arg from the input array 11:34
so, args :flat is like $_.flat 11:35
jnthn lizmat: No, that's not fetched, that's invoking the map block 11:37
args contains what was fetched 11:38
FROGGS hmmm, what is the problem again? 11:39
lizmat ok, so "perl6_shiftpush args, items, argc" is where everything happens ?
FROGGS that the Any appears where a :delete happended?
lizmat yup
FROGGS lizmat: no, that is just a declaration
jnthn it's not a decl 11:40
That's an op
FROGGS ahh, true
sorry
11:40 mstwu00 left
jnthn shifting argc items from items and pushing them onto args 11:40
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)
jnthn FROGGS: correct
FROGGS which is callable and therefor gets invoked
11:41 mstwu00 joined
FROGGS and has an implicit signature 11:41
lizmat gets out of this discussion, as it's getting more worse than I can handle (the French understand what I mean) 11:42
11:44 mstwu00 left
FROGGS @array.map($block) is like: for (@array) -> $_ { $block($_) } 11:44
and the last bit is line 89 11:45
11:45 mstwu00 joined 11:46 mstwu00 left, colomon left 11:47 mstwu00 joined 11:48 colomon joined 11:49 mstwu00 left, sqirrel joined 11:50 mstwu00 joined
FROGGS lizmat: do you know that the problem is in reify()? 11:50
11:51 pdurbin left, skids left
lizmat FROGGS: I'm not sure where the problem is 11:51
FROGGS k 11:52
11:52 mstwu00 left
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:52
I'm leaning to the former, but hoping TimToady will shine a light on this 11:53
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:56
lizmat agree, hence my ticket lest we forget 11:57
jnthn *nod* 11:58
11:59 dmol left
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␤␤»
FROGGS hmmm 12:04
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…»
FROGGS ./perl6 -e 'my Int @a=^3; @a[1]:delete; @a.map:{ .WHAT.perl.say };' 12:12
Int
that is rakudo-jvm
lizmat ah, no Any, so it's skipping ?
12:13 mattp_ joined
FROGGS I changed Array.pm line 81 to nqp::bindpos($items, pos, Nil); 12:13
can't test on rakudo@parrot atm
lizmat what does :exist on that element say ? 12:14
FROGGS True
12:14 shinobicl joined
lizmat that's a pb: deleted elements shouldn't exists 12:15
jnthn right
FROGGS well, I deleted in the middle, so True might be about the element that was after th deleted one
jnthn I don't think that's the right way to fix it...
FROGGS ahh, +@a is stil 3 12:16
still*
lizmat indeed, :delete is *not* a splice
it is a .pop if done at the end, though
FROGGS yeah
hmmm
12:16 prevost joined
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
as per jnthn's suggestion
FROGGS yeah 12:18
12:19 denysonique joined
jnthn I still think that is the right approach 12:20
Just need to work out how it plays with iteration
FROGGS trying a fix 12:22
12:29 pmurias joined
pmurias hi 12:29
dalek kudo-js: a68d569 | jimmy++ | src/QAST/Compiler/JavaScript.nqp:
proper handling of classes an zerowidth, jnthn++
12:31
kudo-js: 069713a | (Pawel Murias)++ | src/QAST/Compiler/JavaScript.nqp:
Merge pull request #1 from zhuomingliang/patch-1

   proper handling of classes an zerowidth
12:34 prevost left 12:39 sqirrel left 12:42 kbaker joined
FROGGS hmmm 12:42
dalek ast: 19156f8 | (Elizabeth Mattijsen)++ | S32-array/delete-adverb.t:
Cat-licensed missing %h:delete tests to @a:delete
12:48
ast: 9c6e784 | (Elizabeth Mattijsen)++ | S32-hash/delete-adverb.t:
Tweaks to %h:delete tests, while cat-licensing @a:delete tests
lizmat some 100+ passing tests for rakudo 12:49
FROGGS cool! 12:50
I like tests
lizmat now it's time for some cycling, errands and by that time, dinner& 12:51
colomon "cat-licensing"? 12:52
grondilu is there a japanese branch of Perl 6 developpers? www.youtube.com/watch?v=eKr38snxZBw 13:06
FROGGS ahhhhh, I am soooo stupid
13:07 ajr joined, iSlug joined, ajr is now known as Guest62685, Guest62685 is now known as ajr_ 13:08 PacoAir joined
masak knows the feeling :/ 13:11
13:11 grondilu left
jnthn three 13:12
13:13 SamuraiJack__ left 13:15 raiph joined, grondilu joined 13:24 skids joined 13:27 zakalwe_ is now known as zakalwe
moritz enjoyed reading www.scottaaronson.com/blog/?p=122 even though he didn't understand all of it 13:32
masak yes, that's a good post. 13:38
13:40 kay_ joined, lowpro30 joined 13:47 ssutch left 13:51 btyler joined 13:52 salv0 left
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? :)
nwc10 that's a rakudo branch, or an NQP branch? 13:59
moritz nqp
nwc10 I had been rather hoping to replicate the success of the run that got past stage jast
13:59 pmurias left
nwc10 this is the Perl 6 setting - will it make a difference there? 13:59
jnthn nqp and Rakudo 14:00
nwc10 if I checkout out Rakudo, does it pick up the right NQP?
jnthn nwc10: Well, it does almost a million less allocations of Cursor
nwc10: Maybe not. You may want to wait for it to be merged
May do that tonight if spectest is clean.
nwc10 I had assumed that life would be easier if I waited
jnthn So you might have an easier time wating a little :)
Depends if you liek an easy life :P
nwc10 tonight I'm at the venna.pm meeting that is supposed to be about planning for the workshop next month 14:01
so it might wait until tomorrow
jnthn nice
enjoy the beer
I promise to submit soon :)
14:02 prevost joined
nwc10 submit what? talks? 14:03
jnthn: meeting is here -- www.bogside.at/ -- they also have bottles of cider 14:04
jnthn nwc10: talks for the workshop, yes
I didnt miss deadline did I? :)
nwc10: Darn, I miss not being able to attend Vienna.pm more often. 14:05
nwc10 27.10.2013, alledgedly
that is rather close
(to the workshop)
moritz r: say Date.new(2013, 10, 27) - Date.today
camelia rakudo f6e11b: OUTPUT«25␤»
14:05 bluescreen10 joined
jnthn oh, that's ages! 14:06
14:08 salv0 joined
nwc10 however, I rather think that it would be better to have a schedule before then 14:08
jnthn probably ;) 14:13
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…»
masak r: say Date.new(| +<<"27.10.2013".split('.')[2,1,0])
camelia rakudo f6e11b: OUTPUT«2013-10-27␤»
masak \o/
14:17 kbaker left
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…»
moritz r: say Date.new(| %( <day month year> Z +<<"27.10.2013".split('.')) )
camelia rakudo f6e11b: OUTPUT«2013-10-27␤»
moritz we should really have Date.new accept Cool
jnthn r: say Date.new(| +<<"27.10.2013".split('.').reverse )
camelia rakudo f6e11b: OUTPUT«2013-10-27␤» 14:20
jnthn aye
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␤␤»
jnthn oh, yeah :)
14:21 jnap joined 14:22 ksh joined
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␤»
jnthn oh yeah... 14:24
r: my regex dotdmy { $<day>=[\d+] '.' $<month>=[\d+] '.' $<year>=[\d+] }; say Date.new(|%("27.10.2013".match(&dotdmy/)))
camelia rakudo f6e11b: OUTPUT«===SORRY!=== Error while compiling /tmp/SiV8iTz1xf␤Unable to parse expression in argument list; couldn't find final ')'␤at /tmp/SiV8iTz1xf:1␤------> Date.new(|%("27.10.2013".match(&dotdmy/⏏)))␤ expecting any of:␤ …»
jnthn r: my regex dotdmy { $<day>=[\d+] '.' $<month>=[\d+] '.' $<year>=[\d+] }; say Date.new(|%("27.10.2013".match(&dotdmy)))
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…»
jnthn That'd work with a more liberal typing too :) 14:25
14:25 fglock joined
fglock hi #perl6 14:25
14:25 xenoterracide joined
fglock I'm thinking about developing the perlito-based perl5 to perl6 translator a bit more 14:25
do you have ideas about that? 14:26
the perlito5 grammar is much better now 14:27
14:27 cognominal left 14:28 cognominal joined 14:32 FROGGS left 14:35 iSlug left
jnthn fglock: A 5 -> 6 code level translator is certainly an interesting thing 14:37
(For learning purposes amongst other things...
)
colomon bottles of cider++ 14:39
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
nwc10 fails on puns 14:43
colomon don't think anyone has thought of 3l boxes of cider yet in the US.
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!
J.K.'s said they had a great harvest of apples this year, which is very exciting. organicscrumpy.com/
jnthn mmm :) 14:47
nwc10 colomon: specifically this (well, sold by the box in supermarkets until it wasn't): www.westons-direct.co.uk/Shop/Wyld-...der~~4x3L/
you will have to pretend to be in the UK and claim to be over 18 to see that
colomon suppose I couldn't afford to buy 3l of a time of JK's stuff, though.
nwc10: that sounds pretty awesome. 14:48
nwc10 it was when I could get it
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:54
GlitchMr std: my $x<foo>; 14:56
camelia std 4cde04e: OUTPUT«ok 00:00 42m␤»
GlitchMr rn: my $x<foo> = "foo"; say $x<foo>
camelia niecza v24-95-ga6d4c5f: OUTPUT«===SORRY!===␤␤Postconstraints, and shapes on variable declarators NYI at /tmp/UE_uUZ1fHB line 1:␤------> my $x<foo> ⏏= "foo"; say $x<foo>␤␤Unhandled exception: Check failed␤␤ at /home/p6eval/niecza/boot/lib/CORE.se…» 14:57
..rakudo f6e11b: OUTPUT«===SORRY!=== Error while compiling /tmp/NJfFoozbZu␤Shaped variable declarations not yet implemented. Sorry. ␤at /tmp/NJfFoozbZu:1␤------> my $x<foo>⏏ = "foo"; say $x<foo>␤»
GlitchMr std: my $x<foo> = "foo"; say $x<foo>
camelia std 4cde04e: OUTPUT«ok 00:00 43m␤»
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:58
14:59 gattschardo joined
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... 14:59
don't recall if Crisp was in there 15:00
colomon Granny Smith would be one of my least favorite of theirs. ;)
but I *never* buy the combo packs, they usually have at least two kinds I don't like
our local liquor store has about 15 different varieties of cider available normally 15:01
weed out the woodchuck and the angry orchard and there are still a number of interesting choices left.
and they almost always have JK's. 15:02
15:08 shinobicl left 15:09 denisboyun joined
dalek ecs: 2845cf6 | larry++ | S (3 files):
rename all the Key* types, add missing "Mix"

Set-> Set does Setty Bag-> Bag does Baggy
  -> Mix does Mixy
KeySet-> SetHash does Setty does MixHash[Bool,False] KeyBag-> BagHash does Baggy does MixHash[Uint,0] KeyHash-> MixHash does Mixy does MixHash[Real,0.0]
15:12
jnthn What a Mix-up... :P 15:13
TimToady more like a de-mixup, but yeah :)
yoleaux 08:53Z <FROGGS> TimToady: The only thing that would be what grammars are to regexes is a template engine for sprintf/pack
08:54Z <FROGGS> TimToady: Even when I like Template Toolkit, I really don't like that is yet another scripting language inside it: template-toolkit.org/docs/tutorial/...eb_Content
08:55Z <FROGGS> TimToady: Would be cool if we could have a template engine where you just write perl6...
jnthn TimToady: Yeah, was just punning :) 15:14
TimToady not sure about the punning of MixHash, but oh well 15:15
the role is really more like SelfPruningHash
ExistentialHash :) 15:16
AmountOfExistenceHash
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….
jnthn HashTodayGoneTomorrow
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
A week or two back, IIRC
jnthn arnsholt: Don't recall, sorry :(
TimToady colomon: mostly just renaming
jnthn arnsholt: Oh...
arnsholt: Maybe it was something about code assertions or something
And $/ updating? 15:19
arnsholt Yeah
jnthn yeah, dunno if it was filed
15:19 berekuk left
jnthn Pretty sure we have a related Rakudo bug tikcet though. 15:19
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 $/
jnthn arnsholt: Workaround:
/<foo> {} <bar($<foo>.ast)>/ 15:21
15:21 FROGGS joined
TimToady two problems 15:21
jnthn But do file an NQP issue too
TimToady I'd think $/ would only exist inside the $/
jnthn ?
TimToady also that {} mostly wants to be optimized away
15:21 fhelmberger joined, [Sno] left
jnthn
.oO( Yo dawg, I heard you like $/ so I made a $/ exist in a $/ )
15:22
FROGGS needs to backlog to understand that
jnthn TimToady: did you mean inside the block?
TimToady oh, yeah, sorry
ELESSCOFFEE
jnthn TimToady: We socpe $/ to the regex itself (with positional captures having their own) though
I agree {} wants optimizing out, anyway 15:23
In general, when we update $/ wants more analysis
We can statically see when things do/don't use it.
In NQP we can, anyway
Which should save many .MATCH calls. 15:24
arnsholt Ah, right. $/ is only constructed once the whole match is complete?
jnthn arnsholt: *or* in other special cases.
{...} being one of them
TimToady STD constructs $/ for <bar(...)> I think
jnthn Yeah. We should but it's nice if we can get away with it when we don't need to
TimToady maybe only if $/ is reffed though
colomon TimToady: SetHash, BagHash, and MixHash should be Iterable, shouldn't they? 15:25
TimToady yeah
colomon MixHash Mixy MixHash[Real,0.0] strikes me as a circular definition?
TimToady should behave exactly like the immutables, except for the mutability
just a pun
which I was talking about fixing above 15:26
colomon TimToady++
colomon doesn't have time to backlog at the moment, alas. :(
15:26 ksh left
arnsholt Ah, found the bug. #119877 15:29
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=119877
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
dalek ecs: 1d47100 | larry++ | S (2 files):
distinguish QuantHash role from MixHash instance
15:33
15:34 fglock left
colomon TimToady: how long have we had .grab? 15:37
TimToady I dunno, half a year, plus or minus 15:38
TimToady would rather see .combinations first though :)
just so we can point people at it when they carp about .comb not meaning that :) 15:39
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. :)
TimToady dunno, a strange reticence to install something that might not be optimal, I think
15:41 pmurias joined
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.
r: use MONKEY_TYPING; augment class List { method combinations() {...} }; 15:42
camelia ( no output )
grondilu hum it works now
TimToady oh, different meaning of test than I read it as 15:43
well, you don't know that it works
you haven't tested it :P
grondilu last time, it didn't even compile
TimToady I thought it was just invisible
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:…»
TimToady looks like it found it
perigrin remember the MAIN
grondilu why is it not defined on Positional? 15:45
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:46
TimToady yes, we should make it work everywhere that it makes sense to work 15:47
and maybe some places where it doesn't, like Any :)
jnthn The usual way is to do a method combinations() { self.list.combinations } in Any
15:48 fhelmberger left
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
gotta be some use for that...
jnthn grondilu: Prefer not to
grondilu: But if it's the only sensible way to get the laziness right... 15:50
grondilu I'll rewrite rosettacode.org/wiki/Combinations#Perl_6 with MONKEY_TYPING first
15:50 kaare_ joined
TimToady well, gather/take is not (supposed to be) the only way to get laziness 15:50
jnthn aye, but it's a *convenient* way :) 15:51
15:51 sqirrel joined
TimToady not as convenient as a list comprehension 15:52
(using the term loosely)
jnthn "list comprehension", or "convenient"? :) 15:55
16:03 zakharyas left, lowpro30_ joined
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"
grondilu ...cache
after all, all countable sets are isomorph, so we should just focus on the natural integers. 16:06
16:06 lowpro30 left
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
grondilu ok 16:08
colomon As TimToady implies, handling the Int version first is probably a good idea. 16:09
grondilu method combinations(Int $k) { gather take @a[@$_].item for combinations +@a, $k } 16:11
^ something like that maybe?
method combinations(Int $k) { gather take self[@$_].item for combinations .elems, $k }
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 denisboyun left
TimToady I guess it's pseudocode, nevermind 16:12
jnthn arnsholt: It's in the NQP and Rakudo subclasses of P6Regex::Actions 16:13
arnsholt: In their respective Actions.nqp files
TimToady tries to backlog again while resisting the urge to Change the World!
grondilu TimToady: from sub combinations 16:14
arnsholt Cheers! I'll see if I can't hack up a fix
grondilu the routine being the natural integers version
TimToady I meant the $_ implied by .elems 16:15
16:15 denis_boyun joined
TimToady that won't pick self unless you say method combinations($_: Int $k) 16:16
16:16 sqirrel left
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
grondilu I'll try to write a version of sub combinations, and I'll come back to you. 16:17
TimToady eventually we figured out that the object is not the same as the subject :) 16:18
16:18 benabik joined 16:20 sqirrel joined 16:23 ssutch joined
grondilu well, that was quicker than I thought: gist.github.com/grondilu/6796390 16:24
it seems to work.
16:24 ajr_ left
grondilu r: 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␤»
PerlJam grondilu: I often have that "quicker than I thought" experience with Perl 6. :) 16:25
grondilu :)
TimToady of course, using subscripting on ^6 is kinda silly 16:30
just return the indices 16:31
16:31 daniel-s_ joined
grondilu indeed 16:31
TimToady but I understand you were demonstrating the general idea
16:35 daniel-s left
TimToady r: say :foo 16:36
camelia rakudo f6e11b: OUTPUT«␤»
TimToady that seems like it should fail
r: print :foo 16:37
camelia ( no output )
16:37 [Sno] joined
TimToady r: say :foo, 42 16:38
camelia rakudo f6e11b: OUTPUT«42␤»
jnthn has merged cursless locally and is spectesting
TimToady n: say :foo, 42
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…»
TimToady rakudobug of some sort 16:39
jnthn say cheats :)
I think fossil from early days of nom :)
these days it's probably better to turn it into a multi with a single arg candidate and a slurpy candidate or so...
TimToady r: say join '', :foo, 42
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␤␤»
TimToady yum, dogfood 16:40
jnthn aww, some spectest fails 16:42
16:42 [Sno] left 16:45 iSlug left
jnthn food & 16:45
16:49 spider-mario left 16:50 pmurias left 16:53 jnap left, spider-mario joined 16:55 raiph left 17:01 lowpro30_ left
arnsholt nqp: "foo" ~~ /\f/ 17:02
camelia ( no output )
arnsholt nqp: token foo { \f } 17:03
camelia ( no output )
17:03 wrp6 joined 17:05 iSlug joined, jnap joined 17:07 lowpro30 joined 17:10 [Sno] joined
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
17:11 raiph joined
TimToady and according to S02:2465 we can always get at the "weeded" version by usings adverbs 17:11
synopsebot Link: perlcabal.org/syn/S02.html#line_2465
17:11 nyuszika7h left 17:12 cibs left, cibs joined
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)␤»
arnsholt Is that an NQP bug, or is there a different correct way to include spaces in a character class? 17:14
moritz std: /<[\ ]>/ 17:15
camelia std 4cde04e: OUTPUT«ok 00:00 43m␤»
moritz arnsholt: seems to be a NQP bug
TimToady EPARSINGWRONGLANGUAGE 17:16
arnsholt r: "foo bar" ~~ /<[\ ]>/
camelia rakudo f6e11b: OUTPUT«===SORRY!=== Error while compiling /tmp/Ue7_HxeIIq␤Unspace not allowed in regex␤at /tmp/Ue7_HxeIIq:1␤------> "foo bar" ~~ /<[\ ⏏]>/␤»
TimToady ESAMETHING 17:17
timotimo grondilu: it would appear that talk was done by risou_awy_ -> www.risouf.net/ 17:18
arnsholt std: /foo\ bar/
camelia std 4cde04e: OUTPUT«===SORRY!===␤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:␤------> /foo\⏏ bar/␤Parse failed␤FAILE…»
TimToady that's correct, but the inside of <[ ]> is not "regex" 17:19
arnsholt Yeah, just making sure
17:20 nyuszika7h joined 17:22 SamuraiJack__ joined
arnsholt So, inside a character class do we allow backslash anything? 17:22
TimToady pretty much
since there's no other way to quote
17:23 SamuraiJack joined
TimToady other than \x20 and such 17:23
17:23 jnap left
arnsholt I was about to ask that very question =) 17:23
TimToady which is more of a circumlocution than a quote
17:23 xinming left, denis_boyun_ joined
TimToady \ and .. are the only special things (plus - for error reporting only) 17:24
well, and whitespace is whitespace-special
as in, ignored
17:24 denis_boyun left 17:25 rindolf joined
TimToady std: /<[a-b]>/ 17:25
camelia std 4cde04e: OUTPUT«===SORRY!===␤Unsupported use of - as character range; in Perl 6 please use .. (or \- if you mean a literal hyphen) at /tmp/VNadi2IRt0 line 1:␤------> /<[a-b⏏]>/␤Parse failed␤FAILED 00:00 42m␤»
17:25 xinming joined
TimToady std: /<[-b]>/ 17:25
camelia std 4cde04e: OUTPUT«ok 00:00 43m␤»
TimToady well, and ]
std: /<[ ] ]>/
camelia std 4cde04e: OUTPUT«===SORRY!===␤Unable to parse metachar at /tmp/WoslTvFe76 line 1:␤------> /⏏<[ ] ]>/␤Couldn't find final '>'; gave up at /tmp/WoslTvFe76 line 1:␤------> /<[ ] ⏏]>/␤ expecting any of:␤ cclass_add␤ cclass_ex…»
17:25 SamuraiJack_ joined
TimToady std: /<[ \] ]>/ 17:25
17:25 SamuraiJack__ left
camelia std 4cde04e: OUTPUT«ok 00:00 43m␤» 17:25
TimToady std: /<[ [ ]>/ 17:26
camelia std 4cde04e: OUTPUT«ok 00:00 43m␤»
arnsholt Right. Now I just have to figure how to disentangle this correctly in NQP
17:26 jnap joined
TimToady std: /<[ -]>/ 17:27
camelia std 4cde04e: OUTPUT«ok 00:00 43m␤»
TimToady std: /<[ - ]>/
camelia std 4cde04e: OUTPUT«ok 00:00 43m␤»
TimToady oh, yeah, ws doesn't count
std: /<[ x - ]>/
camelia std 4cde04e: OUTPUT«ok 00:00 43m␤»
TimToady std: /<[ x - y ]>/
camelia std 4cde04e: OUTPUT«===SORRY!===␤Unsupported use of - as character range; in Perl 6 please use .. (or \- if you mean a literal hyphen) at /tmp/A4_dI3K3Ek line 1:␤------> /<[ x - y⏏ ]>/␤Parse failed␤FAILED 00:00 42m␤»
TimToady std: /<[]]>/ 17:28
camelia std 4cde04e: OUTPUT«===SORRY!===␤Unable to parse metachar at /tmp/jwM4yJ9glv line 1:␤------> /⏏<[]]>/␤Couldn't find final '>'; gave up at /tmp/jwM4yJ9glv line 1:␤------> /<[]⏏]>/␤ expecting any of:␤ cclass_add␤ cclass_expr␤P…»
TimToady yeah \] is the only way to get a ]
17:29 SamuraiJack left
TimToady well, plus circumloctions 17:29
a bit inconsistent that we allow a leading -
17:29 perigrin joined
TimToady but that's because ranges need both endpoints 17:29
and we'd prefer <[ ]> to degenerate to matching nothing rather than being a syntax error 17:33
17:41 iSlug left, breinbaa1 left 17:44 xinming left
TimToady grondilu: while you're at it, you could thrown in a .permutations as a bonus :) 17:44
*throw 17:45
17:53 jnap left 17:54 jnap joined 18:02 sqirrel left 18:08 prevost left 18:23 cognominal left
jnthn back 18:23
18:24 cognominal joined
grondilu compiles his fork of rakudo with List.combinations and List.permutations 18:24
jnthn grondilu++ 18:25
grondilu I haven't commited it but here is the file if you want to look at it: gist.github.com/grondilu/6798263 18:26
dalek p/cclass-backslash: 65c84f3 | (Arne Skjærholt)++ | t/qregex/rx_charclass:
Add test for character class with space in it.
p/cclass-backslash: 401bc9e | (Arne Skjærholt)++ | src/QRegex/P6Regex/ (2 files):
Refactor regex backslash handling to correctly handle character classes.

Now, "\ " isn't incorrectly parsed as unspace (which is illegal in regexes).
arnsholt jnthn: Would you mind reviewing that branch? 18:27
timotimo cool :)
does it also work with \# and such?
arnsholt I think it's ok, but I've done some surgery on the regex code, and that's unfamiliar territory
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)␤»
arnsholt Oh, that's unspace as well?
Yeah, it works on that branch here =) 18:29
timotimo that's very good :)
jnthn arnsholt: lookin 18:32
18:33 Rotwang joined
jnthn arnsholt: hmm, that is some surgery... 18:34
18:35 sqirrel joined
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
arnsholt Since we want some of the backslash sequences to be shared, but not all of them
jnthn It'd be a little code dupe...
18:37 rindolf left
jnthn But in the long run we may want AST to come out differently for cclass things anyway 18:38
Especially if we end up doing inversion list stuff... 18:39
arnsholt Right, so dup the backslash stuff into cclass_backslash then
jnthn That'd be my leaning
arnsholt Okies. I'll refactor up that then
Then I can return to the setting-up-$/ which is what I was actually doing =) 18:40
18:41 Fatalnix_ left 18:44 Fatalnix joined
jnthn hm, I think your fix there may deal with some of the failures in cursless too 18:45
So I'll hold off investigating until it lands :)
arnsholt Okies!
18:46 spider-mario left 18:52 denis_boyun joined, denis_boyun_ left 18:55 darutoko left, stevan__ joined 18:57 stevan_ left
dalek p: 65c84f3 | (Arne Skjærholt)++ | t/qregex/rx_charclass:
Add test for character class with space in it.
19:02
p: 401bc9e | (Arne Skjærholt)++ | src/QRegex/P6Regex/ (2 files):
Refactor regex backslash handling to correctly handle character classes.

Now, "\ " isn't incorrectly parsed as unspace (which is illegal in regexes).
p: a2a6cc8 | (Arne Skjærholt)++ | src/QRegex/P6Regex/ (2 files):
Rerefactor backslash handling.

Now, running regex and character classes don't share any code for handling backslash escapes. This means that there's some code duplication, but it'll make it easier to change character classes into something like skip lists later on.
arnsholt jnthn: Done
19:06 SamuraiJack_ left
jnthn cool 19:09
arnsholt++
colomon arnsholt++ 19:11
FROGGS cool! arnsholt++ 19:12
this awesomely replaces what I tried yesterday :o)
timotimo huh, parrot says --profile is not known 19:15
ah, it's -R profile?
profiling*
timotimo is going to profile compiling the core setting 19:16
19:17 spider-mario joined, grondilu_ joined
japhb__ ++timotimo # A highly worth task, that. 19:18
*worthy
timotimo generating the profiling data is the easy part ...
japhb__ Parrot or JVM? 19:19
timotimo parrot
tadzik www.reddit.com/r/perl6/comments/1nl...at_nqp_is/
timotimo let's pepper that thread with a bunch of super arcane koans and other buddhist stuff! 19:20
lue Hello world! o/
colomon nqp is the perl which is not perl
TimToady What is the sound of one hand not quite clapping?
PerlJam not *quite* perl ;)
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:20 grondilu left
lue
.oO(It is a repository of rejected perls of wisdom, hence Not Quite Perl(s of Wisdom))
19:22
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 :)
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
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
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.
Of note, it happens to be a toolchain very well suited to building Perl 6 and NQP itself. 19:25
lue
.oO(maybe refer to the toolchain as the NQPt ?)
19:29
timotimo the reddit perl6 sidebar links to the old try.rakudo.org 19:30
19:31 sqirrel left
moritz www.reddit.com/r/perl6/comments/1nl...is/ccjpzz9 19:31
speaking of try.rakudo.org 19:32
jnthn: how easy or hard would it be persist and resume a REPL session?
jnthn Hmm
In a better way that just replaying all the commands? :) 19:33
moritz yes
jnthn I guess you can't do stuff with filehandles...
And so on
I wonder if we can just use BS
moritz that's fine
(for try.rakudo.org we won't allow opening files anyway)
jnthn That is, somehow use the serializer
And then load it like a setting. 19:34
It could be done with an alternate frontend maybe...
19:34 sqirrel joined
jnthn Kinda like the way perl6-debug works 19:34
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)
timotimo i'm now at about 10x as long
jnthn timotimo: Are you using the sub level profiler or the op one?
I seem to recall there are both.
timotimo ... er 19:36
-R profiling, dunno which one that does
if it is the op level profiler, that would explain the slow
jnthn timotimo: I vaguely recall a -R subprof
19:36 aindilis joined
timotimo yes, that exists 19:37
thank you
lizmat colomon: re irclog.perlgeek.de/perl6/2013-10-02#i_7662036, www.youtube.com/watch?v=nmyHup4TpkU around 2:50 19:38
timotimo insert south park reference here
19:38 berekuk joined
colomon I don't think I've ever seen that one before, just heard it. 19:41
19:43 japhb_ left
colomon didn't have that ending, either. 19:43
timotimo now that i have the kcachegrind output in front of me again 19:44
i remember that i have absolutely no idea how to read it
colomon lizmat++
[Coke] timotimo: use the pretty pictures!
... that's as far as I got. ;)
moritz timotimo: somewhere you can sort subroutines by exclusive time
lizmat re 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.
timotimo ah, that sounds nice
colomon lizmat: indeed
[Coke] lizmat: ARGLEBARGLE. 19:46
timotimo i can't seem to find how to unshow inclusive and show exclusive instead
[Coke] I thought he was kidding when he said he was going to rename a bunch of crap.
colomon lizmat: and finally I understand cat-licensing
lizmat: if only I had a crayon
lizmat ehe 19:47
[Coke] I have no idea what that means, btw.
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:49
jnthn innerestin 19:51
HOw much is a whole lot?
Every variable access goes through it, maybe declaration too...
grondilu_ "Cannot auto-generate a proto method for 'combinations' in the setting" 19:52
I guess I just have to write one, right? ^
19:52 grondilu_ is now known as grondilu
jnthn right 19:52
19:53 grondilu left, grondilu joined
timotimo it's called 11747 times and has a "self" of 1_455_xxx_xxx 19:53
lizmat grondilu: re irclog.perlgeek.de/perl6/2013-10-02#i_7662834 , the problem is that subclasses do not see the augmentation of List
jnthn What's the % inc?
lizmat so Array wouldn't see your augmentation
timotimo the second place is EXPR, which is called 31_xxx times, but has a self of 869_xxx_xxx
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
timotimo the incl for EXPR otoh is 1.31
lizmat currently, rakudo is very family unfriendly: children now their parents, but parents do not know their children
19:54 japhb_ joined
lizmat *know 19:55
FROGGS :/
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.
dalek p: 879f8d1 | coke++ | docs/ops.markdown:
meta docs
p: 02cf729 | coke++ | docs/ops.markdown:
add more string opcodes
p: 2b8f9e3 | coke++ | docs/ops.markdown:
fix typo, minor formatting
lizmat yes, it does compile, but it still doesn't work correctly
timotimo oh, i was filtering only to actions.nqp 19:56
my bad
ingy morning all
lizmat try developing something in Any using MONKEY_TYPING
m'ning ingy
colomon ingy! \o/
ingy MONKEY_HUGS lizmat 19:57
I miss you dear
timotimo can anybody get any use out of my kcachegrind output?
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.
ingy heya colomon :)
timotimo oooh interesting 19:58
for every token it'll show "N calls to !cursor_fail"
oh wow, dba seems to be pretty noncheap 20:00
[Coke] benabik: :)
jnthn timotimo: How noncheap is noncheap?
timotimo i'm probably reading this wrong.
yeah, i have no clue what any of these numbers mean
[Coke] 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
(if you want to grab low hanging fruit like xor, please do that also!)
jnthn wtf does usecompileehllconfig do?!
:)
.oO( I probably added that... )
timotimo anyway, i'll go to bed now
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:03 sqirrel left
lizmat [Coke]: also MoarVM specific opcodes :-) 20:04
jnthn Not sure it adds many moar... :) 20:05
[Coke] if we end up with "jvmisnull" and "moarisnull", I will be most put out.
how long til moar lands in nqp?
oh. jnthn: where are opcodes add to nqp for parrot? 20:06
20:07 spider-mario left
[Coke] ah, QAST/Operations.nqp ? 20:07
jnthn Yes, there
[Coke]: jvmisnull is maybe a tad misnamed. It really means "given this wrapper around a Java object, is that reference null"
[Coke]: So it's part of the interop support.
lizmat TimToady: re 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:09
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
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?
(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
[Coke] only other missing one is openasync 20:15
(so far. it's based on stuff that's documented)
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
[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
using :delete / :exists on an array makes it more "hashy" in my view 20:18
and therefore it wouild need to work like a hash, so "hiding" deleted values like you wouldn't see them in a hash either
jnthn lizmat: Well, TimToady said they will show up in normal iteration, but are pruned by adverbs 20:19
lizmat: So the question is what they show up as
Any is the current answer, but that doesn't quite seem satisfying :)
TimToady Nil perhaps
20:20 berekuk left
jnthn That would be easy implementation wise :) 20:20
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 :)
I suspect the Any may be a happy accident anyway... 20:22
lizmat well, that would mean it disappears in an iteration ?
jnthn I thought Nil didn't do that any more (by spec)?
TimToady lizmat: Nil hasn't meant () for some time now
lizmat indeed
sorry, mixed up mind interfering :-)
TimToady I think the important point is that the natural list of values should match up with ^size 20:23
20:23 Rotwang left
TimToady since people very often depend on the values marching in sync with the integers 20:24
20:24 Rotwang joined
TimToady and we can't force them to always say .kv or .pairs 20:24
lizmat r: my Int %h; say %h<a>
camelia rakudo f6e11b: OUTPUT«(Int)␤»
TimToady that, plus the escape hatch of adverbs, is why I lean toward emitting the Nils
20:24 stevan__ left
lizmat r: my Int @a; @a[1] = 42; say @a 20:25
camelia rakudo f6e11b: OUTPUT«(Any) 42␤»
lizmat so that would become Nil 42
r: my Int @a; @a[1] = 42; say @a[0] # but this would still return Int, right
jnthn r: my Int @a; @a[1] = 42; say @a[0]:exists
TimToady I'm still not convinced that @a[2] shouldn't be Nil as well
camelia rakudo f6e11b: OUTPUT«(Int)␤»
rakudo f6e11b: OUTPUT«False␤»
TimToady unless an explicit default is set 20:26
the type constraint is not a default
lizmat r: my @a is default Int; @a[1] = 42; say @a[0] # but this would still return Int, right
camelia rakudo f6e11b: OUTPUT«===SORRY!=== Error while compiling /tmp/lZyQ4FiFER␤Two terms in a row␤at /tmp/lZyQ4FiFER:1␤------> my @a is default ⏏Int; @a[1] = 42; say @a[0] # but this w␤ expecting any of:␤ scoped declarator␤ constrain…»
TimToady right
lizmat r: my @a is default(Int;) @a[1] = 42; say @a[0] # but this would still return Int, right
camelia rakudo f6e11b: OUTPUT«===SORRY!=== Error while compiling /tmp/Q8XlAU_cyn␤Two terms in a row␤at /tmp/Q8XlAU_cyn:1␤------> my @a is default(Int;) ⏏@a[1] = 42; say @a[0] # but this would ␤ expecting any of:␤ postfix␤ statement end␤…»
lizmat r: my @a is default(Int); @a[1] = 42; say @a[0] # but this would still return Int, right
camelia rakudo f6e11b: OUTPUT«(Int)␤»
TimToady but in my mind it returns Int *because* it's Nil 20:27
20:28 Rotwang left
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
camelia rakudo f6e11b: OUTPUT«(Int)␤»
20:28 Rotwang joined
TimToady that's what default means, yes 20:28
lizmat ok
so, deleted array elements need to return the default value of the array, because their Nil 20:29
*they're
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
lizmat they already do: 20:31
r: my @a is default(42); say @a[99999999999]
camelia rakudo f6e11b: OUTPUT«42␤»
TimToady I don't think setting the type constraint necessarily sets the default
r: my @a is default(42) = 1,2,3; for @a { .say }
camelia rakudo f6e11b: OUTPUT«1␤2␤3␤»
lizmat if that wouldn't happen, then assigning Nil would always create an error 20:32
TimToady but that stops
which is what I'm arguing maybe shouldn't stop
lizmat r: my Int @a is default(Str); @a[0] = Nil
camelia ( no output )
jnthn TimToady: Well, but we expect that for a my Dog @pets, @pets[1] .= new(name => 'Spot', breed => 'Dalmatian'); will work
lizmat r: my Int @a is default(Str); @a[0] = Nil; say @a[0]
camelia rakudo f6e11b: OUTPUT«(Str)␤»
jnthn TimToady: That's a differnet case than iterating though, I guess :)
TimToady maybe...just trying to see through to the use cases here 20:34
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?
lizmat and in hashes, non-existing elements don't exist :-)
colomon TimToady: finite by default with an easy way to request infinite?
TimToady colomon: that seems reasonableish 20:36
colomon TimToady: I thought about it another minute and I'm not longer sure I'm convinced of it. 20:37
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
$ perl6 -e 'say (^3).list.combinations(2).perl'
((0, 1), (0, 2), (1, 2)).list
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?
grondilu yep, that works 20:40
thanks
Is that acceptable?
jnthn punts to the langauge designer :)
20:40 ajr joined 20:41 ajr is now known as Guest58105
TimToady currently .tree basically implements .lol rather than .tree, last I knew... 20:41
jnthn I think it takes args too
isn't .tree without args the same as .lol?
grondilu S32 says "The result value is a list of (presumably immuable) values."
TimToady .lol is only one level, .tree is arbitrary levels, iirc 20:42
jnthn *nod*
Yeah, that's how I had it. And the default number of levels is 1
lizmat feels implementation of various list operations become more tricky with :deleted array elements "existing" 20:44
to reiterate: when using :delete on an array, you're using it as a hash
20:44 jnap left
TimToady so don't do that, unless you know what yer doin' 20:45
lizmat indeed
or maybe :exist / :delete support should be a role on arrays
not supported on "normal" arrays ?
my @a does Sparse 20:46
TimToady not sure that's an additive thing 20:48
probably better expressed by a different kind of container
my @a is SparseArray
but then it's probably really more like a tree or hash
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
my %h{Int} is a sparse array
with a different kind of container :-) 20:50
grondilu made a pull request about List.permutations and List.combinations: github.com/rakudo/rakudo/pull/211 20:57
TimToady grondilu++ grondilu++ 20:58
nap++ 20:59
dalek kudo/nom: 5a7979e | (L. Grondin)++ | src/core/List.pm:
first attempt
kudo/nom: 04e2541 | lizmat++ | src/core/List.pm:
Merge pull request #211 from grondilu/combinations

List.combinations and List.permutations
jnthn lizmat: beat me to it 21:00
grondilu made his first contribution to rakudo. Blushing ;)
jnthn grondilu++ 21:01
benabik Indenting looks odd... 21:03
grondilu++
grondilu yeah I forgot to expand.
lizmat grondilu: are there tests for it already ? :-) 21:04
colomon lizmat++ # I was just going to ask that myself 21:05
grondilu lizmat: no. Not even in roast, which surprized me. 21:06
lizmat hopes for a pull request in roast soon :-) 21:09
dalek kudo/nom: ae7ce99 | (L. Grondin)++ | src/core/List.pm:
expand tabs
21:10
kudo/nom: a103418 | lizmat++ | src/core/List.pm:
Merge pull request #212 from grondilu/combinations

fixing indentation
colomon List::Utils has some tests for at least one of permutations / combinations. 21:11
might not be to the current spec
21:11 aindilis left 21:13 jnap joined 21:15 kaare_ left 21:20 odoacre_ joined 21:24 odoacre left 21:27 odoacre_ left, fridim_ joined, skids left 21:29 denis_boyun left 21:31 lowpro30 left 21:38 stevan_ joined 21:39 odoacre_ joined 21:41 donaldh joined 21:47 TgMts joined 21:49 mberends left
jnthn arnsholt: Hmm, oddly your fixes to cclass didn't fix the Rakudo parse issues... 21:52
21:53 Rotwang left 21:55 TgMts left
dalek ast: f2f591d | (Elizabeth Mattijsen)++ | S32-array/delete-adverb.t:
Add tests for adverbed array access to an out of bounds element (shouldn't vivify)
21:59
lizmat and 86 more tests :-)
this is really to make sure it won't regress: in the original method2sub branch, they *did* vivify in some situations 22:00
22:01 bluescreen10 left
donaldh jnthn: the LINEPOSCACHE change makes a notable difference to heap churn and overall heap use during parse. 22:05
22:06 lowpro30 joined
lizmat sleep& 22:06
donaldh jnthn: need to chase down multiple executions when compiling Metamodel.nqp and BOOTSTRAP.nqp
22:07 sisar joined
jnthn donaldh: yay 22:11
donaldh: Though those are less likely to affect Perl 6 users beyond the build. 22:12
donaldh: Those probably happen in NQP::World somewhere
donaldh: It too has a call to .compile
Same fix, I think
donaldh jnthn: thx 22:14
22:14 benabik left
sisar TimToady: rosettacode.org/mw/index.php?title=...id=168415, removed the final brace by mistake. 22:16
Fixed.
lue jnthn: just looking at NQP issues, I can't help but wonder if issue #1 is still relevant (marked as LHF too) :)
22:19 lowpro30 left
sisar uh, oh. rosettacode.org/wiki/Rosetta_Code/R...ity#Perl_6 fails with: sprunge.us/bQgh . 22:28
TimToady huh, I guess I was testing it with niecza 22:29
22:39 Mouq joined
Mouq grondilu++ 22:40
yoleaux 07:27Z <FROGGS> Mouq: About Q-lang for nqp: I think that is stilll needed to do it right
Mouq arnsholt++ 22:43
22:43 stevan_ left 22:45 Oflameo joined, BenGoldberg joined
Oflameo This time raiph sent me. 22:45
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.
jnthn tbh, I'd not trust anything Jonathan Worthington says...
Oflameo Why not jnthn? 22:47
raiph heh
geekosaur :p
TimToady because he's far too self-deprecating :)
jnthn :) 22:48
raiph oflameo: this might help; plz take a gander: irclog.perlgeek.de/perl6/2013-10-02#i_7664068
jnthn Oflameo: Did the Reddit answers help?
lue jnthn: I'm not sure what to make of this: github.com/perl6/nqp/issues/1 :)
jnthn lue: looking 22:49
hm, this evening really din't work out productive in any sense...apart from the handful of $dayjob slides...
Oflameo Why is self deprecation a problem TimToady?
jnthn lue: Well, nqp-rx is gone now, and Parrot installs its nqp as parrot-nqp
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?"
p5eval raiph: does our p5 bot work?1
sisar uh, oh. rosettacode.org/wiki/Runge-Kutta#Perl_6 fails with sprunge.us/XJUI
sisar wonders if he is helping at all with reports of something not working
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)
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)
jnthn oh...
lue: done it 22:52
unsp 22:53
oops
lue likes how github says that comment happened "just now" :)
diakopter at one point it said "a few minutes from now"
TimToady sisar: it works here--looks like your unicode isn't working right
diakopter possibly parrot not compiled with libicu 22:54
TimToady is using jvm
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.
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, sisar_ joined
jnthn Oflameo: NQP is written in itself, and bootstrapped. We use NQP in order to implement much of the rest of Perl 6. 22:55
Oflameo: Bootstrapping is not "free". 22:56
sisar_ TimToady, diakopter: Aha. Yup, Parrot is built with libicu.
*not built 22:57
Oflameo jnthn, I know what you did, why did you do it?
TimToady because he's nice
22:57 sisar left
TimToady and because nobody had done it before 22:57
tadzik TO BOLDLY GO
TimToady (with Perl)
tadzik where no Perl has gone before
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.
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
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)
TimToady uh oh :)
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)
sisar_ :-) 23:00
Oflameo What is Perlsix optimized for?
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?
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.
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:02
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"
TimToady would have a nervous breakdown if he had to be that hypocritical :)
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...
Oflameo TimToady pseudo hashes could be deprecated, why can't you just deprecate more things like the old module syntax.
lue Hm, I actually would like to see flying mugs on CPAN :D 23:05
23:05 donaldh left
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 :)
jnthn Oflameo: I think that's the case for everybody right now.
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 :)
Oflameo At this point I don't think I will live long enough to get Perl 6 23:07
TimToady hugme: hug raiph
hugme hugs raiph
23:08 btyler left
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
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.
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.
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.
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:11
raiph Oflameo: Why not just ignore Perl 6 until/unless it proves its utility to you?
Oflameo Okay, if you say so TimToady.
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.
tadzik good attitude 23:14
Oflameo Ask a linguist if the difference has any significance.
diakopter Oflameo: you have to own the oldness and cruftiness. let it embolden you.
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
23:15 Guest58105 left
TimToady *glitter 23:15
mixing up my Shakespear and my Tolkien there...
*wither, grr
or I just can't spell... 23:16
Oflameo diakopter, I probably will. I warn you, it will make me quite persnickety.
TimToady that's okay, you're on my lawn :)
or in my Shire, or something... 23:17
lue Hm. People still use C seems like an excellent counterargument. Note to self.
flussence I wonder why these people who use Python/Ruby/web2.0-language-of-the-week don't also use Esperanto.
diakopter *grimace* 23:18
TimToady because Lojban is the newer language of the week?
lue flussence: I heard they use Pitono and Rubeno though.
TimToady oh wait, now it's Klingon
flussence or was it Interlingua? 23:19
lue Ido I believe.
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.
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 jnap left
lue always has a browser open, thus suffers no penalty for that method of retrieval. 23:22
raiph Oflameo: second, github.com/perl6/doc/blob/master/README 23:23
23:23 sisar_ left
jnthn Oflameo: p6doc is a comamnd line tool and I believe it ships with Rakudo Star. 23:23
23:23 lowpro30 joined
jnthn yes, it does, just checked star Makefile 23:23
TimToady the docs themselves, of course, are still a work in progress
jnthn Sure. 23:24
TimToady but they'll only get better, because we have high standards :)
jnthn Just saying there is already work on a command line tool for it too.
TimToady and the new Pod should make other ways of accessing the docs easier too
autodocs are also important, and p5 hasn't done so well there 23:26
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
's simplest for you to just ignore it until it has obvious value.
lue
.oO(Pod6 is my favorite way of writing documents that aren't scratchwork)
23:29 lowpro30 left
jnthn Will return to looking at the issues blocking cursless merge tomorrow 23:30
'night
Oflameo fast cheap good pick two
I needed a comma after good.
I probably needed a comma after fast, cheap, and good. 23:31
TimToady pnr: 42.fmt('%2.0f').say
camelia pugs: OUTPUT«(timeout)»
..niecza v24-95-ga6d4c5f: OUTPUT«42.000000␤»
..rakudo a10341: OUTPUT«42.␤»
TimToady we have to do cheap, so it's feast, good, pick one :) 23:32
*fast
flussence
.oO( all-you-can-eat buffers )
23:33
Oflameo fast
TimToady fast isn't good :)
Oflameo I don't care as long as it meets requirements. 23:34
TimToady well, some people's requirements list all three :) 23:36
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" :)
Oflameo That makes sense :) 23:40
23:44 stevan_ joined 23:45 stevan_ left, stevan_ joined
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:47
I actually never used p6doc 23:48
I did put the specs in ~/.perl6/specs, so I just run pod2view ~/.perl6/specs/S??-... I find this quite convenient. 23:50
23:51 FROGGS left
grondilu but as far as how to read the Perl 6 docs, I guess there's more than one way to do it. 23:53
23:57 FROGGS joined