»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend!
Set by sorear on 4 February 2011.
00:06 LlamaRider left 00:07 census left
timotimo wouldn't it be nice to put RT notifications in here? just one line per activity instead of 3+? 00:12
(i want to see my name pop up more often, haha) 00:13
sorear you mean cc RT stuff into the channel>? 00:26
00:27 kurahaupo left
sorear might be possible with procmail shenannigans 00:27
you *don't* want to get any closer than that to rt.perl.org
timotimo :D 00:28
00:28 cognominal joined 00:41 cognominal left 00:43 cognominal joined 00:50 kurahaupo joined 00:51 cognominal__ joined, cognominal left 00:56 lustlife joined 01:07 cognominal joined 01:08 cognominal__ left 01:12 lustlife1 joined 01:13 lustlife left, anuby joined 01:14 hypolin joined 01:23 thou left 01:43 cognominal left 01:45 lizmat left 01:46 Liz_ joined
labster how do you declare regexes inside a class? Should this work?: 01:54
r: class Foo { has regex b { 'b' }; method bar ($in) { $in ~~ /<b>/ }; }; my $x = Foo.new; Foo.bar('bob');
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 02:01 FROGGS_ joined, sqirrel__ joined
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
r: class Foo { regex b { 'b' }; method bar ($in) { $in ~~ /<b>/ }; }; my $x = Foo.new; Foo.bar('bob');
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␤␤»
geekosaur hm, but there's something else involved too, involving grammars 02:03
but I don't recall
02:04 FROGGS left 02:05 sqirrel_ left
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
*called individually
02:29 ggoebel_ left
[Coke] (procmail for rt) there's a command line interface that's probably easier for a non perl.org admin to setup. 02:36
... ooh, we could write a perl6 interface to the bugqueue.
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…
labster well, that's a new error with 'my'
r: my regex b { 'b' }; sub bar ($in) { $in ~~ /<b>/ }; say bar('bob'); 02:40
p6eval rakudo 1c9939: OUTPUT«「b」␤ b => 「b」␤␤»
colomon r: my regex b { 'not' }; sub bar ($in) { $in ~~ /<b>/ }; say bar('bob');
p6eval rakudo 1c9939: OUTPUT«#<failed match>␤»
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
labster r: class Foo { my $b = regex { 'b' }; method bar ($in) { $in ~~ /<$b>/ }; }; say Foo.bar('bob'); 02:48
p6eval rakudo 1c9939: OUTPUT«「b」␤␤»
labster that works, but you don't get $<b> set 02:49
03:07 orafu left, orafu joined 03:54 Sifr joined 03:57 xinming left
Sifr Hello, is this the typical vim setup for perl6 cpansearch.perl.org/src/AUDREYT/Per.../perl6.vim ? 03:57
or just which ever floats your boat?
sorear think most people use alester's perl6.vim, not audrey's 03:58
03:59 xinming joined
Sifr sorear: is there a link available to it? I am just finding irc logs of alester joining #perl6 haha 04:04
04:07 rindolf joined
Sifr oh petdance 04:10
04:15 SamuraiJack joined 04:17 census joined
[Coke] github.com/vim-perl/vim-perl 04:17
not sure if it's up to date 04:18
04:28 census left 04:33 odoacre left 04:36 odoacre joined
Sifr last updates two months ago 04:42
04:46 toddr_ joined, preflex_ joined 04:47 preflex left, Cynede joined, preflex_ is now known as preflex
toddr_ Hey the talk submission due date is tomorrow. Does anyone have any talks they plan on submitting perl 6 related? 04:48
diakopter for what conference? 05:09
05:10 census joined
toddr_ Oops sorry. YAPC::NA in Austin this year 05:11
05:14 Cynede is now known as Heather
diakopter Heather: I added you to perl6 org 05:16
Heather diakopter \o/ 05:17
thank you
and good morning 05:18
diakopter evening here; morning there?
Heather yes
utc+4 05:19
05:33 wk left 05:36 rindolf left 05:37 rindolf joined
diakopter toddr_: are you on the talk selection committee? 05:38
05:39 araujo left 05:40 araujo joined 05:46 snearch joined 05:47 snearch left, SamuraiJack left, snearch joined 05:49 rindolf left, rindolf joined
Sifr is there an easy way to write the unicode >> operator? 05:53
oh
sorear depends on your environment 05:54
editor/OS?
moritz » is AltGr+x on my keyboard
and Ctrl+k >> in vim
Heather is having some wicked network issues, all the downloads fails at 93-96 % ... 05:55
Sifr C-k >>
sorear wget --continue :D
moritz
.oO( wrong MTU? :-)
05:57
Heather sorear with wget it comes damaged 05:59
wget splitting it with the 206 Partial Content seems weird
06:02 rindolf left, rindolf joined
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
*when
to say "give me only the bytes 346...2048 from this file"
and then the answer isn't "OK", but "OK, I'm giving you a part of the file, as requested" 06:08
thus 206 Partial Content
Heather moritz it's still being something strange with it... sha256 is always differen, alike network damage it regularry 06:10
moritz Heather: then maybe you have to fix the broken network 06:12
tadzik good morning #perl6 06:14
Heather tadzik good morning
moritz if I only know how... 06:16
06:17 kurahaupo left
sorear alternatively, tunnel all of your traffic over UDP with some good forward error correction 06:22
06:22 Heather_ joined, Heather_ is now known as Cynede 06:23 Cynede is now known as Guest6885, Guest6885 left, Guest6885 joined 06:25 Guest6885 is now known as Heather_, Heather_ is now known as Heather__, Heather left 06:27 census left 06:33 Heather__ is now known as Heather 06:39 rindolf left, rindolf joined
Heather %o == open ? 06:48
ah.. not 06:49
06:58 sigkill joined 07:00 unknowndna left 07:05 Rina joined 07:06 Rina left
sorear Heather: what context? 07:09
Heather sorear it was just guess, no I see it's wrong ) 07:10
07:11 rindolf left 07:16 wk_ joined 07:19 SamuraiJack joined 07:24 erkan left 07:39 Liz_ is now known as lizmat
Heather mkdir failed: ╤шэЄръёшўхёър  ю°шсър т шьхэш Їрщыр, шьхэш яряъш шыш ьхЄъх Єюьр. -_-' 07:48
bonsaikitten Heather: try using a nicer locale? :) 07:56
08:07 domidumont joined 08:10 thou left 08:17 lue left
Heather bonsaikitten it's windows 08:24
08:30 lue joined, brrt joined 08:38 woosley left, woosley joined 08:39 domidumont left 08:40 domidumont joined 08:50 cognominal joined 08:51 lizmat left 09:14 fhelmberger joined
jnthn morning o/ 09:20
brrt hi jnthn 09:23
FROGGS_ morning
09:29 nemesys joined
nemesys moo 09:30
09:31 labster left
Heather meow 09:31
09:34 rindolf joined 09:36 Liz joined, Liz is now known as lizmat
Heather pugs is dead? 09:48
moritz starved by low bus number 09:49
au occasionally fixes the build for new GHC versions
but no new development happens
Heather that's sad 09:51
FROGGS_ Heather: well, you can change that if you want
Heather :3 09:52
09:53 am0c joined
moritz port 6model to Haskell 09:54
Heather moritz 6model ?
moritz though 6 is default for pugs
isn't it? 09:55
Heather is compiling pugs 09:56
09:57 woosley left
cognominal Hi, what is the current library choice if one wants to write a web server in Perl 6? 09:57
moritz cognominal: I think there's an HTTP::Server::Simple or so 10:02
Heather: 6model is the storage layer that nqp and rakudo use
for in-memory object layout 10:03
cognominal: and Dancer if you want something higher level
(ie a web framework)
erm Bailador, not Dancer. Sorry.
cognominal thx 10:04
10:09 hypolin left 10:10 lustlife1 left
Heather stringtable-atom fails on 7.6.2 GHC 10:10
sadness...
10:28 donaldh joined, erkan joined 10:30 Vlavv_ joined
donaldh jnthn: thanks for the NQPHLL pointer yesterday. That's what I was looking for. 10:32
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:33
10:34 Vlavv left
donaldh jnthn: yes, all t/jast tests pass for self-hosting. But I'm hitting problems with nqp tests when self-hosted 10:38
jnthn: I'm getting an array index out of bounds error inside ASM that I'm trying to track down. 10:39
10:40 lizmat left
donaldh jnthn: so debugging with ASM's CheckClassAdaptor which is _much_ stricter than ASM's ClassWriter. 10:41
jnthn donaldh: Does the cross-comp work out, just not the self-hosted? 10:42
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:44
jnthn And excited that using invokedynamic is in sight
np, mine has been a mix of teaching, course material writing and terrible sleep...
10:57 anuby left 10:59 cibs joined
Heather how to make for with index 11:05
for .lines -> $ln
for @names.keys ? 11:07
jnthn r: my @a = <Dogs Cats Hamsters>; for @a.kv -> $idx, $val { say "$idx = $val" }
p6eval rakudo 1c9939: OUTPUT«0 = Dogs␤1 = Cats␤2 = Hamsters␤»
jnthn Like that, maybe?
Just .keys if you just want the indexes. 11:08
Heather oh
cool
thanks
jnthn is there mod function ? :) 11:09
hoelzro r: 5 % 2 11:10
p6eval rakudo 1c9939: ( no output )
hoelzro r: say 5 % 2
p6eval rakudo 1c9939: OUTPUT«1␤»
hoelzro c'mon, p6eval! DWIM!
Heather it is also mod :P
r: say 5 mod 2 11:11
p6eval rakudo 1c9939: OUTPUT«1␤»
hoelzro ah, neat!
Heather but I like % more
jnthn Well, they're not quite the same 11:13
mod ensures each side is an integer, iirc
r: say 10 % 2.5
p6eval rakudo 1c9939: OUTPUT«0␤»
jnthn r: say 10 mod 2.5
p6eval rakudo 1c9939: OUTPUT«-2.5␤»
jnthn Hm :)
11:14 ggoebel_ joined
tadzik is any of our HTTP servers functional at the moment? 11:20
11:22 donaldh left
Heather r: my $a, $b = 1, 2; 11:30
p6eval rakudo 1c9939: OUTPUT«===SORRY!===␤Variable '$b' is not declared␤at /tmp/Tt2u5rp5aQ:1␤------> my $a, $b⏏ = 1, 2;␤ expecting any of:␤ postfix␤»
Heather is it possible to declare some variables inline?
moritz r: my ($a, $b) = 1, 2; 11:33
p6eval rakudo 1c9939: ( no output )
moritz r: r: my $a, my $b = 1, 2;
p6eval rakudo 1c9939: OUTPUT«===SORRY!===␤Two terms in a row␤at /tmp/VmLnCAT9ch:1␤------> r⏏: my $a, my $b = 1, 2;␤ expecting any of:␤ argument list␤ postfix␤ infix stopper␤ infix or meta-infix␤ statement end␤ st…
moritz r: my $a, my $b = 1, 2; 11:34
p6eval rakudo 1c9939: ( no output )
moritz Heather: both of these work
Heather thanks.
jnthn uh 11:35
11:35 FROGGS_ left
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␤»
moritz right, the second needs parens to do what you want
jnthn r: my $a = 1, my $b = 2; say $a; say $b;
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 ; :)
so yeah, my ($a, $b) = 1, 2; is the good way :)
Heather can I declare an sub in sub ? 11:37
r: sub a { sub b { } }
p6eval rakudo 1c9939: ( no output )
jnthn Sure
Heather good
jnthn Note the inner one is only visible inside of the outer one
(they're scoped like "my" variables) 11:38
Heather it's good
jnthn Yes, it's a nice thing :)
Heather can I call sub alike ^&@#@
r: sub &^@# { }
p6eval rakudo 1c9939: OUTPUT«===SORRY!===␤Missing block␤at /tmp/8BJMutZVCC:1␤------> sub ⏏&^@# { }␤ expecting any of:␤ statement list␤ prefix or term␤ prefix or meta-prefix␤ new name to be defined␤»
Heather r: sub = { }
p6eval rakudo 1c9939: OUTPUT«===SORRY!===␤Missing block␤at /tmp/p1Z4PZxLhZ:1␤------> sub ⏏= { }␤ expecting any of:␤ statement list␤ prefix or term␤ prefix or meta-prefix␤ new name to be defined␤»
Heather can I declare custom operators ? including infix ones? 11:39
jnthn r: sub ::('!!^:-)') { say 'yes' }; ::<&!!^:-)>()
p6eval rakudo 1c9939: OUTPUT«yes␤»
11:39 brrt left
hoelzro "private multi methods are not supported" # is that a Rakudo thing, or a spec thing? 11:40
Heather aha, cool
jnthn r: sub infix:<heather>($a, $b) { say "$a you $b" }; 'yes' heather 'can'
p6eval rakudo 1c9939: OUTPUT«yes you can␤»
moritz Heather: rakudo limitation
jnthn moritz: Was that to hoelzro? :)
11:41 SmokeMachine joined
moritz erm yes, sorry 11:41
hoelzro: rakudo limitation
hoelzro ok
good to know =)
jnthn wonders how private multi-methods work out
I guess kinda simply given private methods never inherit...
11:42 fhelmberger left
moritz well, for private method dispatch you simply never consider parent classes 11:48
so you have disjoint method tables for each subclass 11:49
so the invocant type never plays a big role in private method dispatch
iirc niecza implements it
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
11:50 kivutar joined
Heather how can I write this easier: for @cml -> $c { $c.close; } 11:50
moritz .close for @cml;
Heather omg... 11:51
jnthn And I was wondering if we should get something smarter than just adding a .add_private_multi_method :)
moritz or if you don't care about the order of execution: @cml>>.close
jnthn But maybe I'm over-designing :)
Well, or over-putting-off-out-of-feeling-I-should-design :)
Heather it's magic
tadzik it's Perl
Heather Unsupported use of >> to do right shift; in Perl 6 please use +> or ~> 11:52
11:53 pmurias joined
pmurias jnthn: how hard would it be to port nqp-jvm to android? 11:53
tadzik Heather: you typoed something, must be 11:54
moritz r: my @cml = < a b c >; say @cml>>.uc
p6eval rakudo 1c9939: OUTPUT«A B C␤»
hoelzro ok, stupid Perl 6 question
moritz Heather: works here
hoelzro what's the Perl 6 equivalent to List::MoreUtils::all?
ex. if(all { $_ > 5 } (6..10)) { ... }
tadzik all junction, I guses
moritz if all(6..10) > 5 { }
Heather moritz I used space, here is my fault 11:55
hoelzro hmm
does the all junction just dispatch any method to its components? 11:56
moritz hoelzro: not all, but most
hoelzro which don't work?
moritz hoelzro: any method not in Mu or Junction itself is dispatched to its eigenstates
hoelzro oh, ok
11:57 Liz joined
jnthn pmurias: I guess you'd have to turn the bytecode into stuff for Dalvik... 11:57
pmurias: There's a tool for taht.
11:57 Liz is now known as lizmat
jnthn pmurias: Not quite sure what happens next :) 11:57
"Try It To See" :) 11:58
I'd be curious how it works out
12:04 cibs left 12:11 brrt joined 12:22 brrt left
Heather renamed github account \o/ 12:33
dalek osystem: 11e5e2f | Heather++ | META.list:
META.list update due github account rename
12:39
12:41 skids left
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
Working on a refactor now
jnthn See what it does in nqp-jvm for inspiration 12:44
12:47 wk_ left
arnsholt Good idea =) 12:49
My current thought is "nqp::istype($obj, NQPArray) || nqp::old_islist($obj)" 12:50
jnthn No 12:51
You check the REPR
islist doesn't care about type, iirc
12:51 woosley joined
arnsholt Right, right 12:51
That does make sense 12:52
jnthn Cheaper too :)
arnsholt =)
12:52 census joined 12:58 lizmat left, Heather left
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:03
hoelzro could anyone help me debug this: gist.github.com/hoelzro/5169741 13:04
I'm guessing the fact that I'm comparing $^value and $value has something to do with it 13:05
but I figured they would be independent?
jnthn arnsholt: It's fine in the setup, sinc eit'll never change
colomon hoelzro: yes
jnthn hoelzro: They're not independent
colomon after you've done $^value, you've assigned $value 13:06
arnsholt jnthn: Yeah, that's what I thought. Cheers!
jnthn { $^value < $value } is just like -> $value -> { $value < $value }
In fact, they compile to almost exactly the same thing.
arnsholt A segfault, a segfault! \o/ 13:11
Oh. Can't look up a REPR before the registry is set up =D 13:13
13:14 SamuraiJack_ joined, SamuraiJack left
moritz "I was going to tackle my procrastination problem last weekend but I never got around to it." 13:16
rindolf moritz: heh. 13:25
13:25 mavcunha joined 13:27 LlamaRider joined 13:33 grondilu joined 13:42 mavcunha left, mavcunha joined 13:44 LlamaRider left 13:48 Liz joined, Liz is now known as Guest56784 13:52 Guest56784 left 13:54 kivutar left, bluescreen10 joined
arnsholt jnthn: What's the difference between nqp::list_b and nqp::list? 13:57
Or, supposed to be the difference. Previously I think they both did the same thing 13:58
jnthn list_b is given a list of blocks and pushes the BVals of all of them 13:59
It's mostly there for the sake of serialization code-gen
Saves a bit of shuffling stuff around.
arnsholt Ah, right
jnthn But under the hood it makes the same thing ias an nqp::list() 14:00
Just a code-gen difference in pushing the elements
arnsholt Yeah. I'll refactor it to make a hlllist rather than an RPA 14:01
14:05 cognominal left 14:06 woosley left 14:08 cognominal joined 14:10 skids joined 14:16 PacoAir joined 14:18 PacoAir left 14:19 PacoAir joined
davidagain is (1..100).pick(100) the idiomatic way to randomize the first 100 positive integers? 14:21
or randomly order, I should say
jnthn r: say (1..100).pick(*)
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 …
moritz (1..100).pick(*) would be more idiomatic
davidagain ah, thanks
14:23 Psyche^ joined
davidagain what's the syntax for defining a new operator, which has both unary and binary valences? 14:24
something like multi sub <¿> $a, $b {...} ? 14:25
jnthn more like multi sub infix:<¿>($a, $b) {...} 14:26
afk for a bit
tadzik how does binary infix work?
davidagain infix is neccesarily binary
14:26 Patterner left, Psyche^ is now known as Patterner
davidagain foo OP bar 14:26
tadzik r: sub infix:<foo>($, $) { }; sub prefix:<foo>($) { }; say 'alive'; 14:27
p6eval rakudo 1c9939: OUTPUT«alive␤»
tadzik infix:<foo> and prefix:<foo> are already different things, no need for a multi
oh, sorry, I was wondering about unary infix :)
moritz ENOSENSE 14:28
tadzik right
moritz well, you can call an infix with one argument if you call it as infix:<name>($arg)
but not syntactically
davidagain r: sub infix<¿> $m,$n {(1..$n).pick($m)}; say 10 ¿ 100
p6eval rakudo 1c9939: OUTPUT«===SORRY!===␤Missing block␤at /tmp/kCTje4UBSP:1␤------> sub infix⏏<¿> $m,$n {(1..$n).pick($m)}; say 10 ¿ 1␤ expecting any of:␤ statement list␤ prefix or term␤ prefix or meta-prefix␤ new name to be …
moritz r: sub infix:<¿> $m,$n {(1..$n).pick($m)}; say 10 ¿ 100 14:29
p6eval rakudo 1c9939: OUTPUT«===SORRY!===␤Missing block␤at /tmp/8XjLlRwvNe:1␤------> sub infix:<¿> ⏏$m,$n {(1..$n).pick($m)}; say 10 ¿ 100␤ expecting any of:␤ colon pair␤ quote words␤»
moritz r: sub infix:<¿>($m,$n) {(1..$n).pick($m)}; say 10 ¿ 100
p6eval rakudo 1c9939: OUTPUT«41 31 10 81 75 56 28 13 14 19␤»
moritz it helps to use Perl 6 syntax :-)
davidagain what did you change? I'm missing it
moritz first I added : after 'infix'
davidagain ah
moritz and then parens around the argument list
davidagain thank you
sub infix:<¿>($m,$n) {(1..$n).pick($m)}; sub prefix:<¿>($n) {$n ¿ $n}; say ¿ 10; 14:30
r: sub infix:<¿>($m,$n) {(1..$n).pick($m)}; sub prefix:<¿>($n) {$n ¿ $n}; say ¿ 10;
p6eval rakudo 1c9939: OUTPUT«9 3 7 5 6 2 4 10 1 8␤»
davidagain this shit is cool 14:31
14:31 cognominal left
davidagain how can I force the arguments to be positive integers? 14:31
and also force $m < $n ? 14:32
tadzik a 'where' clause
davidagain (without the obvious if .... die
tadzik or a subset
r: subset MyArg of Int where * > 0; # positive
p6eval rakudo 1c9939: ( no output )
moritz r: sub infix:<¿>(Int $m where { $m > 0 }, Int $n where { $n > $m }) { ... }
p6eval rakudo 1c9939: ( no output )
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«===SORRY!===␤Two terms in a row␤at /tmp/grAQiIZXLN:1␤------> )}; sub prefix:<¿>($n) {$n ¿ $n}; say 2 ⏏c¿ 10;␤ expecting any of:␤ postfix␤ infix stopper␤ infix or meta-infix␤ statement end␤ s…
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;
p6eval rakudo 1c9939: OUTPUT«9 4␤»
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;
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␤␤»
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;
p6eval rakudo 1c9939: OUTPUT«Constraint type check failed for parameter '$m'␤ in sub infix:<¿> at /tmp/jTUVEbqVUV:1␤ in block at /tmp/jTUVEbqVUV:1␤␤»
davidagain if I "multi" it, can I give different semantics to different parameter constraints? 14:34
14:34 rindolf left
moritz yes 14:34
davidagain and p6 figures that out for me?
moritz yes
just make sure to not create overlaps 14:35
davidagain oh, off I go to the races then
moritz it might give you amibiguous dispatches
davidagain moritz: I've never written a buggy program in my life. I've just been misunderstood by the compiler.
14:35 cognominal joined
moritz davidagain: some compilers are very good at misunderstanding :-) 14:35
cognominal rn: say 1.sprintf(1, '%02d') 14:37
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…
..rakudo 1c9939: OUTPUT«1␤»
cognominal oops
rn: say 1.sprintf('%02d')
p6eval rakudo 1c9939: OUTPUT«1␤»
..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 SamuraiJack_ left, bbkr joined, cognominal left 14:43 LlamaRider joined 14:49 cognominal joined
davidagain alright, on to macros ... let's say I wanted to re-spell a keyword in p6 14:50
say, I want to write infix as xifni
is that painful?
14:53 bbkr left, kst joined 15:01 Sifr left 15:03 cognominal left
[Coke] Yes, why would you do that. ;) 15:04
I am not sure macros work as simple textual substitutions yet. They do work if you have them return valid ASTs, however.
I am trying to find masak's post on macros at strangelyconsistent.org/, but can only find the AST example at : 15:05
strangelyconsistent.org/blog/macros...hey-really
15:09 pmurias left
raiph Friendly reminder: YAPC::NA 2013: "The deadline for talk submissions is March 15th" 15:09
[Coke] strangelyconsistent.org/blog/list-of-posts 15:11
15:12 cognominal joined
davidagain [Coke]: I have a little project I'm working on 15:12
trying to get a sense of the purpose and limitations of macros and other novel p6 features
thanks for the links guys
15:14 rindolf joined 15:17 thou joined
hoelzro backlogs 15:17
ah, thanks for clearing that up
it's getting a lot harder to find bugs!
15:19 cognominal left
hoelzro is there a method for checking an Array for an item's presence? something like @values.contains($value) 15:20
[Coke] grep 15:21
hoelzro I was hoping for something that would short circuit, but that'll do 15:22
[Coke] first
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'})
p6eval rakudo 1c9939: OUTPUT«a␤»
[Coke] r: my @a = <a b c d a a a a a>; say @a.first({$^x eq 'z'})
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␤␤»
[Coke] r: my @a = <a b c d a a a a a>; say @a.grep({$^x eq 'z'})
p6eval rakudo 1c9939: OUTPUT«␤»
[Coke] looks like a bug. spec says "exactly like grep, but returns only the first matching value" 15:24
hoelzro seriously? when I tried it it threw an exception 15:26
hoelzro tries again
now it works 15:27
hoelzro shrugs 15:28
15:29 cognominal joined
[Coke] :yes, it throws an exception. (see above). 15:30
I'm saying the spec seems to indicate that's a bug.
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␤␤»
timotimo r: my @a = <a b c d e f f>; say @a.grep({$^x eq $^y})
p6eval rakudo 1c9939: OUTPUT«Not enough positional parameters passed; got 1 but expected 2␤ in block at /tmp/ozPDEL44_h:1␤␤»
timotimo r: my @a = <a b c d e f f>; say @a.map({$^x eq $^y})
p6eval rakudo 1c9939: OUTPUT«Not enough positional parameters passed; got 1 but expected 2␤ in block at /tmp/NQGaIa_GhS:1␤␤»
timotimo only works in for loops?
[Coke] what are you expecting the second positional parameter to be? 15:32
(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
p6eval rakudo 1c9939: OUTPUT«a eq a␤b eq b␤b eq b␤»
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
i know this trick from python:
r: my @a = <a b c d e>; for @a[..*-1] Z @a[1..*] -> $a, $b { say "$a $b " } 15:36
15:36 toddr_ left
p6eval rakudo 1c9939: OUTPUT«===SORRY!===␤Preceding context expects a term, but found infix .. instead␤at /tmp/yxos1wJZLR:1␤------> my @a = <a b c d e>; for @a[..⏏*-1] Z @a[1..*] -> $a, $b { say "$a $b ␤» 15:36
timotimo r: my @a = <a b c d e>; for @a[0..*-1] Z @a[1..*] -> $a, $b { say "$a $b " }
p6eval rakudo 1c9939: OUTPUT«a b ␤b c ␤c d ␤d e ␤»
timotimo other than that the only thing that directly comes to mind is using a counting variable
15:37 cognominal left, toddr_ joined
[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␤»
[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 } }
p6eval rakudo 1c9939: OUTPUT«d␤e␤g␤use of uninitialized value of type Any in string context␤»
timotimo hehe, should have used -2 15:39
or a ^
[Coke] oh, that DID work, it just also gave the Any.
so, something like that ,maybe
timotimo no, it put an Any into the RHS of eq 15:40
is how i interpret it
[Coke] yah, that went from 0 to 9 the first time. 15:41
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 } }
p6eval rakudo 1c9939: OUTPUT«d e g␤»
[Coke] r: my @a = 1..5 ; say @a[0..*-1]; 15:42
p6eval rakudo 1c9939: OUTPUT«1 2 3 4 5␤»
[Coke] oh, duh, I was thinking in tcl for part of that.
timotimo i think that's what the ^ was made for, so that you don't have to always specify the -1 after +@foo
was that already in perl5 also? 15:43
bbiab
[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 } }
p6eval rakudo 1c9939: OUTPUT«d e g␤»
15:44 cognominal joined 15:48 LlamaRider left 15:50 domidumont left
jnthn back :) 15:53
And seems I've done all the week's $dayjob tasks :)
[Coke] \o/ 15:54
15:55 toddr_ left 15:57 elementz joined
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. :)
jnthn has got as far as registering at least :) 15:58
raiph jnthn: cool. what topics are you thinking of doing? lightning, regular, or both? 15:59
dalek p/vmarray-list: 47e8fee | (Arne Skjærholt)++ | src/QAST/Operations.nqp:
Refactor nqp::list_b to create an nqp::list instead of an RPA.
p/vmarray-list: 1ee8aa8 | (Arne Skjærholt)++ | src/ops/nqp.ops:
Make nqp::islist allow VMArrays.

