Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2013-03-15

Perl 6 | Reference Documentation | Rakudo

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

All times shown according to UTC.

Time Nick Message
00:12 timotimo wouldn't it be nice to put RT notifications in here? just one line per activity instead of 3+?
00:13 timotimo (i want to see my name pop up more often, haha)
00:26 sorear you mean cc RT stuff into the channel>?
00:27 sorear might be possible with procmail shenannigans
00:27 sorear you *don't* want to get any closer than that to rt.perl.org
00:28 timotimo :D
00:28 cognominal joined #perl6
00:43 cognominal joined #perl6
00:50 kurahaupo joined #perl6
00:50 cognominal__ joined #perl6
00:56 lustlife joined #perl6
01:07 cognominal joined #perl6
01:12 lustlife1 joined #perl6
01:13 anuby joined #perl6
01:14 hypolin joined #perl6
01:45 Liz_ joined #perl6
01:54 labster how do you declare regexes inside a class?  Should this work?:
01:54 labster r: class Foo { has regex b { 'b' };  method bar ($in) { $in ~~ /<b>/ }; }; my $x = Foo.new; Foo.bar('bob');
01:54 p6eval rakudo 1c9939: OUTPUT«No such method 'b' for invocant of type 'Cursor'␤  in regex  at /tmp/N1Mt6SxCqq:1␤  in method ACCEPTS at src/gen/CORE.setting:10899␤  in method bar at /tmp/N1Mt6SxCqq:1␤  in block  at /tmp/N1Mt6SxCqq:1␤␤»
01:55 Sifr left #perl6
02:01 FROGGS_ joined #perl6
02:01 sqirrel__ joined #perl6
02:02 geekosaur I think "has" wants to make it an attribute, but a regex is a kind of method (so leave off the "has")?
02:02 geekosaur r: class Foo { regex b { 'b' };  method bar ($in) { $in ~~ /<b>/ }; }; my $x = Foo.new; Foo.bar('bob');
02:02 p6eval rakudo 1c9939: OUTPUT«No such method 'b' for invocant of type 'Cursor'␤  in regex  at /tmp/pn9Di2Dt1G:1␤  in method ACCEPTS at src/gen/CORE.setting:10899␤  in method bar at /tmp/pn9Di2Dt1G:1␤  in block  at /tmp/pn9Di2Dt1G:1␤␤»
02:02 geekosaur hm, but there's something else involved too, involving grammars
02:03 geekosaur but I don't recall
02:06 labster there are just 3 rules, which all get called, and I don't want to bother with a grammar for that.  I suppose the "has $var = rx/.../" form would work.
02:06 labster *called individually
02:36 [Coke] (procmail for rt) there's a command line interface that's probably easier for a non perl.org admin to setup.
02:36 [Coke] ... ooh, we could write a perl6 interface to the bugqueue.
02:39 labster r: class Foo { my regex b { 'b' };  method bar ($in) { $in ~~ /<b>/ }; }; say Foo.bar('bob')
02:39 p6eval rakudo 1c9939: OUTPUT«Nominal type check failed for parameter ''; expected Foo but got Cursor instead␤  in regex b at /tmp/ekW1ZN7OcC:1␤  in method INTERPOLATE at src/gen/CORE.setting:10739␤  in regex  at /tmp/ekW1ZN7OcC:1␤  in method ACCEPTS at src/gen/CORE.setting:10899␤  in method ba…
02:39 labster well, that's a new error with 'my'
02:39 labster r: my regex b { 'b' }; sub bar ($in) { $in ~~ /<b>/ }; say bar('bob');
02:40 p6eval rakudo 1c9939: OUTPUT«「b」␤ b => 「b」␤␤»
02:40 colomon r: my regex b { 'not' }; sub bar ($in) { $in ~~ /<b>/ }; say bar('bob');
02:40 p6eval rakudo 1c9939: OUTPUT«#<failed match>␤»
02:40 colomon did not expect that.  sweet!
02:41 labster yeah, it seems to work unless you wrap it in a class.
02:47 thou joined #perl6
02:48 labster r: class Foo { my $b = regex { 'b' };  method bar ($in) {  $in ~~ /<$b>/ }; }; say Foo.bar('bob');
02:48 p6eval rakudo 1c9939: OUTPUT«「b」␤␤»
02:49 labster that works, but you don't get $<b> set
03:07 orafu joined #perl6
03:54 Sifr joined #perl6
03:57 Sifr Hello, is this the typical vim setup for perl6 http://cpansearch.perl.org/src/AUDRE​YT/Perl6-Pugs-6.2.13/util/perl6.vim ?
03:57 Sifr or just which ever floats your boat?
03:58 sorear think most people use alester's perl6.vim, not audrey's
03:59 xinming joined #perl6
04:04 Sifr sorear: is there a link available to it? I am just finding irc logs of alester joining #perl6 haha
04:07 rindolf joined #perl6
04:10 Sifr oh petdance
04:15 SamuraiJack joined #perl6
04:16 census joined #perl6
04:17 [Coke] https://github.com/vim-perl/vim-perl
04:17 [Coke] not sure if it's up to date
04:36 odoacre joined #perl6
04:42 Sifr last updates two months ago
04:46 toddr_ joined #perl6
04:46 preflex_ joined #perl6
04:47 Cynede joined #perl6
04:48 toddr_ Hey the talk submission due date is tomorrow. Does anyone have any talks they plan on submitting perl 6 related?
05:09 diakopter for what conference?
05:10 census joined #perl6
05:10 toddr_ Oops sorry. YAPC::NA in Austin this year
05:15 diakopter Heather: I added you to perl6 org
05:17 Heather diakopter \o/
05:17 Heather thank you
05:17 Heather and good morning
05:18 diakopter evening here; morning there?
05:18 Heather yes
05:18 Heather utc+4
05:36 rindolf joined #perl6
05:38 diakopter toddr_: are you on the talk selection committee?
05:39 araujo joined #perl6
05:46 snearch joined #perl6
05:47 snearch joined #perl6
05:49 rindolf joined #perl6
05:53 Sifr is there an easy way to write the unicode >> operator?
05:53 Sifr oh
05:54 sorear depends on your environment
05:54 sorear editor/OS?
05:54 moritz » is AltGr+x on my keyboard
05:54 moritz and Ctrl+k >> in vim
05:55 * Heather is having some wicked network issues, all the downloads fails at 93-96 % ...
05:55 Sifr C-k >>
05:55 sorear wget --continue :D
05:57 moritz .oO( wrong MTU? :-)
05:58 Heather sorear with wget it comes damaged
05:59 Heather wget splitting it with the 206 Partial Content seems weird
06:02 rindolf joined #perl6
06:06 * Heather HTTP request sent, awaiting response... 206 Partial Content - What the wicked thing is that?
06:07 moritz whne wget continues a download, it sends a Range header
06:07 moritz *when
06:07 moritz to say "give me only the bytes 346...2048 from this file"
06:08 moritz and then the answer isn't "OK", but "OK, I'm giving you a part of the file, as requested"
06:08 moritz thus 206 Partial Content
06:10 Heather moritz it's still being something strange with it... sha256 is always differen, alike network damage it regularry
06:12 moritz Heather: then maybe you have to fix the broken network
06:13 tadzik good morning #perl6
06:14 Heather tadzik good morning
06:15 Heather moritz if I only know how...
06:22 sorear alternatively, tunnel all of your traffic over UDP with some good forward error correction
06:22 Heather_ joined #perl6
06:23 Guest6885 joined #perl6
06:39 rindolf joined #perl6
06:48 Heather %o == open ?
06:49 Heather ah.. not
06:58 sigkill joined #perl6
07:04 Rina joined #perl6
07:09 sorear Heather: what context?
07:10 Heather sorear it was just guess, no I see it's wrong )
07:16 wk_ joined #perl6
07:18 SamuraiJack joined #perl6
07:47 Heather mkdir failed: ╤шэЄръёшўхёър  ю°шсър т шьхэш Їрщыр, шьхэш яряъш шыш ьхЄъх Єюьр. -_-'
07:56 bonsaikitten Heather: try using a nicer locale? :)
08:07 domidumont joined #perl6
08:24 Heather bonsaikitten it's windows
08:29 lue joined #perl6
08:30 brrt joined #perl6
08:38 woosley joined #perl6
08:40 domidumont joined #perl6
08:50 cognominal joined #perl6
09:14 fhelmberger joined #perl6
09:20 jnthn morning o/
09:23 brrt hi jnthn
09:23 FROGGS_ morning
09:29 nemesys joined #perl6
09:29 nemesys moo
09:31 Heather meow
09:34 rindolf joined #perl6
09:36 Liz joined #perl6
09:48 Heather pugs is dead?
09:48 moritz starved by low bus number
09:49 moritz au occasionally fixes the build for new GHC versions
09:49 moritz but no new development happens
09:51 Heather that's sad
09:51 FROGGS_ Heather: well, you can change that if you want
09:52 Heather :3
09:52 am0c joined #perl6
09:54 moritz port 6model to Haskell
09:54 Heather moritz 6model ?
09:54 Heather moritz though 6 is default for pugs
09:54 Heather isn't it?
09:56 * Heather is compiling pugs
09:57 woosley left #perl6
09:57 cognominal Hi, what is the current library choice if one wants to write a web server in Perl 6?
10:02 moritz cognominal: I think there's an HTTP::Server::Simple or so
10:02 moritz Heather: 6model is the storage layer that nqp and rakudo use
10:03 moritz for in-memory object layout
10:03 moritz cognominal: and Dancer if you want something higher level
10:03 moritz (ie a web framework)
10:03 moritz erm Bailador, not Dancer. Sorry.
10:03 cognominal thx
10:10 Heather stringtable-atom fails on 7.6.2 GHC
10:10 Heather sadness...
10:28 donaldh joined #perl6
10:28 erkan joined #perl6
10:30 Vlavv_ joined #perl6
10:32 donaldh jnthn: thanks for the NQPHLL pointer yesterday. That's what I was looking for.
10:32 jnthn :)
10:33 jnthn donaldh: How are things coming along? I guess if you're at the point of testing it from the self-host, pretty far...
10:38 donaldh jnthn: yes, all t/jast tests pass for self-hosting. But I'm hitting problems with nqp tests when self-hosted
10:39 donaldh jnthn: I'm getting an array index out of bounds error inside ASM that I'm trying to track down.
10:41 donaldh jnthn: so debugging with ASM's CheckClassAdaptor which is _much_ stricter than ASM's ClassWriter.
10:42 jnthn donaldh: Does the cross-comp work out, just not the self-hosted?
10:43 jnthn Anyway, that's awesome progress. Feel free to push what you have so far...I'm curious to see it :)
10:43 donaldh jnthn: let me check. I've had very fragmented time this week, with travelling.
10:43 jnthn And excited that using invokedynamic is in sight
10:44 jnthn np, mine has been a mix of teaching, course material writing and terrible sleep...
10:59 cibs joined #perl6
11:05 Heather how to make for with index
11:05 Heather for .lines -> $ln
11:06 Heather for @names.keys ?
11:07 jnthn r: my @a = <Dogs Cats Hamsters>; for @a.kv -> $idx, $val { say "$idx = $val" }
11:07 p6eval rakudo 1c9939: OUTPUT«0 = Dogs␤1 = Cats␤2 = Hamsters␤»
11:07 jnthn Like that, maybe?
11:07 jnthn Just .keys if you just want the indexes.
11:08 Heather oh
11:08 Heather cool
11:08 Heather thanks
11:09 Heather jnthn is there mod function ? :)
11:10 hoelzro r: 5 % 2
11:10 p6eval rakudo 1c9939:  ( no output )
11:10 hoelzro r: say 5 % 2
11:10 p6eval rakudo 1c9939: OUTPUT«1␤»
11:10 hoelzro c'mon, p6eval! DWIM!
11:10 Heather it is also mod :P
11:10 Heather r: say 5 mod 2
11:10 p6eval rakudo 1c9939: OUTPUT«1␤»
11:11 hoelzro ah, neat!
11:11 Heather but I like % more
11:12 jnthn Well, they're not quite the same
11:13 jnthn mod ensures each side is an integer, iirc
11:13 jnthn r: say 10 % 2.5
11:13 p6eval rakudo 1c9939: OUTPUT«0␤»
11:13 jnthn r: say 10 mod 2.5
11:13 p6eval rakudo 1c9939: OUTPUT«-2.5␤»
11:13 jnthn Hm :)
11:14 ggoebel_ joined #perl6
11:20 tadzik is any of our HTTP servers functional at the moment?
11:29 Heather r: my $a, $b = 1, 2;
11:29 p6eval rakudo 1c9939: OUTPUT«[31m===[0mSORRY!​[31m===[0m�Variable '$b' is not declared�at /tmp/Tt2u5rp5aQ:1�------> [32mmy $a, $b[33m�[31m = 1, 2;[0m�    expecting any of:�        postfix�»
11:30 Heather is it possible to declare some variables inline?
11:33 moritz r: my ($a, $b) = 1, 2;
11:33 p6eval rakudo 1c9939:  ( no output )
11:33 moritz r: r: my $a, my $b = 1, 2;
11:33 p6eval rakudo 1c9939: OUTPUT«[31m===[0mSORRY![31m===[0m�Two terms in a row�at /tmp/VmLnCAT9ch:1�------> [32mr[33m�[31m: my $a, my $b = 1, 2;[0m�    expecting any of:�        argument list�        postfix�        infix stopper�        infix or meta-infix�        statement end�        st…
11:33 moritz r: my $a, my $b = 1, 2;
11:33 p6eval rakudo 1c9939:  ( no output )
11:33 moritz Heather: both of these work
11:34 Heather thanks.
11:34 jnthn uh
11:35 jnthn r: my $a, my $b = 1, 2; say $a; say $b;
11:35 p6eval rakudo 1c9939: OUTPUT«WARNINGS:␤Useless use of "," in expression "my $a, my $b = 1, 2" in sink context (line 1)␤(Any)␤1␤»
11:35 moritz right, the second needs parens to do what you want
11:35 jnthn r: my $a = 1, my $b = 2; say $a; say $b;
11:35 p6eval rakudo 1c9939: OUTPUT«WARNINGS:␤Useless use of "," in expression "my $a = 1, my $b = 2" in sink context (line 1)␤1␤2␤»
11:36 jnthn But then you shoulda used a ; :)
11:36 jnthn so yeah, my ($a, $b) = 1, 2; is the good way :)
11:37 Heather can I declare an sub in sub ?
11:37 Heather r: sub a { sub b { } }
11:37 p6eval rakudo 1c9939:  ( no output )
11:37 jnthn Sure
11:37 Heather good
11:37 jnthn Note the inner one is only visible inside of the outer one
11:37 jnthn (they're scoped like "my" variables)
11:37 Heather it's good
11:38 jnthn Yes, it's a nice thing :)
11:38 Heather can I call sub alike ^&@#@
11:38 Heather r: sub &^@# { }
11:38 p6eval rakudo 1c9939: OUTPUT«[31m===[0mSORRY![31m===[0m�Missing block�at /tmp/8BJMutZVCC:1�------> [32msub [33m�[31m&^@# { }[0m�    expecting any of:�        statement list�        prefix or term�        prefix or meta-prefix�        new name to be defined�»
11:38 Heather r: sub = { }
11:38 p6eval rakudo 1c9939: OUTPUT«[31m===[0mSORRY![31m===[0m�Missing block�at /tmp/p1Z4PZxLhZ:1�------> [32msub [33m�[31m= { }[0m�    expecting any of:�        statement list�        prefix or term�        prefix or meta-prefix�        new name to be defined�»
11:39 Heather can I declare custom operators ? including infix ones?
11:39 jnthn r: sub ::('!!^:-)') { say 'yes' }; ::<&!!^:-)>()
11:39 p6eval rakudo 1c9939: OUTPUT«yes␤»
11:40 hoelzro "private multi methods are not supported" # is that a Rakudo thing, or a spec thing?
11:40 Heather aha, cool
11:40 jnthn r: sub infix:<heather>($a, $b) { say "$a you $b" }; 'yes' heather 'can'
11:40 p6eval rakudo 1c9939: OUTPUT«yes you can␤»
11:40 moritz Heather: rakudo limitation
11:40 jnthn moritz: Was that to hoelzro? :)
11:41 SmokeMachine joined #perl6
11:41 moritz erm yes, sorry
11:41 moritz hoelzro: rakudo limitation
11:41 hoelzro ok
11:41 hoelzro good to know =)
11:41 * jnthn wonders how private multi-methods work out
11:41 jnthn I guess kinda simply given private methods never inherit...
11:48 moritz well, for private method dispatch you simply never consider parent classes
11:48 moritz so you have disjoint method tables for each subclass
11:49 moritz so the invocant type never plays a big role in private method dispatch
11:49 moritz iirc niecza implements it
11:50 jnthn I think the reason it's not there is because when you add a multi method, it calls .add_multi_method. When you add a private method it does .add_private_method.
11:50 kivutar joined #perl6
11:50 Heather how can I write this easier: for @cml -> $c { $c.close; }
11:50 moritz .close for @cml;
11:50 Heather omg...
11:50 jnthn And I was wondering if we should get something smarter than just adding a .add_private_multi_method :)
11:51 moritz or if you don't care about the order of execution: @cml>>.close
11:51 jnthn But maybe I'm over-designing :)
11:51 jnthn Well, or over-putting-off-out-of-feeling-I-should-design :)
11:51 Heather it's magic
11:51 tadzik it's Perl
11:52 Heather Unsupported use of >> to do right shift;  in Perl 6 please use +> or ~>
11:53 pmurias joined #perl6
11:53 pmurias jnthn: how hard would it be to port nqp-jvm to android?
11:54 tadzik Heather: you typoed something, must be
11:54 moritz r: my @cml = < a b c >; say @cml>>.uc
11:54 p6eval rakudo 1c9939: OUTPUT«A B C␤»
11:54 hoelzro ok, stupid Perl 6 question
11:54 moritz Heather: works here
11:54 hoelzro what's the Perl 6 equivalent to List::MoreUtils::all?
11:54 hoelzro ex. if(all { $_ > 5 } (6..10)) { ... }
11:54 tadzik all junction, I guses
11:54 moritz if all(6..10) > 5 { }
11:55 Heather moritz I used space, here is my fault
11:55 hoelzro hmm
11:56 hoelzro does the all junction just dispatch any method to its components?
11:56 moritz hoelzro: not all, but most
11:56 hoelzro which don't work?
11:56 moritz hoelzro: any method not in Mu or Junction itself is dispatched to its eigenstates
11:56 hoelzro oh, ok
11:57 Liz joined #perl6
11:57 jnthn pmurias: I guess you'd have to turn the bytecode into stuff for Dalvik...
11:57 jnthn pmurias: There's a tool for taht.
11:57 jnthn pmurias: Not quite sure what happens next :)
11:58 jnthn "Try It To See" :)
11:58 jnthn I'd be curious how it works out
12:11 brrt joined #perl6
12:32 Heather renamed github account \o/
12:39 dalek ecosystem: 11e5e2f | Heather++ | META.list:
12:39 dalek ecosystem: META.list update due github account rename
12:39 dalek ecosystem: review: https://github.com/perl6/e​cosystem/commit/11e5e2f727
12:42 arnsholt jnthn: Thanks for the remembering nqp::islist. I think I could've spent quite a bit of time figuring that one out
12:43 arnsholt Working on a refactor now
12:44 jnthn See what it does in nqp-jvm for inspiration
12:49 arnsholt Good idea =)
12:49 arnsholt My current thought is "nqp::istype($obj, NQPArray) || nqp::old_islist($obj)"
12:51 jnthn No
12:51 jnthn You check the REPR
12:51 jnthn islist doesn't care about type, iirc
12:51 woosley joined #perl6
12:51 arnsholt Right, right
12:51 arnsholt That does make sense
12:52 jnthn Cheaper too :)
12:52 arnsholt =)
12:52 census joined #perl6
13:03 arnsholt jnthn: Is it ok to look up the VMArray REPR ID in the NQP dynop setup, or should islist retrieve the REPR ID each time?
13:04 hoelzro could anyone help me debug this: https://gist.github.com/hoelzro/5169741
13:05 hoelzro I'm guessing the fact that I'm comparing $^value and $value has something to do with it
13:05 hoelzro but I figured they would be independent?
13:05 jnthn arnsholt: It's fine in the setup, sinc eit'll never change
13:05 colomon hoelzro: yes
13:05 jnthn hoelzro: They're not independent
13:05 colomon after you've done $^value, you've assigned $value
13:06 arnsholt jnthn: Yeah, that's what I thought. Cheers!
13:06 jnthn { $^value < $value } is just like -> $value -> { $value < $value }
13:06 jnthn In fact, they compile to almost exactly the same thing.
13:11 arnsholt A segfault, a segfault! \o/
13:13 arnsholt Oh. Can't look up a REPR before the registry is set up =D
13:14 SamuraiJack_ joined #perl6
13:15 moritz "I was going to tackle my procrastination problem last weekend but I never got around to it."
13:24 rindolf moritz: heh.
13:25 mavcunha joined #perl6
13:27 LlamaRider joined #perl6
13:33 grondilu joined #perl6
13:42 mavcunha joined #perl6
13:47 Liz joined #perl6
13:54 bluescreen10 joined #perl6
13:57 arnsholt jnthn: What's the difference between nqp::list_b and nqp::list?
13:58 arnsholt Or, supposed to be the difference. Previously I think they both did the same thing
13:59 jnthn list_b is given a list of blocks and pushes the BVals of all of them
13:59 jnthn It's mostly there for the sake of serialization code-gen
13:59 jnthn Saves a bit of shuffling stuff around.
13:59 arnsholt Ah, right
13:59 jnthn But under the hood it makes the same thing ias an nqp::list()
14:00 jnthn Just a code-gen difference in pushing the elements
14:01 arnsholt Yeah. I'll refactor it to make a hlllist rather than an RPA
14:07 cognominal joined #perl6
14:09 skids joined #perl6
14:16 PacoAir joined #perl6
14:19 PacoAir joined #perl6
14:20 davidagain is (1..100).pick(100) the idiomatic way to randomize the first 100 positive integers?
14:21 davidagain or randomly order, I should say
14:21 jnthn r: say (1..100).pick(*)
14:21 p6eval rakudo 1c9939: OUTPUT«5 56 17 34 75 58 26 13 90 54 45 42 16 9 44 63 77 1 96 97 83 22 46 94 78 100 82 20 72 30 7 37 43 14 62 4 69 89 70 12 23 80 66 64 11 55 67 28 99 98 40 49 15 19 65 60 27 79 74 84 10 21 91 48 50 87 32 33 2 3 53 47 29 57 6 51 95 41 18 68 8 31 93 35 85 92 36 73 39 88 52 …
14:21 moritz (1..100).pick(*) would be more idiomatic
14:21 davidagain ah, thanks
14:23 Psyche^ joined #perl6
14:24 davidagain what's the syntax for defining a new operator, which has both unary and binary valences?
14:25 davidagain something like multi sub <¿> $a, $b {...} ?
14:26 jnthn more like multi sub infix:<¿>($a, $b) {...}
14:26 jnthn afk for a bit
14:26 tadzik how does binary infix work?
14:26 davidagain infix is neccesarily binary
14:26 davidagain foo OP bar
14:26 tadzik r: sub infix:<foo>($, $) { }; sub prefix:<foo>($) { }; say 'alive';
14:26 p6eval rakudo 1c9939: OUTPUT«alive␤»
14:27 tadzik infix:<foo> and prefix:<foo> are already different things, no need for a multi
14:27 tadzik oh, sorry, I was wondering about unary infix :)
14:27 moritz ENOSENSE
14:28 tadzik right
14:28 moritz well, you can call an infix with one argument if you call it as infix:<name>($arg)
14:28 moritz but not syntactically
14:28 davidagain r: sub infix<¿> $m,$n {(1..$n).pick($m)}; say 10 ¿ 100
14:28 p6eval rakudo 1c9939: OUTPUT«[31m===[0mSORRY![31m===[0m�Missing block�at /tmp/kCTje4UBSP:1�------> [32msub infix[33m�[31m<¿> $m,$n {(1..$n).pick($m)}; say 10 ¿ 1[0m�    expecting any of:�        statement list�        prefix or term�        prefix or meta-prefix�        new name to be …
14:28 moritz r: sub infix:<¿> $m,$n {(1..$n).pick($m)}; say 10 ¿ 100
14:28 p6eval rakudo 1c9939: OUTPUT«[31m===[0mSORRY![31m===[0m�Missing block�at /tmp/8XjLlRwvNe:1�------> [32msub infix:<¿> [33m�[31m$m,$n {(1..$n).pick($m)}; say 10 ¿ 100[0m�    expecting any of:�        colon pair�        quote words�»
14:29 moritz r: sub infix:<¿>($m,$n) {(1..$n).pick($m)}; say 10 ¿ 100
14:29 p6eval rakudo 1c9939: OUTPUT«41 31 10 81 75 56 28 13 14 19␤»
14:29 moritz it helps to use Perl 6 syntax :-)
14:29 davidagain what did you change? I'm missing it
14:29 moritz first I added : after 'infix'
14:29 davidagain ah
14:29 moritz and then parens around the argument list
14:29 davidagain thank you
14:30 davidagain sub infix:<¿>($m,$n) {(1..$n).pick($m)}; sub prefix:<¿>($n) {$n ¿ $n}; say ¿ 10;
14:30 davidagain r: sub infix:<¿>($m,$n) {(1..$n).pick($m)}; sub prefix:<¿>($n) {$n ¿ $n}; say ¿ 10;
14:30 p6eval rakudo 1c9939: OUTPUT«9 3 7 5 6 2 4 10 1 8␤»
14:31 davidagain this shit is cool
14:31 davidagain how can I force the arguments to be positive integers?
14:31 davidagain and also force $m < $n ?
14:31 tadzik a 'where' clause
14:32 davidagain (without the obvious if .... die
14:32 tadzik or a subset
14:32 tadzik r: subset MyArg of Int where * > 0; # positive
14:32 p6eval rakudo 1c9939:  ( no output )
14:32 moritz r: sub infix:<¿>(Int $m where { $m > 0 }, Int $n where { $n > $m }) { ... }
14:32 p6eval rakudo 1c9939:  ( no output )
14:33 davidagain r: sub infix:<¿>(Int $m where { $m > 0 }, Int $n where { $n >= $m }) {(1..$n).pick($m)}; sub prefix:<¿>($n) {$n ¿ $n}; say 2 c¿ 10;
14:33 p6eval rakudo 1c9939: OUTPUT«[31m===[0mSORRY![31m===[0m�Two terms in a row�at /tmp/grAQiIZXLN:1�------> [32m)}; sub prefix:<¿>($n) {$n ¿ $n}; say 2 [33m�[31mc¿ 10;[0m�    expecting any of:�        postfix�        infix stopper�        infix or meta-infix�        statement end�        s…
14:33 davidagain r: sub infix:<¿>(Int $m where { $m > 0 }, Int $n where { $n >= $m }) {(1..$n).pick($m)}; sub prefix:<¿>($n) {$n ¿ $n}; say 2 ¿ 10;
14:33 p6eval rakudo 1c9939: OUTPUT«9 4␤»
14:33 davidagain r: sub infix:<¿>(Int $m where { $m > 0 }, Int $n where { $n >= $m }) {(1..$n).pick($m)}; sub prefix:<¿>($n) {$n ¿ $n}; say 12 ¿ 10;
14:33 p6eval rakudo 1c9939: OUTPUT«Constraint type check failed for parameter '$n'␤  in sub infix:<¿> at /tmp/zGFor0_YGX:1␤  in block  at /tmp/zGFor0_YGX:1␤␤»
14:33 davidagain r: sub infix:<¿>(Int $m where { $m > 0 }, Int $n where { $n >= $m }) {(1..$n).pick($m)}; sub prefix:<¿>($n) {$n ¿ $n}; say -2 ¿ -3;
14:33 p6eval rakudo 1c9939: OUTPUT«Constraint type check failed for parameter '$m'␤  in sub infix:<¿> at /tmp/jTUVEbqVUV:1␤  in block  at /tmp/jTUVEbqVUV:1␤␤»
14:33 davidagain if I "multi" it, can I give different semantics to different parameter constraints?
14:34 moritz yes
14:34 davidagain and p6 figures that out for me?
14:34 moritz yes
14:34 moritz just make sure to not create overlaps
14:34 davidagain oh, off I go to the races then
14:35 moritz it might give you amibiguous dispatches
14:35 davidagain moritz: I've never written a buggy program in my life.  I've just been misunderstood by the compiler.
14:35 cognominal joined #perl6
14:35 moritz davidagain: some compilers are very good at misunderstanding :-)
14:36 cognominal rn: say 1.sprintf(1, '%02d')
14:36 p6eval niecza v24-33-gfc6d5fd: OUTPUT«Unhandled exception: Unable to resolve method sprintf in type Int␤  at /tmp/ctnVOR5X8f line 1 (mainline @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4285 (ANON @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4286 (module-CORE @ 581) ␤  at /hom…
14:36 p6eval ..rakudo 1c9939: OUTPUT«1␤»
14:37 cognominal oops
14:37 cognominal rn: say 1.sprintf('%02d')
14:37 p6eval rakudo 1c9939: OUTPUT«1␤»
14:37 p6eval ..niecza v24-33-gfc6d5fd: OUTPUT«Unhandled exception: Unable to resolve method sprintf in type Int␤  at /tmp/ZiM39XUu1H line 1 (mainline @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4285 (ANON @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4286 (module-CORE @ 581) ␤  at /hom…
14:42 bbkr joined #perl6
14:42 LlamaRider joined #perl6
14:49 cognominal joined #perl6
14:50 davidagain alright, on to macros ... let's say I wanted to re-spell a keyword in p6
14:50 davidagain say, I want to write infix as xifni
14:50 davidagain is that painful?
14:53 kst joined #perl6
15:04 [Coke] Yes, why would you do that. ;)
15:04 [Coke] I am not sure macros work as simple textual substitutions yet. They do work if you have them return valid ASTs, however.
15:05 [Coke] I am trying to find masak's post on macros at http://strangelyconsistent.org/, but can only find the AST example at :
15:05 [Coke] http://strangelyconsistent.org/b​log/macros-what-are-they-really
15:09 raiph Friendly reminder: YAPC::NA 2013: "The deadline for talk submissions is March 15th"
15:11 raiph [Coke] http://strangelyconsistent.org/blog/list-of-posts
15:11 cognominal joined #perl6
15:12 davidagain [Coke]: I have a little project I'm working on
15:12 davidagain trying to get a sense of the purpose and limitations of macros and other novel p6 features
15:12 davidagain thanks for the links guys
15:14 rindolf joined #perl6
15:16 thou joined #perl6
15:16 * hoelzro backlogs
15:17 hoelzro ah, thanks for clearing that up
15:17 hoelzro it's getting a lot harder to find bugs!
15:20 hoelzro is there a method for checking an Array for an item's presence? something like @values.contains($value)
15:21 [Coke] grep
15:22 hoelzro I was hoping for something that would short circuit, but that'll do
15:22 [Coke] first
15:23 hoelzro first throws an exception if it's not found though, doesn't it?
15:23 [Coke] r: my @a = <a b c d a a a a a>; say @a.first({$^x eq 'a'})
15:23 p6eval rakudo 1c9939: OUTPUT«a␤»
15:23 [Coke] r: my @a = <a b c d a a a a a>; say @a.first({$^x eq 'z'})
15:23 p6eval rakudo 1c9939: OUTPUT«No values matched␤  in method gist at src/gen/CORE.setting:10555␤  in sub say at src/gen/CORE.setting:7614␤  in block  at /tmp/YF_isLfIiT:1␤␤»
15:23 [Coke] r: my @a = <a b c d a a a a a>; say @a.grep({$^x eq 'z'})
15:23 p6eval rakudo 1c9939: OUTPUT«␤»
15:24 [Coke] looks like a bug. spec says "exactly like grep, but returns only the first matching value"
15:26 hoelzro seriously? when I tried it it threw an exception
15:26 * hoelzro tries again
15:27 hoelzro now it works
15:27 * hoelzro shrugs
15:29 cognominal joined #perl6
15:30 [Coke] :yes, it throws an exception. (see above).
15:30 [Coke] I'm saying the spec seems to indicate that's a bug.
15:31 timotimo r: my @a = <a b c d e f f>; say @a.first({$^x eq $^y})
15:31 p6eval rakudo 1c9939: OUTPUT«Not enough positional parameters passed; got 1 but expected 2␤  in block  at /tmp/icvKVUBYz7:1␤␤»
15:31 timotimo r: my @a = <a b c d e f f>; say @a.grep({$^x eq $^y})
15:31 p6eval rakudo 1c9939: OUTPUT«Not enough positional parameters passed; got 1 but expected 2␤  in block  at /tmp/ozPDEL44_h:1␤␤»
15:31 timotimo r: my @a = <a b c d e f f>; say @a.map({$^x eq $^y})
15:31 p6eval rakudo 1c9939: OUTPUT«Not enough positional parameters passed; got 1 but expected 2␤  in block  at /tmp/NQGaIa_GhS:1␤␤»
15:31 timotimo only works in for loops?
15:32 [Coke] what are you expecting the second positional parameter to be?
15:33 [Coke] (yes, you'd need to roll a loop there, though you might just need .uniq or .squish depending on what you're doing.)
15:33 timotimo r: for <a b a b a a b b a c b c b b> -> $a, $b { say "$a eq $b" if $a eq $b } # like this
15:33 p6eval rakudo 1c9939: OUTPUT«a eq a␤b eq b␤b eq b␤»
15:35 timotimo hm, i wonder what the most succint and natural syntax is to get every item in the list as $a and the next one as $b
15:35 timotimo i know this trick from python:
15:35 timotimo r: my @a = <a b c d e>; for @a[..*-1] Z @a[1..*] -> $a, $b { say "$a $b    " }
15:35 p6eval rakudo 1c9939: OUTPUT«[31m===[0mSORRY!​[31m===[0m�Preceding context expects a term, but found infix .. instead�at /tmp/yxos1wJZLR:1�------> [32mmy @a = <a b c d e>; for @a[..[33m�[31m*-1] Z @a[1..*] -> $a, $b { say "$a $b  [0m�»
15:36 timotimo r: my @a = <a b c d e>; for @a[0..*-1] Z @a[1..*] -> $a, $b { say "$a $b    " }
15:36 p6eval rakudo 1c9939: OUTPUT«a b    â¤b c    â¤c d    â¤d e    â¤Â»
15:36 timotimo other than that the only thing that directly comes to mind is using a counting variable
15:37 toddr_ joined #perl6
15:38 [Coke] r: my @a = <a b c d d e e f g g>; say gather for @a[0..*-1].kv -> $i, $v { if $v eq @a[$i+1] { take $v } }
15:38 p6eval rakudo 1c9939: OUTPUT«use of uninitialized value of type Any in string context  in block  at /tmp/HW5j5__t6Z:1␤␤d e g␤»
15:38 [Coke] r: my @a = <a b c d d e e f g g>; for @a[0..*-1].kv -> $i, $v { if $v eq @a[$i+1] { say $v } }
15:38 p6eval rakudo 1c9939: OUTPUT«d␤e␤g␤use of uninitialized value of type Any in string context␤»
15:39 timotimo hehe, should have used -2
15:39 timotimo or a ^
15:39 [Coke] oh, that DID work, it just also gave the Any.
15:39 [Coke] so, something like that ,maybe
15:39 timotimo no, it put an Any into the RHS of eq
15:39 timotimo is how i interpret it
15:41 [Coke] yah, that went from 0 to 9 the first time.
15:41 [Coke] r: my @a = <a b c d d e e f g g>; say gather for @a[0..*-2].kv -> $i, $v { if $v eq @a[$i+1] { take $v } }
15:41 p6eval rakudo 1c9939: OUTPUT«d e g␤»
15:42 [Coke] r: my @a = 1..5 ; say @a[0..*-1];
15:42 p6eval rakudo 1c9939: OUTPUT«1 2 3 4 5␤»
15:42 [Coke] oh, duh, I was thinking in tcl for part of that.
15:42 timotimo i think that's what the ^ was made for, so that you don't have to always specify the -1 after +@foo
15:42 timotimo was that already in perl5 also?
15:43 timotimo bbiab
15:43 [Coke] r: my @a = <a b c d d e e f g g>; say gather for @a[0..^*-1].kv -> $i, $v { if $v eq @a[$i+1] { take $v } }
15:43 p6eval rakudo 1c9939: OUTPUT«d e g␤»
15:44 cognominal joined #perl6
15:52 * jnthn back :)
15:53 jnthn And seems I've done all the week's $dayjob tasks :)
15:53 [Coke] \o/
15:56 elementz joined #perl6
15:57 raiph jnthn, moritz, masak, timtoady, pmichaud: Do we still just have only one P6 talk submitted for YAPC::NA? Today is the submission deadline...
15:57 jnthn raiph: Filing some talks is on my todo list for this evening. :)
15:58 * jnthn has got as far as registering at least :)
15:59 raiph jnthn: cool. what topics are you thinking of doing? lightning, regular, or both?
15:59 dalek nqp/vmarray-list: 47e8fee | (Arne Skjærholt)++ | src/QAST/Operations.nqp:
15:59 dalek nqp/vmarray-list: Refactor nqp::list_b to create an nqp::list instead of an RPA.
15:59 dalek nqp/vmarray-list: review: https://github.com/perl6/nqp/commit/47e8feea39
15:59 dalek nqp/vmarray-list: 1ee8aa8 | (Arne Skjærholt)++ | src/ops/nqp.ops:
15:59 dalek nqp/vmarray-list: Make nqp::islist allow VMArrays.
15:59 dalek nqp/vmarray-list:
15:59 dalek nqp/vmarray-list: RPAs are still allowed as well, since there may be some of those hanging
15:59 dalek nqp/vmarray-list: around in the serialized bits of the bootstrap compiler.
15:59 dalek nqp/vmarray-list: review: https://github.com/perl6/nqp/commit/1ee8aa826a
16:03 timotimo i think @foo.kv -> $i, $v is a nicer idiom than python's for i, v in enumerate(thing)
16:04 jnthn raiph: Pondering submitting a couple of regulars, one on something related to Perl 6 grammars and one about Rakudo's architecture (including lessons learned that can perhaps apply to many other systems). I have been pondering something on concurrency, but I'm wary of submitting it when I don't know how much I'll have to show by the time YAPC::NA comes around.
16:05 [Coke] jnthn: can always squeeze that in as a lightning talk if you ahve something.
16:05 jnthn [Coke]: True
16:05 LlamaRider joined #perl6
16:05 jnthn I guess lightnings are schedulable much later?
16:05 jnthn Also, if I have some stuff in that realm working on the JVM come the conf, Pm can talk about it in his talk :)
16:06 davidagain_ joined #perl6
16:06 [Coke] jnthn: depends on the conf, I think, whether you can or not. I think historically you schedule them on site. I think there might be a trend to do it sooner these days.
16:09 raiph for this yapcna "The first deadline is with the full length talks.  The second deadline is one week before the conference starts and many proposals will be accepted.  At least two speaking spots on days 2 and 3 will be held open until the day before the talks to give you a chance to see something at the conference and put together a Lightning Talk response.  However if you wait for the later deadlines note that there are fewer spots
16:09 raiph available and you are less likely to be accepted so please try to submit more than a week before the conference."
16:09 [Coke] I imagine you'll know by then.
16:10 jnthn yes :)
16:16 spider-mario joined #perl6
16:19 * TimToady can't really guarantee his state of health well enough to predict whether he can give a talk in June
16:21 SunilJoshi joined #perl6
16:22 kaare__ joined #perl6
16:22 TimToady it will depend mightily on what happens when the pathologist runs the spectests :)
16:31 cognominal joined #perl6
16:43 pmichaud good morning, #perl6
16:43 jnthn morning, pmichaud o/
16:43 TimToady \o
16:43 TimToady o/
16:44 TimToady \o
16:44 TimToady o/
16:44 TimToady (doing morning stretches)
16:57 arnsholt jnthn: Is the hlllist I have in https://github.com/perl6/nqp/blob/vmar​ray-list/src/QAST/Operations.nqp#L260 going to work during the bootstrappy bits of NQP compilation?
16:57 rindolf pmichaud: hi.
16:57 rindolf pmichaud: morning.
16:57 rindolf pmichaud: though it's close to 19:00 here.
16:58 pmichaud well, it's close to 12:00 here, too, so not-to-be-morning soon here
17:01 cognominal joined #perl6
17:04 dalek niecza: 4f8f894 | larry++ | / (2 files):
17:04 dalek niecza: missing conditionals return (), not Nil
17:04 dalek niecza: review: https://github.com/sorear/niecza/commit/4f8f894971
17:07 jnthn TimToady: How does Empty differ from an empty parcel?
17:08 isBEKaml joined #perl6
17:09 TimToady doesn't eventually, but I haven't figured out how to hack that in yet :)
17:09 TimToady just starting to detangle the bits of Nil here
17:10 TimToady niecza's Nil also still returns () in list context, which I'm working toward removing
17:10 TimToady but the obvious change breaks things very badly
17:10 jnthn arnsholt: That seems a bit of a cheat. It certainly won't work in nqp-mo for example.
17:10 TimToady if someone more knowledgable about niecza wanted to carry that forward a bit further, I wouldn't complain
17:10 jnthn arnsholt: This is why things like BOOTArray exists.
17:11 arnsholt Yeah, that'll explain the errors I'm seeing
17:13 TimToady .oO(Someone Of Renowned Expertise And Rigor)
17:20 TimToady oh hey, it's the Ides of March; maybe I should avoid the forum...
17:21 Chillance joined #perl6
17:22 pmichaud TimToady: if you go to the forum, please don't use the words "Perl" and "7" there.  :-)
17:24 LlamaRider Is it a feature that both <lower> and <.lower> work ?
17:24 pmichaud LlamaRider: the first captures, the second does not
17:24 * LlamaRider runs for coffee
17:24 pmichaud r:  say 'ABcD' ~~ / <lower> /;
17:24 p6eval rakudo 1c9939: OUTPUT«「c」␤ lower => 「c」␤␤»
17:24 pmichaud r:  say 'ABcD' ~~ / <.lower> /;
17:24 p6eval rakudo 1c9939: OUTPUT«「c」␤␤»
17:25 pmichaud r:  say 'abcd' ~~ / <lower>+ /;
17:25 p6eval rakudo 1c9939: OUTPUT«「abcd」␤ lower => 「a」␤ lower => 「b」␤ lower => 「c」␤ lower => 「d」␤␤»
17:25 LlamaRider I knew this yesterday. o_O Coffee should help. Thanks!
17:28 toddr_ joined #perl6
17:29 raiph pmichaud: "the forum"?
17:29 TimToady raiph: yes, it's where the Lakers play basketball in LA
17:31 TimToady I'd be more worried if I had a month named after me, I suppose
17:32 skids TimToady: knowing that that had probably been bought out for brand name recognition I googled -- that's the Staples Center these days.
17:32 TimToady well, Julius ended up with a few staples in him, I guess
17:33 SmokeMac_ joined #perl6
17:33 skids same thing happened with "The Garden" and lots of music venues here in MA.
17:33 skids not to get too OT.
17:33 * skids meeting
17:34 toddr_ joined #perl6
17:35 toddr_ Hey can I request a channel topic update for today? "Don't forget to submit your perl6 talks for YAPC::NA (Due March 15)"
17:37 * jnthn remembered to submit 2, at least :)
17:37 pmichaud I can always submit one more, if there's room for talks.
17:37 toddr_ Yep you've beat pmichaud out for talk submissions :)
17:37 jnthn I gotta win at something... :)
17:37 pmichaud well, I was trying to leave room for others to submit talks :)
17:37 toddr_ Right now you 2 are the only talks
17:38 toddr_ As a rule we've been going for: Everyone gets one talk and then we'll see about more.
17:39 TimToady maybe we can get diakopter++ to come and talk about something or other
17:39 pmichaud I'll submit one more so you have it if you want, but I agree with favoring talks from additional speakers
17:39 toddr_ TimToady: What do you want to talk on?
17:40 toddr_ pmichaud: I think the one you submitted is probably an important one. But that's an outsider's opinion.
17:40 pmichaud TimToady: you could submit a talk, and I'll cover it if you can't make it.  Or you could list me as a co-presenter.  :)
17:40 TimToady well, I can't guarantee my health, but raiph++ is suggesting 3-min cameos in each of the keynotes
17:40 pmichaud toddr_: I meant favoring others for a talk as opposed to giving me a second.   I definitely want to give my existing talk submission :)
17:41 * jnthn looks forward to pmichaud's talk :)
17:41 TimToady I'm not sure anyone would want to be up against me, so it'd have to be a very boring subject
17:41 toddr_ We're also look for a Talk committee so if you're open, email admin@yapcna.org and I'll add you to the list.
17:42 pmichaud have there been any TheDamian+TimToady "Perl 6 update" talks lately?  I've missed oscon the last few years.
17:42 toddr_ I'd prefer to have some p6 folks on the comittee
17:42 toddr_ Damian can't come this year to Austin. I've been nudging him to do a remote talk or a recorded talk
17:42 toddr_ last I heard he was chewing on the idea.
17:43 pmichaud I ask because we could always do a Perl 6 update talk, although it might not be as well attended if neither TimToady nor TheDamian are presenting it :)
17:43 pmichaud (which could also be a good thing :)
17:44 pmichaud Perl 6 update talks are easy to put together if you can read diffs :)
17:44 TimToady if the other talks are about specific things, an overviewish talk would be good
17:44 pmichaud my talk is  "Perl 6 on the JVM"
17:45 LlamaRider r:  say "a" ~~ /<![b]>/;
17:45 p6eval rakudo 1c9939: OUTPUT«「」␤␤»
17:46 LlamaRider how do I negate <[b]> ?
17:46 pmichaud r:  say "a" ~~ / <-[b]> /
17:46 p6eval rakudo 1c9939: OUTPUT«「a」␤␤»
17:46 LlamaRider thanks
17:46 pmichaud ! is a zero-width match
17:48 araujo joined #perl6
17:51 jnthn r: my $x = 0; repeat until $x >= 10 -> $another_x { say $another_x; $x++; }
17:51 p6eval rakudo 1c9939: OUTPUT«(Mu)␤False␤False␤False␤Falseâ​¤False␤False␤False␤False␤False␤»
17:51 jnthn How in the heck did refactoring multi-dispatch break that...
17:52 toddr_ TimToady: Let's assume you're coming. I can re-work if we need to. What would you like to talk about?
17:52 TimToady I can certainly co-host a What's New in Perl 6 talk
17:53 pmichaud yeah, I suspect an overviewish talk wouldn't draw too many people away from other talks that aren't interested in p6 at least a bit
17:53 toddr_ Are there other more specific areas that interest you more?
17:54 pmichaud time for lunch here - bbiaw
17:54 cognominal joined #perl6
17:56 TimToady well...I can't afford to get too deeply into any specific area these days, other than language design itself
17:56 TimToady which most people know my opinions on already :)
17:57 pmichaud (back for a bit)   we still need a talk giving an overview of parallelism in Perl 6
17:57 pmichaud i.e., the places where it's designed into the language
17:57 raiph what about a review of approaches to future bridging between p5 and p6?
17:57 TimToady most of what I'll be doing this year is the boring bits of writing a book for O'Reilly
17:57 jnthn pmichaud: I was pondering submitting something on that
17:57 pmichaud jnthn: me too
17:58 jnthn pmichaud: Thing is, I kinda like to have things to show.
17:58 pmichaud but since TimToady++ is the one who knows where the parallel easter eggs are hidden in the spec....
17:58 jnthn pmichaud: And while I'm confident I will by YAPC::EU in this area, YAPC::NA is 50/50. Depends how smoothly things go.
17:58 pmichaud jnthn: yeah, I'm thinking that it doesn't need an implementation to have a good talk
17:59 jnthn pmichaud: If we have Rakudo basically working on the JVM in April, decent chance I can get something to show off for June. If it takes into May...
17:59 jnthn pmichaud: Hm, I'm just very wary of Perl 6 talks about what will happen ;)
17:59 TimToady yes, parallelism is at an interesting intersection of spec and implementation just now
17:59 pmichaud remember, I ended up giving an impromptu "parallelism in p6" talk at prs last year
18:00 pmichaud I felt then (and feel now) that the topic needs to be fleshed out into something more formalish, if only so that we have something to refer to when doing implementy type things
18:00 pmichaud s/formalish/structured/
18:00 jnthn Helpfully, one of my $dayjob tasks is writing a parallelism course for .Net land, so I've plenty of reasons to need to ponder this area. :)
18:00 jnthn Well, concurrency more general, but parallel stuff is in there.
18:00 jnthn And async, etc.
18:00 TimToady maybe we could tagteam such a talk
18:01 jnthn ooh :)
18:01 pmichaud TimToady: I'd love to do that.
18:01 TimToady or maybe we should all get up and talk in parallel :)
18:01 pmichaud heh
18:02 jnthn Just bring a lock on stage and we can only talk when holding it. Then for STM, we just trying optimistically speaking and hoping others won't at the same time... :)
18:02 dalek nqp: cfdcc70 | jnthn++ | src/QAST/Operations.nqp:
18:02 dalek nqp: Add nqp::resume(...) for resuming an exception.
18:02 dalek nqp: review: https://github.com/perl6/nqp/commit/cfdcc70787
18:02 dalek nqp: 38a4fd9 | jnthn++ | t/nqp/44-try-catch.t:
18:02 dalek nqp: Update test to use nqp::resume(...).
18:02 dalek nqp:
18:02 dalek nqp: This should make it possible to try and get working in JVM land.
18:02 dalek nqp: review: https://github.com/perl6/nqp/commit/38a4fd9067
18:03 pmichaud we could do a fugue
18:05 * TimToady thinks about orchestral scores as a form of parallelism...
18:06 pmichaud so, which one of us submits the talk?
18:06 LlamaRider I can negate \w, as in <-[\w]> . Can I somehow negate <alpha> inside a character class <[ ]> ?
18:06 pmichaud LlamaRider: <-alpha>
18:07 pmichaud r:   say "abc123def456" ~~ / <-alpha> /
18:07 p6eval rakudo 1c9939: OUTPUT«「1」␤␤»
18:07 LlamaRider That's a "no" then :) Since I wanted to say "not (dash or alpha)"
18:07 pmichaud r:  <-alpha-[-]>
18:07 p6eval rakudo 1c9939:  ( no output )
18:07 LlamaRider Now that is something I am seeing for the first time.
18:07 pmichaud r:  say "abc-def-123" ~ / <-alpha-[-]> /
18:07 p6eval rakudo 1c9939: OUTPUT«abc-def-123␤»
18:08 pmichaud ummmmmm
18:08 pmichaud r:  say "abc-def-123" ~ / <-alpha-[\-]> /
18:08 p6eval rakudo 1c9939: OUTPUT«abc-def-123␤»
18:08 pmichaud oh
18:08 pmichaud r:  say "abc-def-123" ~~ / <-alpha-[-]> /
18:08 p6eval rakudo 1c9939: OUTPUT«「1」␤␤»
18:08 pmichaud there, was missing a tilde.  :-)
18:08 LlamaRider \o/
18:08 TimToady heh
18:09 LlamaRider The <> has great powers unknown to my mortal soul :) Very cool
18:11 TimToady n: say "abc-def-123" ~~ / <-alpha-[-]> /
18:11 p6eval niecza v24-34-g4f8f894: OUTPUT«「1」␤␤»
18:11 TimToady std: say "abc-def-123" ~~ / <-alpha-[-]> /
18:11 pmichaud LlamaRider: you can do a variety of compositions with + and -... for example,   <-alpha+[aeiou]>   will negate all alphas except for the lowercase ascii vowels
18:11 p6eval std 86b102f: OUTPUT«ok 00:00 44m␤»
18:11 TimToady I guess STD doesn't care if - is first inside []
18:11 TimToady std: say "abc-def-123" ~~ / <-alpha-[x-y]> /
18:11 p6eval std 86b102f: OUTPUT«[31m===[0mSORRY![​31m===[0m�Unsupported use of - as character range; in Perl 6 please use .. (or \- if you mean a literal hyphen) at /tmp/5YMQ0aDXxz line 1:�------> [32msay "abc-def-123" ~~ / <-alpha-[x-y[33m�[31m]> /[0m�Parse failed�FAILED 00:00 44m�»…
18:11 TimToady std: say "abc-def-123" ~~ / <-alpha-[x-]> /
18:11 p6eval std 86b102f: OUTPUT«ok 00:00 44m␤»
18:12 TimToady or last :)
18:12 pmichaud so, which one of us submits a parallelism talk?   If TimToady++ submits, it's very likely to be accepted, if pmichaud/jnthn submits, it may be less likely.
18:12 LlamaRider One more "aha!" moment for me
18:13 pmichaud I'm happy to co-present with anyone.  :)
18:13 pmichaud and to drive the process of creating the talk :)
18:16 pmichaud okay, I'm going to lunch.  When I return, I will draft an abstract and gist it.  If anyone wants to submit that abstract, great, if not, I'll submit it.
18:16 jnthn +1
18:16 jnthn I already have submitted 2
18:16 jnthn So I'm probably the worst person to submit it numbers wise. :)
18:17 * TimToady can probably figger out how to submit something
18:17 TimToady do we also want to submit a What's New?
18:17 pmichaud +1 from me
18:18 pmichaud bbal
18:18 TimToady though most of what's new is what the other talks are about...
18:19 TimToady maybe p5 interop can go in the what's new, assuming things continue to develop as they have been
18:20 jnthn +1
18:20 jnthn (to what's new)
18:21 toddr_ So the other thing I wanted to discuss was this: http://ideas.yapcna.org/idea/E7A8E3EC-721B-11E2-B​362-8AC49D4F7835/moderated-panel-on-perl-s-future
18:21 toddr_ Rumor is EU will have a similar panel.
18:21 toddr_ I'm assuming this will be a re-statement of last year's summit in Europe?
18:21 TimToady so ya think it needs moderation?  :D
18:22 toddr_ I'm putting someone in the front row with a tazer for out of control audience members :D
18:22 TimToady only one?
18:22 toddr_ Probably better to circle the room. I think you're right
18:22 isBEKaml toddr_: you don't tazer them! You show them more perl! :P
18:22 * isBEKaml ducks
18:23 TimToady maybe the panel's chairs could have shockers built in too
18:24 * diakopter runs windows update for the first time in 22 months; only 2.4GB of 157 updates to run
18:24 toddr_ OR We could do a drinking game out of it.
18:24 toddr_ I'm not sure what the buzz words would be
18:25 isBEKaml diakopter: that's quite a long list of updates with virtually no information about them? :)
18:26 diakopter well, I could nopaste a screenshot if you like
18:26 dalek nqp-jvm-prep: 8aefe06 | jnthn++ | / (4 files):
18:26 dalek nqp-jvm-prep: Implement nqp::resume(...).
18:26 dalek nqp-jvm-prep: review: https://github.com/jnthn/nqp​-jvm-prep/commit/8aefe06fc9
18:26 dalek nqp-jvm-prep: 5b471d9 | jnthn++ | docs/ROADMAP:
18:26 dalek nqp-jvm-prep: Remove a couple of completed items.
18:26 dalek nqp-jvm-prep: review: https://github.com/jnthn/nqp​-jvm-prep/commit/5b471d9ca0
18:26 isBEKaml nah, I have to run updates as well
18:27 toddr_ Does anyone have nominations for panel members? I know my request is not ideal but I haven't figured a better method to get ideas.
18:27 mst toddr_: last year's summit in europe was a long exercise in bringing most of the people up to speed with the fact that it's not dead, we're making progress, and stop being so flipping emo
18:28 mst I think the only people who actually got anything done were the 6ers and me
18:28 toddr_ didn't the perl5->perl6 converter get revived there?
18:30 timotimo perlito?
18:30 * mst thinks we'd be better with a perl5 and a perl6 panel, otherwise you'll waste most of your time on 5 vs. 6 rubbish
18:30 mst which ... gah. so bored of that.
18:31 colomon mst++
18:31 kmwallio joined #perl6
18:31 toddr_ I'm cool with that. Ok so I assume the perl6 status update can also have a Q&A portion, which covers the "Future of Perl 6" part of things?
18:32 kmwallio left #perl6
18:33 TimToady seems reasonable, if there's sufficient time for both
18:33 toddr_ We can do it right before Ghost of X-Mas Future talk. :D
18:33 mst that'd be awesome
18:34 isBEKaml toddr_: I just speak for myself - I find saying "Future of X" to be implying a lack of future for X while we talk about it. That's so negative.
18:34 mst that means I can just re-iterate my 'these guys are trying to produce the best of all possible tomorrows' line from SoTV last year
18:34 mst and then spend the rest of this year's SoTV talking about stuff I actually know about ;)
18:35 mst isBEKaml: so far as I can tell, it goes like this
18:36 mst ::EU wants a 'future of perl' panel because the lead orga is upset that 'perl7' made him a paraiah so he wants to legitimise his ideas using an audience
18:36 mst ::NA has a suggestion for such a thing because somebody decided to copy ::EU
18:36 mst toddr_ hasn't really sold me on there being a point to it at all
18:36 mst I just really don't want a 5 vs. 6 war panel
18:36 mst and will sit on a 5 one if that's what's required to avoid that :)
18:40 isBEKaml mst: I guess we already wasted one ::EU cycle? Why spend more effort?
18:40 toddr_ It's the top request at ideas.yapcna.org. I agree with your points. But I also am hesitant to completely ignore the request.
18:40 isBEKaml mst: In any case, 5 vs 6 talk/discussion sounds pretty pointless to me.
18:41 mst the PRS was useful ... just not the way it was originally intended to be
18:41 mst in that it got a lot of people onto the same page
18:41 SamuraiJack_ joined #perl6
18:42 isBEKaml PRS?
18:42 TimToady well, I think it went a long way toward changing a bunch of either/or thinking into both/and thinking all around
18:42 TimToady Perl Reunification Summit
18:42 isBEKaml TimToady: ah, thanks
18:42 TimToady which was held in the town of Perl
18:43 TimToady coincidentally :)
18:43 jnthn r: my $x = 0; repeat until $x >= 10 -> $another_x { say $another_x; $x++; }
18:43 p6eval rakudo 1c9939: OUTPUT«(Mu)␤False␤False␤False␤Falseâ​¤False␤False␤False␤False␤False␤»
18:43 toddr_ I'm not convinced the PRS made it outside the PRS group. Is there a chance a report on the PRS would be a good talk?
18:43 jnthn TimToady: In ^^ what are the semantics of the first iteration meant to be?
18:43 isBEKaml TimToady: Yeah, I remember moritz++ blogging about it too.
18:43 jnthn TimToady: In so far as "what is passed as the argument"?
18:43 mst toddr_: last year's SoTV covered the material
18:43 toddr_ SoTV?
18:43 toddr_ oh
18:44 TimToady jnthn: isn't that specced?
18:44 jnthn TimToady: sorry, just found it
18:44 mst I'll retread a subset of it this year for ::NA
18:44 jnthn TimToady: Well, it says it'll be "undefined" :)
18:44 mst and then ::EU can have the proper version
18:44 jnthn TimToady: That could be interpreted in a few ways. I mean, "heck knows what value it'll have" is satisfied by what the current code does :)
18:45 jnthn TimToady: I'm guessing "Mu" is sufficient?
18:45 dalek perl6-roast-data: 224f943 | coke++ | / (4 files):
18:45 dalek perl6-roast-data: today (automated commit)
18:45 dalek perl6-roast-data: review: https://github.com/coke/perl6​-roast-data/commit/224f943b2e
18:45 [Coke] niecza doubled the # of errors today.
18:45 * TimToady thinks Nil is a better example of "no value"
18:45 colomon [Coke]: :(
18:46 TimToady [Coke]: probably my fault
18:46 TimToady n: (42 if 0).say
18:46 p6eval niecza v24-34-g4f8f894: OUTPUT«()␤»
18:47 TimToady r: (42 if 0).say
18:47 p6eval rakudo 1c9939: OUTPUT«Nil␤»
18:47 TimToady that's the difference
18:48 TimToady we're trying to move towards Nil being more like a normal 'undef', and not confuse it with the empty list
18:49 LlamaRider I have started a repo for P5-to-P6 porting tips, contributions are welcome: https://github.com/dginev/perl6-Porting-Pearls . It's targeted to P6 novices with some P5 experience (I'm one). Currently, there is only text in the Regex section, but I will be adding more soonish.
18:49 TimToady use of guards on list comprehensions is considered a defined concept, not an undefined concept
18:50 TimToady and it's defined to be equivalent to ()
18:50 TimToady (when the guard doesn't produce a value)
18:53 kivutar joined #perl6
18:55 toddr_ So Should I just book a talk for a P6 status update and we'll decide who's doing it later?
18:56 toddr_ Mostly I need it in the list ATM.
18:56 TimToady sure, and we'll concentrate on registering the Parallelism talk
18:56 TimToady thanks
18:57 toddr_ ok 50 mins?
18:57 toddr_ or 20? or more?
18:57 TimToady sounds good
18:57 TimToady (50)
18:57 TimToady I'm sure we can do 20 of What's New and 30 of Q&A
18:57 TimToady though they may end up mixed together
18:58 wk_ joined #perl6
19:00 toddr_ Fair enough. I'll write something up.
19:07 PacoAir joined #perl6
19:20 arnsholt jnthn: Right. Second go-round. So I'll have to set up a simple VMArray type for initial stuff (probably in SixModelObject_initialize?), and then make hlllist return that until NQPArray is set up
19:20 arnsholt And Serialization{Reader,Writer} needs to handle them
19:21 arnsholt (them == BOOTArrays)
19:40 colomon how did "plan *" get back into roast?
19:41 colomon rn: use Test; plan *; ok True;
19:41 p6eval niecza v24-34-g4f8f894: OUTPUT«Unhandled exception: Invalid argument to plan␤  at /home/p6eval/niecza/lib/CORE.setting line 1504 (die @ 5) ␤  at /home/p6eval/niecza/lib/Test.pm6 line 70 (Builder.plan @ 15) ␤  at /home/p6eval/niecza/lib/Test.pm6 line 164 (plan @ 4) ␤  at /tmp/_tfgh6MrsC …
19:41 p6eval ..rakudo 1c9939: OUTPUT«ok 1 - ␤»
19:45 dalek roast: b7fa842 | (Solomon Foster)++ | S32-num/stringify.t:
19:45 dalek roast: Remove "plan *", which is definitely not needed and is obsolete to the best of my knowledge.
19:45 dalek roast: review: https://github.com/perl6/roast/commit/b7fa8428a1
19:51 jnthn arnsholt: BOOTArray gets added to the __6MODEL_CORE__ SC
19:51 jnthn arnsholt: And in NQPJVM I initialize it as a part of the 6model bootstrap
19:53 colomon TimToady: when you get a chance, can you look at the RT #75900 tests in t/spec/S06-signature/unpack-array.t ?  I think it's being triggered by one of your Nil changes, and I've no idea whether or not the test is still correct.
19:55 colomon rn: say ($_ * 2 if $_ ** 2 > 3 for 0 .. 5)
19:55 p6eval niecza v24-34-g4f8f894: OUTPUT«() () 4 6 8 10␤»
19:55 p6eval ..rakudo 1c9939: OUTPUT«4 6 8 10␤»
19:55 colomon another example of the same issue, this one in for.t
19:55 colomon TimToady: ^^
19:59 arnsholt jnthn: Right, right. I'll try to do something along those lines
19:59 pmichaud back again
20:00 dalek nqp: cfd60cb | jnthn++ | src/QAST/Operations.nqp:
20:00 dalek nqp: Better handling of repeat -> $x { ... } code-gen.
20:00 dalek nqp:
20:00 dalek nqp: Still need a way to let Nil be specified, but at least this doesn't
20:00 dalek nqp: leave it unknown exactly what will be passed in.
20:00 dalek nqp: review: https://github.com/perl6/nqp/commit/cfd60cb4a2
20:00 dalek rakudo/md-nqp: 5c49111 | jnthn++ | src/core/Numeric.pm:
20:00 dalek rakudo/md-nqp: Fix a proto.
20:00 dalek rakudo/md-nqp: review: https://github.com/rakudo/rakudo/commit/5c491115aa
20:21 pmichaud https://gist.github.com/pmichaud/5172829   # first rough draft of parallelism talk abstract
20:21 pmichaud TimToady, jnthn: ^^^
20:23 pmichaud afk for 15
20:23 timotimo don't say explicitly, that almost none of those things are implemented anywhere yet :D
20:23 timotimo implemented as in: actually exploit parallelism and provide full asynchronicity
20:28 * moritz would much rather see more talks about stuff that's actually implemented
20:33 LlamaRider wouldn't making such a talk be a driver to push a lot of progress on the implementation until the presentation date?
20:33 timotimo hehe
20:40 jnthn moritz: Looks like a good abstract.
20:40 jnthn uh, sorry
20:40 jnthn pmichaud: Looks like a good abstract.
20:44 pmichaud moritz: I'd like to see talks about actually implemented stuff, too.  But after PRS last year I felt like there was a need for a talk or article or something that overviewed parallelism in p6.  Talks are easier for me than articles.
20:45 pmichaud jnthn: thanks.  I'll wait to see if TimToady has any comments/changes and then work to get it submitted tonight.
20:47 japhb_ joined #perl6
21:33 Rix joined #perl6
21:48 dalek nqp: b94f739 | jnthn++ | src/guts/multi_dispatch. (2 files):
21:48 dalek nqp: Make the cache a bit smarter about nameds.
21:48 dalek nqp: review: https://github.com/perl6/nqp/commit/b94f739399
21:52 TimToady pmichaud: that looks fabulous
21:53 dalek rakudo/md-nqp: 495550a | jnthn++ | src/Perl6/Metamodel/BOOTSTRAP.pm:
21:53 dalek rakudo/md-nqp: Allow common postcircumfix calls to be cached.
21:53 dalek rakudo/md-nqp:
21:53 dalek rakudo/md-nqp: Before, they could not be because some candidates accepted named args.
21:53 dalek rakudo/md-nqp: Now, the common named-argumentless case can be cached.
21:53 dalek rakudo/md-nqp: review: https://github.com/rakudo/rakudo/commit/495550ab58
21:54 cognominal joined #perl6
22:03 fgomez joined #perl6
22:25 raiph joined #perl6
22:26 dalek rakudo/md-nqp: 3b39d8b | jnthn++ | src/Perl6/Metamodel/BOOTSTRAP.pm:
22:26 dalek rakudo/md-nqp: Remove an optimization that made things wrong.
22:26 dalek rakudo/md-nqp: review: https://github.com/rakudo/rakudo/commit/3b39d8b0a8
22:26 dalek rakudo/md-nqp: f94fb8b | jnthn++ | src/Perl6/Metamodel/BOOTSTRAP.pm:
22:26 dalek rakudo/md-nqp: Remove bogus decontainerization.
22:26 dalek rakudo/md-nqp: review: https://github.com/rakudo/rakudo/commit/f94fb8b85f
22:29 skids joined #perl6
22:30 dalek roast: e143018 | (Timo Paulssen)++ | S0 (2 files):
22:30 dalek roast: tests for RT #76884 and #75320
22:30 dalek roast: review: https://github.com/perl6/roast/commit/e143018d42
22:41 labster joined #perl6
22:48 dalek roast: 5a95f71 | (Timo Paulssen)++ | S06-operator-overloading/imported-subs.t:
22:48 dalek roast: improve test for not importing not exported operators.
22:48 dalek roast: review: https://github.com/perl6/roast/commit/5a95f71d14
23:06 dalek nqp: ed35b15 | jnthn++ | src/ops/nqp.ops:
23:06 dalek nqp: Ensure we don't overflow fates buffer.
23:06 dalek nqp:
23:06 dalek nqp: A recent Rakudo change used fates without having a fate array in the
23:06 dalek nqp: first slot. This led to a buffer overflow, which showed up (at least
23:06 dalek nqp: on Win32) as spectest failures. This fixes it not to overflow.
23:06 dalek nqp: review: https://github.com/perl6/nqp/commit/ed35b15d91
23:24 LlamaRider joined #perl6
23:29 dalek rakudo/md-nqp: 150bdc9 | jnthn++ | src/Perl6/Metamodel/BOOTSTRAP.pm:
23:29 dalek rakudo/md-nqp: Don't recalculate candidate lists without need.
23:29 dalek rakudo/md-nqp: review: https://github.com/rakudo/rakudo/commit/150bdc9107
23:29 dalek rakudo/md-nqp: 19d9ae0 | jnthn++ | src/Perl6/Metamodel/BOOTSTRAP.pm:
23:29 dalek rakudo/md-nqp: Fix logic for finding all possible candidates.
23:29 dalek rakudo/md-nqp: review: https://github.com/rakudo/rakudo/commit/19d9ae04a2
23:29 dalek rakudo/md-nqp: c9e3ae1 | jnthn++ | src/ (2 files):
23:29 dalek rakudo/md-nqp: Use NQP-based dispatcher for deferral also.
23:29 dalek rakudo/md-nqp: review: https://github.com/rakudo/rakudo/commit/c9e3ae1ec7
23:29 dalek rakudo/md-nqp: c4e8af0 | jnthn++ | src/ (3 files):
23:29 dalek rakudo/md-nqp: Rip out most of the C-based multi-dispatcher.
23:29 dalek rakudo/md-nqp:
23:29 dalek rakudo/md-nqp: Only leftover bits are the compile-time dispatch analysis used by the
23:29 dalek rakudo/md-nqp: optimizer, which still needs porting.
23:29 dalek rakudo/md-nqp: review: https://github.com/rakudo/rakudo/commit/c4e8af0e4e
23:33 jnthn Enough for today. 'night, #perl6
23:36 timotimo night jnthn :)

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

Perl 6 | Reference Documentation | Rakudo