RPAs are still allowed as well, since there may be some of those hanging around in the serialized bits of the bootstrap compiler.
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.
[Coke] jnthn: can always squeeze that in as a lightning talk if you ahve something. 16:05
jnthn [Coke]: True
16:05 LlamaRider joined
jnthn I guess lightnings are schedulable much later? 16:05
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
16:06 davidagain_ joined
[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:06
16:09 davidagain left
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
available and you are less likely to be accepted so please try to submit more than a week before the conference."
[Coke] I imagine you'll know by then.
jnthn yes :) 16:10
16:13 elementz left 16:14 sigkill left 16:16 spider-mario joined
TimToady can't really guarantee his state of health well enough to predict whether he can give a talk in June 16:19
16:22 SunilJoshi joined, kaare__ joined
TimToady it will depend mightily on what happens when the pathologist runs the spectests :) 16:22
16:24 cognominal left, _jaldhar left 16:31 cognominal joined
pmichaud good morning, #perl6 16:43
16:43 am0c left
jnthn morning, pmichaud o/ 16:43
TimToady \o
o/ 16:44
\o
o/
(doing morning stretches)
16:54 cognominal left
arnsholt jnthn: Is the hlllist I have in github.com/perl6/nqp/blob/vmarray-...s.nqp#L260 going to work during the bootstrappy bits of NQP compilation? 16:57
rindolf pmichaud: hi.
pmichaud: morning.
pmichaud: though it's close to 19:00 here.
pmichaud well, it's close to 12:00 here, too, so not-to-be-morning soon here 16:58
17:01 cognominal joined
dalek ecza: 4f8f894 | larry++ | / (2 files):
missing conditionals return (), not Nil
17:04
jnthn TimToady: How does Empty differ from an empty parcel? 17:08
17:08 isBEKaml joined
TimToady doesn't eventually, but I haven't figured out how to hack that in yet :) 17:09
just starting to detangle the bits of Nil here
niecza's Nil also still returns () in list context, which I'm working toward removing 17:10
but the obvious change breaks things very badly
jnthn arnsholt: That seems a bit of a cheat. It certainly won't work in nqp-mo for example.
TimToady if someone more knowledgable about niecza wanted to carry that forward a bit further, I wouldn't complain 17:11
jnthn arnsholt: This is why things like BOOTArray exists.
arnsholt Yeah, that'll explain the errors I'm seeing
TimToady
.oO(Someone Of Renowned Expertise And Rigor)
17:13
oh hey, it's the Ides of March; maybe I should avoid the forum... 17:20
17:21 Chillance joined
pmichaud TimToady: if you go to the forum, please don't use the words "Perl" and "7" there. :-) 17:22
LlamaRider Is it a feature that both <lower> and <.lower> work ? 17:24
pmichaud LlamaRider: the first captures, the second does not
LlamaRider runs for coffee
pmichaud r: say 'ABcD' ~~ / <lower> /;
p6eval rakudo 1c9939: OUTPUT«「c」␤ lower => 「c」␤␤»
pmichaud r: say 'ABcD' ~~ / <.lower> /;
p6eval rakudo 1c9939: OUTPUT«「c」␤␤»
pmichaud r: say 'abcd' ~~ / <lower>+ /; 17:25
p6eval rakudo 1c9939: OUTPUT«「abcd」␤ lower => 「a」␤ lower => 「b」␤ lower => 「c」␤ lower => 「d」␤␤»
LlamaRider I knew this yesterday. o_O Coffee should help. Thanks!
17:28 toddr_ joined
raiph pmichaud: "the forum"? 17:29
17:29 toddr_ left
TimToady raiph: yes, it's where the Lakers play basketball in LA 17:30
I'd be more worried if I had a month named after me, I suppose 17:31
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
17:33 SmokeMac_ joined
skids same thing happened with "The Garden" and lots of music venues here in MA. 17:33
not to get too OT.
skids meeting
17:34 toddr_ joined, SmokeMachine left
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:35
jnthn remembered to submit 2, at least :) 17:37
pmichaud I can always submit one more, if there's room for talks.
toddr_ Yep you've beat pmichaud out for talk submissions :)
jnthn I gotta win at something... :) 17:38
pmichaud well, I was trying to leave room for others to submit talks :)
toddr_ Right now you 2 are the only talks
As a rule we've been going for: Everyone gets one talk and then we'll see about more.
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
toddr_ TimToady: What do you want to talk on?
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. :)
TimToady well, I can't guarantee my health, but raiph++ is suggesting 3-min cameos in each of the keynotes
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 :)
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
toddr_ We're also look for a Talk committee so if you're open, email [email@hidden.address] and I'll add you to the list.
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
Damian can't come this year to Austin. I've been nudging him to do a remote talk or a recorded talk
last I heard he was chewing on the idea.
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
(which could also be a good thing :)
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
pmichaud my talk is "Perl 6 on the JVM"
17:44 SunilJoshi left
LlamaRider r: say "a" ~~ /<![b]>/; 17:45
p6eval rakudo 1c9939: OUTPUT«「」␤␤»
LlamaRider how do I negate <[b]> ? 17:46
pmichaud r: say "a" ~~ / <-[b]> / 17:47
p6eval rakudo 1c9939: OUTPUT«「a」␤␤»
LlamaRider thanks
pmichaud ! is a zero-width match
17:47 araujo left 17:48 araujo joined, cognominal left
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␤»
jnthn How in the heck did refactoring multi-dispatch break that...
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
toddr_ Are there other more specific areas that interest you more?
pmichaud time for lunch here - bbiaw 17:54
17:54 cognominal joined
TimToady well...I can't afford to get too deeply into any specific area these days, other than language design itself 17:56
which most people know my opinions on already :)
pmichaud (back for a bit) we still need a talk giving an overview of parallelism in Perl 6 17:57
i.e., the places where it's designed into the language
raiph what about a review of approaches to future bridging between p5 and p6?
TimToady most of what I'll be doing this year is the boring bits of writing a book for O'Reilly
jnthn pmichaud: I was pondering submitting something on that
pmichaud jnthn: me too 17:58
jnthn pmichaud: Thing is, I kinda like to have things to show.
pmichaud but since TimToady++ is the one who knows where the parallel easter eggs are hidden in the spec....
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.
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...
pmichaud: Hm, I'm just very wary of Perl 6 talks about what will happen ;)
pmichaud remember, I ended up giving an impromptu "parallelism in p6" talk at prs last year
TimToady yes, parallelism is at an interesting intersection of spec and implementation just now
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
s/formalish/structured/
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. :)
Well, concurrency more general, but parallel stuff is in there. 18:01
And async, etc.
TimToady maybe we could tagteam such a talk
jnthn ooh :)
pmichaud TimToady: I'd love to do that.
TimToady or maybe we should all get up and talk in parallel :)
pmichaud heh
18:01 fgomez left
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 p: cfdcc70 | jnthn++ | src/QAST/Operations.nqp:
Add nqp::resume(...) for resuming an exception.
p: 38a4fd9 | jnthn++ | t/nqp/44-try-catch.t:
Update test to use nqp::resume(...).

This should make it possible to try and get working in JVM land.
pmichaud we could do a fugue 18:03
TimToady thinks about orchestral scores as a form of parallelism... 18:05
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 <[ ]> ?
pmichaud LlamaRider: <-alpha>
r: say "abc123def456" ~~ / <-alpha> / 18:07
p6eval rakudo 1c9939: OUTPUT«「1」␤␤»
LlamaRider That's a "no" then :) Since I wanted to say "not (dash or alpha)"
pmichaud r: <-alpha-[-]>
p6eval rakudo 1c9939: ( no output )
LlamaRider Now that is something I am seeing for the first time.
pmichaud r: say "abc-def-123" ~ / <-alpha-[-]> / 18:08
p6eval rakudo 1c9939: OUTPUT«abc-def-123␤»
pmichaud ummmmmm
r: say "abc-def-123" ~ / <-alpha-[\-]> /
p6eval rakudo 1c9939: OUTPUT«abc-def-123␤»
pmichaud oh
r: say "abc-def-123" ~~ / <-alpha-[-]> /
p6eval rakudo 1c9939: OUTPUT«「1」␤␤»
pmichaud there, was missing a tilde. :-)
LlamaRider \o/ 18:09
TimToady heh
LlamaRider The <> has great powers unknown to my mortal soul :) Very cool
TimToady n: say "abc-def-123" ~~ / <-alpha-[-]> / 18:11
p6eval niecza v24-34-g4f8f894: OUTPUT«「1」␤␤»
TimToady std: say "abc-def-123" ~~ / <-alpha-[-]> /
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
p6eval std 86b102f: OUTPUT«ok 00:00 44m␤»
TimToady I guess STD doesn't care if - is first inside []
std: say "abc-def-123" ~~ / <-alpha-[x-y]> /
p6eval std 86b102f: OUTPUT«===SORRY!===␤Unsupported use of - as character range; in Perl 6 please use .. (or \- if you mean a literal hyphen) at /tmp/5YMQ0aDXxz line 1:␤------> say "abc-def-123" ~~ / <-alpha-[x-y⏏]> /␤Parse failed␤FAILED 00:00 44m␤»…
TimToady std: say "abc-def-123" ~~ / <-alpha-[x-]> / 18:12
p6eval std 86b102f: OUTPUT«ok 00:00 44m␤»
TimToady or last :)
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.
LlamaRider One more "aha!" moment for me
pmichaud I'm happy to co-present with anyone. :) 18:13
and to drive the process of creating the talk :)
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
I already have submitted 2
So I'm probably the worst person to submit it numbers wise. :)
TimToady can probably figger out how to submit something 18:17
do we also want to submit a What's New?
pmichaud +1 from me 18:18
bbal
TimToady though most of what's new is what the other talks are about...
maybe p5 interop can go in the what's new, assuming things continue to develop as they have been 18:19
jnthn +1 18:20
(to what's new)
toddr_ So the other thing I wanted to discuss was this: ideas.yapcna.org/idea/E7A8E3EC-721B...l-s-future 18:21
Rumor is EU will have a similar panel.
I'm assuming this will be a re-statement of last year's summit in Europe?
TimToady so ya think it needs moderation? :D
toddr_ I'm putting someone in the front row with a tazer for out of control audience members :D 18:22
TimToady only one?
toddr_ Probably better to circle the room. I think you're right
isBEKaml toddr_: you don't tazer them! You show them more perl! :P 18:23
isBEKaml ducks
TimToady maybe the panel's chairs could have shockers built in too
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.
I'm not sure what the buzz words would be
isBEKaml diakopter: that's quite a long list of updates with virtually no information about them? :) 18:25
diakopter well, I could nopaste a screenshot if you like 18:26
dalek p-jvm-prep: 8aefe06 | jnthn++ | / (4 files):
Implement nqp::resume(...).
p-jvm-prep: 5b471d9 | jnthn++ | docs/ROADMAP:
Remove a couple of completed items.
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:28
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
I think the only people who actually got anything done were the 6ers and me
toddr_ didn't the perl5->perl6 converter get revived there?
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
which ... gah. so bored of that.
colomon mst++ 18:31
18:31 kmwallio joined
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
18:32 kmwallio left
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
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.
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
and then spend the rest of this year's SoTV talking about stuff I actually know about ;)
isBEKaml: so far as I can tell, it goes like this 18:36
::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
::NA has a suggestion for such a thing because somebody decided to copy ::EU
toddr_ hasn't really sold me on there being a point to it at all
I just really don't want a 5 vs. 6 war panel 18:37
and will sit on a 5 one if that's what's required to avoid that :)
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.
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
in that it got a lot of people onto the same page
18:41 SamuraiJack_ joined
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
Perl Reunification Summit
isBEKaml TimToady: ah, thanks
TimToady which was held in the town of Perl 18:43
coincidentally :)
jnthn r: my $x = 0; repeat until $x >= 10 -> $another_x { say $another_x; $x++; }
p6eval rakudo 1c9939: OUTPUT«(Mu)␤False␤False␤False␤False␤False␤False␤False␤False␤False␤»
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?
jnthn TimToady: In ^^ what are the semantics of the first iteration meant to be?
isBEKaml TimToady: Yeah, I remember moritz++ blogging about it too.
jnthn TimToady: In so far as "what is passed as the argument"?
mst toddr_: last year's SoTV covered the material
toddr_ SoTV? 18:44
oh
TimToady jnthn: isn't that specced?
jnthn TimToady: sorry, just found it
mst I'll retread a subset of it this year for ::NA
jnthn TimToady: Well, it says it'll be "undefined" :)
mst and then ::EU can have the proper version
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
TimToady: I'm guessing "Mu" is sufficient?
dalek rl6-roast-data: 224f943 | coke++ | / (4 files):
today (automated commit)
[Coke] niecza doubled the # of errors today. 18:46
TimToady thinks Nil is a better example of "no value"
colomon [Coke]: :(
TimToady [Coke]: probably my fault
n: (42 if 0).say 18:47
p6eval niecza v24-34-g4f8f894: OUTPUT«()␤»
TimToady r: (42 if 0).say
p6eval rakudo 1c9939: OUTPUT«Nil␤»
TimToady that's the difference
we're trying to move towards Nil being more like a normal 'undef', and not confuse it with the empty list 18:48
LlamaRider I have started a repo for P5-to-P6 porting tips, contributions are welcome: 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
and it's defined to be equivalent to () 18:50
(when the guard doesn't produce a value)
18:52 SamuraiJack_ left 18:53 kivutar joined
toddr_ So Should I just book a talk for a P6 status update and we'll decide who's doing it later? 18:56
Mostly I need it in the list ATM.
TimToady sure, and we'll concentrate on registering the Parallelism talk
thanks
toddr_ ok 50 mins? 18:57
or 20? or more?
TimToady sounds good
(50)
I'm sure we can do 20 of What's New and 30 of Q&A
though they may end up mixed together 18:58
18:58 wk_ joined
toddr_ Fair enough. I'll write something up. 19:00
19:00 raiph left 19:06 PacoAir left 19:07 isBEKaml left, PacoAir joined
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
And Serialization{Reader,Writer} needs to handle them 19:21
(them == BOOTArrays)
colomon how did "plan *" get back into roast? 19:41
rn: use Test; plan *; ok True;
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:42
..rakudo 1c9939: OUTPUT«ok 1 - ␤»
dalek ast: b7fa842 | (Solomon Foster)++ | S32-num/stringify.t:
Remove "plan *", which is definitely not needed and is obsolete to the best of my knowledge.
19:45
jnthn arnsholt: BOOTArray gets added to the __6MODEL_CORE__ SC 19:51
arnsholt: And in NQPJVM I initialize it as a part of the 6model bootstrap 19:52
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:53
rn: say ($_ * 2 if $_ ** 2 > 3 for 0 .. 5) 19:55
p6eval niecza v24-34-g4f8f894: OUTPUT«() () 4 6 8 10␤»
..rakudo 1c9939: OUTPUT«4 6 8 10␤»
colomon another example of the same issue, this one in for.t
TimToady: ^^ 19:56
arnsholt jnthn: Right, right. I'll try to do something along those lines 19:59
pmichaud back again 20:00
dalek p: cfd60cb | jnthn++ | src/QAST/Operations.nqp:
Better handling of repeat -> $x { ... } code-gen.

Still need a way to let Nil be specified, but at least this doesn't leave it unknown exactly what will be passed in.
kudo/md-nqp: 5c49111 | jnthn++ | src/core/Numeric.pm:
Fix a proto.
20:19 kaare__ left
pmichaud gist.github.com/pmichaud/5172829 # first rough draft of parallelism talk abstract 20:21
TimToady, jnthn: ^^^
afk for 15 20:23
timotimo don't say explicitly, that almost none of those things are implemented anywhere yet :D
implemented as in: actually exploit parallelism and provide full asynchronicity
moritz would much rather see more talks about stuff that's actually implemented 20:28
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:39 rindolf left
jnthn moritz: Looks like a good abstract. 20:40
uh, sorry
pmichaud: Looks like a good abstract.
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:44
jnthn: thanks. I'll wait to see if TimToady has any comments/changes and then work to get it submitted tonight. 20:45
20:48 japhb_ joined 20:53 kivutar left, skids left 21:17 bluescreen10 left 21:29 SmokeMac_ left 21:33 Rix joined
dalek p: b94f739 | jnthn++ | src/guts/multi_dispatch. (2 files):
Make the cache a bit smarter about nameds.
21:48
21:49 cognominal left
TimToady pmichaud: that looks fabulous 21:52
dalek kudo/md-nqp: 495550a | jnthn++ | src/Perl6/Metamodel/BOOTSTRAP.pm:
Allow common postcircumfix calls to be cached.

Before, they could not be because some candidates accepted named args. Now, the common named-argumentless case can be cached.
21:53
21:55 cognominal joined 22:04 fgomez joined 22:08 thou left 22:25 raiph joined
dalek kudo/md-nqp: 3b39d8b | jnthn++ | src/Perl6/Metamodel/BOOTSTRAP.pm:
Remove an optimization that made things wrong.
22:27
kudo/md-nqp: f94fb8b | jnthn++ | src/Perl6/Metamodel/BOOTSTRAP.pm:
Remove bogus decontainerization.
22:29 skids joined
dalek ast: e143018 | (Timo Paulssen)++ | S0 (2 files):
tests for RT #76884 and #75320
22:30
22:41 labster joined
dalek ast: 5a95f71 | (Timo Paulssen)++ | S06-operator-overloading/imported-subs.t:
improve test for not importing not exported operators.
22:49
22:49 LlamaRider left 22:52 spider-mario left 22:58 cognominal left
dalek p: ed35b15 | jnthn++ | src/ops/nqp.ops:
Ensure we don't overflow fates buffer.

A recent Rakudo change used fates without having a fate array in the first slot. This led to a buffer overflow, which showed up (at least on Win32) as spectest failures. This fixes it not to overflow.
23:06
23:08 Rix left 23:18 census left 23:24 LlamaRider joined
dalek kudo/md-nqp: 150bdc9 | jnthn++ | src/Perl6/Metamodel/BOOTSTRAP.pm:
Don't recalculate candidate lists without need.
23:29
kudo/md-nqp: 19d9ae0 | jnthn++ | src/Perl6/Metamodel/BOOTSTRAP.pm:
Fix logic for finding all possible candidates.
kudo/md-nqp: c9e3ae1 | jnthn++ | src/ (2 files):
Use NQP-based dispatcher for deferral also.
kudo/md-nqp: c4e8af0 | jnthn++ | src/ (3 files):
Rip out most of the C-based multi-dispatcher.

Only leftover bits are the compile-time dispatch analysis used by the optimizer, which still needs porting.
jnthn Enough for today. 'night, #perl6 23:33
timotimo night jnthn :) 23:36