»ö« 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.
grondilu r: my @a = <a b c d e a b c>; say @a.classify({$_}).list.map( { $_.key => $_.value.elems } ) 00:01
p6eval rakudo 9c59a1: OUTPUT«a 2 b 2 c 2 d 1 e 1␤»
grondilu r: my @a = <a b c d e a b c>; say @a.classify({$_}).list.map( { $_.key => $_.value.elems } ).hash
p6eval rakudo 9c59a1: OUTPUT«("a" => 2, "b" => 2, "c" => 2, "d" => 1, "e" => 1).hash␤»
skids r: my %count; ++<<%count{1,2,3,1}; %count.say # should this work?
p6eval rakudo 9c59a1: OUTPUT«("1" => 1, "2" => 1, "3" => 1).hash␤»
spider-mario whoa. :D 00:02
I like it.
r: <a b c d e a b c>.classify({$_}).kv.map(* => *.elems).perl.say 00:03
p6eval rakudo 9c59a1: OUTPUT«("a" => 2, "b" => 2, "c" => 2, "d" => 1, "e" => 1).list␤»
00:03 wk left
skids r: my %count = { 1 => 3 }; ++<<%count{1,2,3,1}; %count.say # works when no autovivify 00:03
p6eval rakudo 9c59a1: OUTPUT«("1" => 5, "2" => 1, "3" => 1).hash␤»
spider-mario I like « more than << though.
skids well, of course It was just less keystrokes.
spider-mario r: constant @a = <a b c d e a b c>; my %count; ++«%count{@a}; %count.perl.say; 00:04
p6eval rakudo 9c59a1: OUTPUT«("c" => 1, "a" => 1, "d" => 1, "b" => 1, "e" => 1).hash␤»
spider-mario oops?
skids Right it appears broken when autovivifying.
sorear r: <a b c d e a b c>.classify({$_})>>.elems.perl.say 00:05
p6eval rakudo 9c59a1: OUTPUT«("a" => [1, 1], "b" => [1, 1], "c" => [1, 1], "d" => [1], "e" => [1]).hash␤» 00:06
spider-mario r: constant @a = <a b c d e a b c>; my %count = @a.map: * => 0; ++«%count{@a}; %count.perl.say;
p6eval rakudo 9c59a1: OUTPUT«("a" => 2, "b" => 2, "c" => 2, "d" => 1, "e" => 1).hash␤»
skids my %count; %count{1,2,3,1}»++; %count.say; # postfix also
oops
r: my %count; %count{1,2,3,1}»++; %count.say; # postfix also
p6eval rakudo 9c59a1: OUTPUT«("1" => 1, "2" => 1, "3" => 1).hash␤»
00:07 spider-mario left
grondilu just watched the J implementation of entropy on RosettaCode and is quite impressed: 00:21
entropy=: +/@:-@(* 2&^.)@(#/.~ % #)
that's pretty cool 00:22
TimToady looks pretty entropic to me...
grondilu lol, good one 00:23
shouldn't { $^x } be the default argument to classify? 00:27
00:29 benabik joined 00:30 pmurias left 00:33 araujo left 00:37 grondilu left 00:43 lustlife joined 00:46 jerome left
TimToady phenny: tell grondilu in this case the desire for that default to classify means you want a bag instead :) 00:56
phenny TimToady: I'll pass that on when grondilu is around. 00:57
00:58 anuby joined 01:00 jerome joined
sorear n: bag(<a b b c c c>).perl.say 01:00
p6eval niecza v24-23-g0520c7c: OUTPUT«Bag.new({"a" => 1, "b" => 2, "c" => 3}.hash)␤»
TimToady rosettacode.org/wiki/Entropy#Perl_6 # new entry
sorear n: bag(<a b b c c c>).hash.perl.say 01:01
p6eval niecza v24-23-g0520c7c: OUTPUT«{"a" => 1, "b" => 2, "c" => 3}.hash␤»
TimToady well, revised entry
I used .bag.values
colomon++ for the bags :)
and grondilu++ for the entry 01:02
there's probably a way to get rid of the other map too, but readability might suffer 01:03
this solution also avoids calling .elems repeatedly 01:08
01:18 hypolin joined 01:38 raiph_ left, raiph left
TimToady pugs: async { sleep 01:40
p6eval pugs: OUTPUT«*** ␤ Unexpected end of input␤ at /tmp/46g46tIIZg line 2, column 1␤»
TimToady pugs: async { sleep $_; .say } for (1..5).pick(*)
p6eval pugs: OUTPUT«pugs: Missing required parameters: $_␤pugs: Missing required parameters: $_␤pugs: Missing required parameters: $_␤pugs: Missing required parameters: $_␤pugs: Missing required parameters: $_␤»
TimToady pugs: for (1..5).pick(*) -> $x { async { sleep $x; $x.say } } 01:41
p6eval pugs: ( no output )
TimToady pugs: for (1..5).pick(*) -> $x { async { sleep $x; $x.say } }; sleep 5
p6eval pugs: OUTPUT«*** Unsafe function 'sleep' called under safe mode␤ at /tmp/Wk6IXrSBPd line 1, column 58 - line 2, column 1␤»
01:45 gdey left 01:53 Chillance left 02:15 fgomez left 02:23 fgomez joined 02:27 census left 02:31 araujo joined 02:41 dayangkun left 02:44 Chillance joined, dayangkun joined, dayangkun left 02:52 dayangkun joined, dayangkun left 03:25 orafu left 03:26 orafu joined 03:28 raiph__ joined, raiph_ joined, raiph joined 04:02 alec__ joined 04:03 gdey joined 04:17 gdey left 04:24 xinming joined 04:27 xinming_ left 04:35 SamuraiJack joined 04:37 grondilu joined
grondilu What would you guys think of adding rosettacode.org/wiki/Entropy#Perl_6 to the best-of-rosettacode in perl6-examples? 04:37
phenny grondilu: 00:56Z <TimToady> tell grondilu in this case the desire for that default to classify means you want a bag instead :)
grondilu needs to read about sets and bags 04:38
04:43 preflex_ joined 04:45 preflex left, preflex_ is now known as preflex 04:55 aindilis joined 05:07 alec__ left 05:30 raiph493 joined 05:45 Chillance left 05:46 alec__ joined 05:49 fgomez left 05:51 fgomez joined 05:52 SamuraiJack left 05:54 odoacre_ is now known as odoacre 06:01 fgomez left 06:02 fgomez joined
moritz 4\o 06:06
timotimo division by o error 06:14
moritz "you cannot backslash that" 06:15
sorear o/ moritz, or hi Ronja, whichever is appropriate :) 06:24
timotimo "Ronja discovers the Keyboard. it's very effective!" 06:26
06:33 Yu joined, Yu left
timotimo i'm not sure why the log(2) R/ entropy is outside the entropy function, to be honest 06:36
(re: entropy rosettacode example)
TimToady was wonderin' about that as well 06:38
06:38 alec__ left, mberends joined 06:45 alec__ joined 06:47 domidumont joined 06:48 quester joined, FROGGS joined 06:55 kaleem joined 06:58 sqirrel joined
grondilu timotimo: I just thought using bit as a unit was too arbitrary. So I suggested using natural units for the function, and let the caller make the conversion outside. 07:06
(natural units as in natural logarithm) 07:07
07:10 baest_ is now known as baest
grondilu I think it's a cool function. We should consider adding it to core. So we can do stuff such as: say @a.sort: :by(*.entropy); 07:17
07:21 domidumont left 07:22 domidumont joined 07:31 domidumont left 07:39 alec__ left 07:45 domidumont joined, SamuraiJack joined
moritz or just add a sub 07:55
then you can do @a.sort: &entropy
in fact *.entropy is one char more than &entropy :-) 07:56
it seems that Perl 5 has conditioned people so much to write a block after map that many people write things like map { function($_) }, @array even in Perl 6 08:03
diakopter rn: map {{{{{ say $_ }}}}}, {{{{ 5, 6 }}}}() 08:06
p6eval rakudo 9c59a1, niecza v24-23-g0520c7c: OUTPUT«5␤6␤»
moritz WAT 08:07
diakopter what? :)
08:09 quester left
diakopter rn: map {{{{{ say 33; say $_ }}}}}, {{{{ 5, 6 }}}}() 08:10
p6eval rakudo 9c59a1, niecza v24-23-g0520c7c: OUTPUT«33␤5␤33␤6␤»
timotimo getaddrinfo failed: feather.perl6.nl: Success - tee hee 08:36
oh yikes. need to build a new rakudo on a train to get the int64 type :| 08:38
08:38 Ovidius left
timotimo and panda rebootstrap, too. but i'm on a terrible connection :( 08:38
moritz Timbus: I've tried Net::IRC::Bot, and it doesn't join the channels I pass to the constructor :( 08:40
dalek ast: 84ac9e6 | moritz++ | S (3 files):
unfudge some tests for rakudo
08:42
Timbus helo 08:43
oh is the parrot bug fixed?
diakopter don't set me up for that one 08:45
moritz Timbus: sockets seem to be mostly fine on rakudo again 08:46
Timbus so they do 08:47
I'm working on it. seems like an event isnt being fired 08:48
moritz great
I want to get the _ilbot running on rakudo :-) 08:49
arnsholt That'll involve DBIish, which will involve NativeCall, right? O:) 08:50
08:50 Ovid joined, Ovid is now known as Guest2304
timotimo arnsholt: what do i have to do to be able to use the zmq constants? 08:52
importing Net::ZMQ or Net::ZMQ::Constants won't give me ZMQ_PAIR for example 08:54
arnsholt That's odd... 08:55
Importing Net::ZMQ::Constants should do it
Timbus moritz, it seems the do_dispatch method is in fact.. not do-ing. it's jnthns special workaround for timtoady breaking the '*.method' syntax :/ 08:56
so its some black magic code I can't fix 08:57
08:58 wk joined
Timbus where can I find the docs for cando 08:58
timotimo arnsholt: can you try it yourself?
arnsholt I'm giving a lecture in 15 minutes, so I don't have time right now, but I'll give it a whirl when I'm done (a bit after 12) 08:59
timotimo OK :)
sorear arnsholt: oo, what do you teach 09:00
arnsholt Introductory computational linguistics/NLP 09:01
moritz Timbus: you can do something like
arnsholt Quite possibly the hardest thing I'm doing right now
I have to forget pretty much everything I know about what I'm teaching to be able to explain it properly =) 09:02
moritz Timbus: for @.modules -> { try $mod.*"$method"($event) }
Timbus is that a Good Thing to do? 09:03
moritz better than not working at all
Timbus :I too shay
moritz r: try 42.sqrt(1, 2, 3); say $!.WHAT
p6eval rakudo 9c59a1: OUTPUT«X::AdHoc()␤»
moritz :(
r: try 42.sqrt(1, 2, 3); say $! 09:04
p6eval rakudo 9c59a1: OUTPUT«Too many positional parameters passed; got 4 but expected 1␤ in method sqrt at src/gen/CORE.setting:3129␤ in block at /tmp/QOGmnBw_4D:1␤␤»
moritz r: try "a".substr(Mu); say $!
p6eval rakudo 9c59a1: OUTPUT«Nominal type check failed for parameter '$start'; expected Any but got Mu instead␤ in method substr at src/gen/CORE.setting:3901␤ in block at /tmp/cLaOxfyhSd:1␤␤»
moritz r: try "a".substr(Mu); say $!.perl
p6eval rakudo 9c59a1: OUTPUT«X::AdHoc.new(payload => "Nominal type check failed for parameter '\$start'; expected Any but got Mu instead")␤»
sorear arnsholt: very cool
moritz I really need to turn those into typed exceptions 09:05
timotimo oh wow. i'm running into some strange trouble 09:10
r: sub foo(int $flag) { say $flag; }; foo(1); 09:11
p6eval rakudo 9c59a1: OUTPUT«1␤»
timotimo weird!
09:11 rindolf joined 09:13 sitaktif left
moritz Timbus: if I /msg the bot, it receives a 'said' event 09:15
Timbus does it react to said event
timotimo i do $alice.send("foo", 0); and it says: Cannot call 'send'; none of these signatures match:
:(Net::ZMQ::Socket : Str $message, int $flags, Mu *%_)
:(Net::ZMQ::Socket : Net::ZMQ::Message $message, int $flags, Mu *%_)
i am very confused. what could i be doing wrong?
Timbus man i was so proud of that pun 09:16
moritz Timbus: well, I have a say $ev.perl in method said, and says that :-)
timotimo that was a good pun.
Timbus oh. well alright then it just can't seem to join channels then? maybe it's not sending the right strings 09:17
timotimo (interestingly, when i create a my int $flagzero = 0; and pass that, i get a huge error with a stacktrace 09:18
moritz Timbus: what event should trigger the join?
timotimo: what happens if you declare $flags as Int, not int ?
timotimo "none of these signatures match" 09:19
Timbus moritz, end of motd
"connected"
moritz :cameron.freenode.net 376 ilbot6 :End of /MOTD command.
Dispatching connected
09:19 donaldh left
moritz Timbus: so Net::IRC::Handlers::Default should handle it? 09:19
Timbus yes 09:20
and um. it just worked for me. I added the autoident module to debug soemthing and now its joining the channels
moritz adds more debug statements
Timbus augh
09:24 donaldh joined
moritz oh yes, when I add autoindent, it works for me too :-) 09:24
09:24 sitaktif joined
Timbus what even 09:24
maybe um. it needs to flush. 09:25
moritz calls the plumber
diakopter Mario and Luigi arrive 09:26
moritz Could not parse the following IRC event: :ilbot6!~Clunky@p579E9305.dip.t-dialin.net JOIN #bottest
Timbus heh
what 09:27
09:37 fhelmberger joined
jnthn morning o/ 09:39
moritz \o jnthn 09:40
nwc10 jnthn: tests still pass (except the one that needs ICU) 09:43
jnthn nwc10: Nice :) 09:44
09:45 rindolf left, rindolf joined
moritz Timbus: very weird. I've just put an event it said it couldn't parse into the parser directly, and it parsed 09:46
oh, trailing \r 09:47
Timbus i was thinking that
moritz Timbus: fwiw it seems that the $conn.get.encode.decode hack can be removed 09:49
ok, Net::IRC is slowly becoming usable for me :-) 09:50
09:52 rindolf left, rindolf joined
moritz hey, I could use the ping event handler to ping my database to prevent connection timeouts 09:53
Timbus lol 09:54
thats actually pretty smart
09:57 cogno joined
moritz I have two loggers running, one for freenode, one for irc.perl.org 09:57
and the latter would occasionally time out its DB connection
but the one on freenode never did
because there were always joins or leaves in #perl6 :-)
a bit comparable to who spam is the heart beat of the email system 09:58
s/who/how/
09:58 cognominal joined
sorear moritz: park the other one in #p5p ;) 09:58
09:58 hypolin left
moritz sorear: they don't want logging :-) 10:00
10:01 wk left
timotimo i suppose i can forget about net zmq for now 10:02
10:03 woolfy joined 10:05 daxim joined 10:07 cogno left
timotimo this "cannot call" error is *so* weird to me 10:09
jnthn timotimo: Link?
(to something where I can see the code) 10:10
timotimo oh, i can quickly upload it
10:11 rindolf left, rindolf joined
timotimo sprunge.us/JFSI - put this into t/01-recv-send.t and run arnsholt/Net-ZMQ with its tests 10:11
10:12 labster left
Timbus so without the autoident in place, the bot totally dies after trying to send the JOIN command. I'm pretty baffled 10:14
10:17 anuby left
timotimo i'll be taking my leave for most of today now 10:21
jnthn timotimo: OK. I'm busy with $dayjob stuff for the moment but will see if I get a moment to look a bit later 10:22
10:24 rindolf left 10:25 rindolf joined 10:32 rindolf left 10:35 spider-mario joined 10:40 cogno joined 10:46 rindolf joined 10:48 rindolf left 10:51 cogno left 11:41 cognominal left 11:47 cognominal joined 11:49 cognominal__ joined 11:52 cognominal left 11:53 census joined 11:55 cognominal__ left
moritz www.reddit.com/r/programming/commen...ce/c8j5dla "Cassandra (a seer at Delphi?) was cursed by the gods to (a) give perfectly reliable predictions of the future that (b) would not be believed by anyone. Sort of the reverse of being an Economist." 12:03
apologies to all the ecomists out there
arnsholt ^_^ 12:04
mberends :-) 12:05
arnsholt I think the economists I know would sort of agree to that as well =)
12:06 SmokeMachine joined, brrt joined 12:07 ilbot6 joined
census moritz: that is very true though! economists cannot predict the future well. that is why they call it the dismal science, in part 12:08
moritz though to be fair, others too have troublle predicting the future 12:10
like pyschologists
mberends and gamblers 12:11
moritz learns a lot about the IRC protocol
census just that the stakes feel high with the economy
it is not a true science . . . people are crazy . . . and until we get inside everybody's heads . . . . 12:12
masak both economy and psychology are brain-complete. which makes them very difficult indeed. 12:13
census economists and psychlogists can really only study the past with some degree of certainty, and even that is not at 100% 12:14
12:15 kaleem left 12:19 ilbot6 left 12:20 ilbot6 joined
moritz fwiw ilbot6 doesn't log anything yet, except to STDOUT 12:24
it seems that Net::IRC needs to learn a bit out topics and stuff
jnthn ilbot6: lol hi!
moritz it produces output like this: perlpunks.de/paste/show/512763b8.220e.1e5 12:25
arnsholt timotimo: So, ZMQ_PAIR works for me on my machine? 12:26
jnthn moritz++ # cooking dogfood
arnsholt moritz++
masak moritz++ 12:27
census moritz+++++
moritz Timbus: am I right in assuming that Net::IRC doesn't yet track the nicks per channel? 12:28
(I need that for mapping leave events to a channel) 12:29
Timbus $ev.state<channels> 12:31
moritz oh, cool
Timbus should have the users in each channel
.. maybe
moritz :-)
12:32 ilbot6 left, ilbot6 joined
Timbus my $ulist = $ev.state<channels>{ $ev.where }; 12:34
wow i don't even remember writing this
so hows the ram usage :v 12:35
moritz Timbus: about 470MB virtual mem
Timbus: will be interesting to see after a few hours
12:35 ilbot6 left, ilbot6 joined
Ulti yay Net::IRC! easily the most fun I've had playing with IRC 12:36
tadzik I still love the old, hated, deprecated Net::IRC from Perl 5
12:36 cognominal joined, cognominal left 12:37 cognominal joined
Timbus <moritz> it produces output like this: perlpunks.de/paste/show/512763b8.220e.1e5 12:37
is um, this not correct?
moritz Timbus: it's fine; that was just an illustration
Timbus: though the .where for the topic is a bit off
it sets .where to nick of the bot, not the channel name 12:38
Timbus oh
i'll have to special-case that 12:39
moritz probably 12:40
Timbus: github.com/TiMBuS/Net--IRC/pull/4 my patches so far
Timbus hmm what kind of event is it? a notice?
Ulti how did I get an email about your patches :S
moritz :cameron.freenode.net 332 ilbot6 #perl6 :»ö« Welcome to Perl 6! ... 12:41
Ulti: you subscribe to the repo?
Timbus lol moritz, I've locally added all of these (except for .gist) 12:42
ah well, ill just pull yours to save a commit and push
Ulti guess so
I have an emotional content tracking bot written with Net::IRC so guess I must have subscribed to test 12:43
Timbus also, any research into why the first .sendln after a motd event fails would be greatly appreciated
12:44 fgomez left
Timbus it actually kills the callback 12:44
and a catch block can't even recover anything
moritz Timbus: is that why I need autoident?
Timbus yes
12:45 ilbot6 left
moritz I was wondering why the server didn't complain about wrong password :-) 12:45
Timbus i added a print statement to sendln, and then made autoident send the password twice. it only tries once
reeeally bizzare
moritz Timbus++ # Net::IRC 12:46
it's not perfect by far, but very hackable
12:46 ilbot6 joined
Timbus it might work well with muevent now 12:47
it used to stall and break after a few minutes
tadzik and unbreak after another few 12:48
I still don't know why was that
and also, it may be that it can work with MuEvent without any code changes, like the LWP::SImple hack
maybe there should be a module, Asynchronize::Me, which makes all sockets non-blocking :)_ 12:49
12:50 fgomez joined
Timbus it was only like 5 lines of code i need to change, so that's okay. 12:50
i should switch to it if it works, because i irc bots really need nonblocking IO 12:51
Ulti oh dear... corky.net/dotan/log/images/perl6-watchmen_a.jpg 12:57
huf whaa :) 13:00
moritz \o/ somebody cared enough about Perl 6 to make a cartoon about it
tadzik :)
13:01 cognominal left
Ulti moritz: lol, that's the correct response heh 13:06
13:07 cognominal joined
masak it's an interesting subdivision, though. those who like it just like it. those who don't are really vocal in their dislike. 13:11
daxim perl6-watchmen_a.jpg: C | N > K 13:13
Ulti I like Camelia just not as the official logo, like imagine if IBM had Camelia as their logo... all the staff would have to stop wearing suits! What would happen to the wold then? :D 13:14
moritz taylors would go bankrupt?
masak we're not IBM. 13:19
dalek p/new-packfile-api: a93c7c8 | (Gerhard R)++ | src/ (2 files):
Switch to new packfile API.

This splits the stage 'evalpmc' into two stages 'pbc' and 'init', making --target=pbc work
13:20
p/new-packfile-api: 529f351 | (Gerhard R)++ | t/qast/ (2 files):
Adjust tests
p/new-packfile-api: c1675fc | (Gerhard R)++ | src/stage0/ (9 files):
Update stage0 files.

This is necessary as we're doing a breaking change, relying on a new Parrot API
timotimo arnsholt, did you see my sprunge? 13:21
13:23 skids left
jnthn Oops, rebootstrapping in a branch is asking for trouble... 13:23
(since merging the stage0 files is basically impossible) 13:24
masak d'oh! 13:25
13:31 jaldhar left, daxim left
[Coke] when merging generated files, I always ignore the merge and regenerate them. 13:38
(based on the merged source)
will that work here also?
moritz only if the source changes after that don't depend on the features that the bootstrap brought in 13:39
13:46 not_gerd joined
not_gerd o/ 13:46
yes, bootstrapping was tricky
phenny: tell pmichaud I resubmitted pull requests for my packfile API work ( github.com/parrot/parrot/pull/937 github.com/perl6/nqp/pull/76 github.com/rakudo/rakudo/pull/106 )
phenny not_gerd: I'll pass that on when pmichaud is around.
not_gerd phenny: tell pmichaud it *did* turn out to be a two-way breaking change, so applying them might be tricky with regard to the release policy you outlined in #parrotsketch 13:47
phenny not_gerd: I'll pass that on when pmichaud is around.
moritz wait... shouldn't we have had a rakudo release yesterday?
jnthn uh
...yes.
moritz tadzik was supposed to do it
tadzik: how is your release schedule? :-) 13:48
jnthn 2013-02-21 Rakudo #61 tadzik
masak oh! I completely forgot about the release.
jnthn ;-)
tadzik oh, a release
masak tadzik: dude, we need this done yesterday! :P
tadzik :D
moritz :-)
tadzik dangit, forgot completel;
I'll roll it out today
masak as did everyone else, it seems.
++tadzik 13:49
13:49 cognominal left
moritz any volunteers for the Star release this month? 13:50
dalek kudo/nom: a763a18 | moritz++ | docs/ChangeLog:
update ChangeLog
13:53
moritz it's nice to see that even though jnthn++ has focused his effort on the jvm port, rakudo-on-parrot still has seen some pretty nice improvements this month 13:54
13:55 cognominal joined
jnthn Yes, I'm really impressed how much got done with me mostly just helping provide the odd pointer to things. :) 13:58
moritz r: $_ = 'abc'; /.../; say ~$/ 14:01
p6eval rakudo 9c59a1: OUTPUT«abc␤»
moritz r: $_ = 'abc'; rx/.../; say ~$/
p6eval rakudo 9c59a1: OUTPUT«abc␤»
14:01 cognominal left
moritz it works here; why do my tests fail? :( 14:01
r: $_ = 'abc'; /.../; rx/../; say ~$/ 14:02
p6eval rakudo 9c59a1: OUTPUT«ab␤»
14:02 bluescreen10 joined
moritz ah, because I exchanged $/ and $_ in the call to is() 14:04
14:04 daxim joined, cognominal joined 14:05 SmokeMachine left 14:06 SmokeMachine joined
dalek ast: 1020dfb | moritz++ | S02-literals/quoting.t:
test // and rx// literals in sink context
14:06
moritz jnthn: do you have some more ideas for optimizing stuff in sink context?
14:10 SamuraiJack left 14:13 shinobicl joined 14:15 cognominal left 14:19 PacoAir joined 14:20 JimmyZ joined 14:21 Psyche^ joined 14:24 Patterner left, Psyche^ is now known as Patterner 14:26 FROGGS left
jnthn moritz: Not right off. Though now we have sink context to avoid it, we may want to consider giving the other looping constructs the spec behavior when not in sink context 14:27
14:53 skids joined
skids rn: my $a; my $b; my $d; my $c; ($a,$b,$c,$a,$c,$a,$b,$c,$d)»++; ($a,$b,$c,$d).say; # vivification in hyper seems to work outside of a hash FWIW (see last night backlog) 14:56
p6eval rakudo a763a1, niecza v24-23-g0520c7c: OUTPUT«3 2 3 1␤»
14:56 kaare_ joined 14:57 uvtc joined
skids skids: my @a; @a[0,1,2,3,4,1,3]»++; @a.say; # But array keys also have trouble. 14:57
rn: my @a; @a[0,1,2,3,4,1,3]»++; @a.say; # But array keys also have trouble.
p6eval rakudo a763a1, niecza v24-23-g0520c7c: OUTPUT«1 1 1 1 1␤»
skids ELOWCAFFEINE.
[Coke] skids: GAH GO FIX THAT RIGHT NOW HERE'S SOME RED BULL GO GO GO GO
uvtc After all the recent hullaballoo about renaming Perl 5, it occurred to me that there's an omission on the Perl 6 homepage. It seems to me that there should be a small second paragraph (in the blue area at the top): 14:58
"If you like Perl 5, we think you'll like Perl 6 even more."
skids Though I wonder how the language in S03 on »+=» and unions/intersections of keys applies to unary hyperops. 14:59
That could all be "to spec" by some twisting maze of inferences and deductions. 15:01
uvtc Maybe the omission is intentional though, and I just haven't picked up on the reasons for it. 15:04
pmichaud uvtc: perhaps instead of implying what we think others will like/dislike, we can phrase it as our preference. "We like Perl 5. We like Perl 6 even more." 15:05
phenny pmichaud: 13:46Z <not_gerd> tell pmichaud I resubmitted pull requests for my packfile API work ( github.com/parrot/parrot/pull/937 github.com/perl6/nqp/pull/76 github.com/rakudo/rakudo/pull/106 )
pmichaud: 13:47Z <not_gerd> tell pmichaud it *did* turn out to be a two-way breaking change, so applying them might be tricky with regard to the release policy you outlined in #parrotsketch
uvtc pmichaud++ 15:06
census pmichaud++++ :) 15:08
I do not worry about people using perl6 when it is ready. . . . 15:09
I, for starters, cannot wait :)
uvtc census: My understanding is, if you're ok with current performance, and you're willing to ask a lot of questions, and maybe file some bug reports, there's no need to wait. 15:11
tadzik early adopters, eh 15:16
15:19 rindolf joined
uvtc tadzik: personally, I'm waiting for beginner tutorial material. Otherwise I'd be asking way too many questions here and making a nuisance of myself. And also, a solid beginner tut would be a signal to me that says Perl 6 is ready for folks who just want to use it to make apps/websites and so on --- not just implementors/testers. 15:19
tadzik hm 15:21
masak wrote a nice one, and there's a book. Anything in particular that you find not good enough about htem?
uvtc Last time I looked, there were too many things missing. I remember wondering about copy semantics (does assignment make me a copy, or do I get a reference to the thing?), what `:=` does, how to put arrays in arrays/hashes, the business with lists vs. arrays vs. parcels. 15:26
15:27 not_gerd left 15:28 adu joined
uvtc And asking for details tends to either bring up terminology I don't understand (--> public yak shaving), and eventually leads to something similar to "go read the synopses" --- and those are a bit too dense for me (they seem to use lots of unfamiliar terminology/lingo, to me anyhow). 15:28
tadzik hm 15:29
uvtc For example, I asked something a while ago, and the answer involved know what lexpads were. I didn't want to keep asking question after question, so dropped it.
s/know/knowing/ 15:30
(I mean, I didn't want to bug the list with question after question. I'm happy to ask them to myself. :) )
15:30 adu left 15:31 adu joined
brrt uvtc, ask it again :-) 15:31
15:36 wk joined
uvtc brrt: well, thank you for the invitation. :) But at some point, I have to surmise that if the Perl 6 community wants to bring in more users who just want to use the language to make stuff that interests them (not necessarily Perl 6 language development/implementation/tooling), they'll knuckle down for a short while and write a solid beginner tutorial so that the list doesn't need to be flooded with my sort of beginner questions. :) 15:37
brrt uvtc, that is totally fair 15:38
there is an open source using perl 6 book
the examples actually ow
work
github.com/perl6/book
if that isn't enough to get you started, then either a): perl6 doesn't work as advertised or b): the book isn't good enough 15:39
and whichever, you're very welcome to report bugs :-)
15:40 wk left 15:45 hash_table joined
uvtc tadzik: (or anyone else) if you're thinking of doing some writing, I created a little Perl 5 script to process and organize chapters (written in Markdown) into an easily navigable whole: www.unexpected-vortices.com/sw/gouda/index.html . I can't say I'm a fan of Pod, though I suspect many here are. 15:45
tadzik that's very nice
can we rewrite that in Perl 6? :)
15:45 domidumont left
uvtc Of course. Feel free. :) It shells out to Pandoc for the heavy lifting. 15:46
I even made the default styling a bit higher contrast recently, just for masak. 15:47
masak I'm curious what you'd think about my June 2011 blogging. search for "June 1 2011" on strangelyconsistent.org/blog/list-of-posts for the first post. 15:52
(and yes, every time I do that, I realize that I should have a dedicated page for those posts)
ooh, gists. :)
masak makes one
15:55 fhelmberger left 15:57 odoacre left, odoacre joined
masak uvtc: here you go: gist.github.com/masak/5014406 15:59
uvtc masak: I think you're a skilled writer, and I like reading what you write. I think your June blog posts (I haven't read them all) are good at showing off some nice Perl 6 features. I think that, as a tutorial, they fall short in leaving out the sorts of details I mentioned above.
masak oh, I haven't read the backlog carefully. 16:00
[Coke] is reminded to add "hacking on perl6 book" to his increasingly large list of things to do.
masak ah -- seems you want more detail, yes.
uvtc The Perl 6 Book is one approach. Example-driven. Another approach that I personally find more useful is the one used ... (hm... lesses, where is it used) well, the one used in the Alex Martelli's "Python in a nutshell" book. Chapter 4. It starts with the bits and pieces, and quickly moves up from there. 16:04
16:04 JimmyZ_ joined
uvtc The camel does this too (3rd ed, Part II: The Gory Details) but more in-depth. 16:06
census uvtc: I agree that masak is an excellent writer! He wrote some amazing perl5 tutorials
16:07 JimmyZ left, JimmyZ_ is now known as JimmyZ, rindolf left
uvtc masak: regarding your june 2011 blog posts, I added links to some of them, a while back, to wiki.perl6.org/Categorized%20External%20Articles . 16:08
masak uvtc: nice. 16:09
uvtc I'm not sure what happened to the front page of the wiki. I set it up a certain way, but it's much different now. 16:10
moritz then probably some edits happened 16:12
the fate of wikis that don't die :-) 16:13
it also seems that the security question for signup is gone
uvtc Just added wiki.perl6.org/Various%20Tutorials 16:14
tadzik uvtc++ 16:15
and now I wonder: should we put that on perl6.org/documentation?
I wanted the latter to be "you don't need to ask on the channel because everything is there"
16:16 adu left, adu joined
masak +1 16:16
uvtc Sidenote: there's already a link to that "Categorized External Articles" wiki page on the perl6.org/doc page (I added it a while ago, when I expected to be making more updates to that particular wiki page). 16:19
tadzik: if you were to start a tadzik/perl6-tut github project using gouda (or a Perl 6 port of gouda), that would be ... well, let's just say, I'd have to start referring to you as "batman". If someone came up to me and said, "hey, you know that tadzik guy?", I'd say, "Oh, that cat? He's batman. That's who he is." 16:22
tadzik uvtc: okay, I'm convinced now
you'll have that by sunday
uvtc \o/ 16:23
moritz do pandas eat gouda?
tadzik that's just too tempting
jnthn No, they can't bear it
tadzik C'est ne pas una eukaliptus
or however you write that
16:23 JimmyZ left
moritz tadzik: that's koala food 16:24
tadzik oh, right
uvtc: is gouda Perl 5 now?
uvtc yes. It used to be Python.
tadzik I wonder how far can Text::Markdown and Template::Mojo take me
felher What about adding an optinal :$start-value to reduce, to turn it into a potential foldl? 16:25
uvtc It uses Pandoc because, well, see www.unexpected-vortices.com/sw/goud...ementation
felher *optional
tadzik I guess I can use pandoc as well
uvtc tadzik: the wiki uses gitit, which uses Pandoc. 16:26
moritz felher: nothing stops you from simply supplying the start value as the first element
tadzik github.com/uvtc/gouda/blob/master/gouda.pl looks simple enough 16:27
uvtc tadzik: yup
tadzik cool
ok, time to decomutee and release rakudo asap :)
felher moritz: you mean like ($start-value, @list).reduce?
tadzik beams down
uvtc Personally, I found the output as it is to be much easier to navigate than comparable Sphynx output (what Python+reST uses). 16:28
felher (if i want to use the method form, of course)
moritz: yeah, guess you are right. Fair enough :) Thnx :) 16:29
16:40 brrt left 16:52 Chillance joined 16:53 donaldh left
tadzik quick, a pm group for a release! 17:01
/o\
lizmat drinkers.pm? 17:02
tadzik I just thought about that one
great minds thing alike, eh? :)
I don't see a reason why not
TimToady is drinking coffee 17:03
lizmat :-)
moritz drinkers.pm for hosting strangelyconsistent.org/blog/sweet-ports ?
TimToady hah, made it look like lizmat++ smiled at my joke 17:04
moritz TimToady: lizmat spoke before you
17:04 daxim left
lizmat TimToady: not on my screen :-) 17:04
TimToady only on my screen then
we need a global serialization protocol... 17:05
masak ah, reference frames :D
lizmat strangelyinconsistent then
moritz after the autopun, now the indipun: works only for one individual
TimToady we need to send all our messages through the ilbot
moritz TimToady: it's enough to read them all through ilbot :-)
lizmat il gotten messages ?
masak moritz: "it's funny from inside my cranium!" :)
TimToady clogs masak's cranium 17:06
masak ow
lizmat I hear there is a lot of cranium clogging going around
TimToady ir, yeah 17:07
lizmat but i hear it usually referred to as "flu"
TimToady
.oO(One flu over the parrot's nest...)
census oh no :( 17:08
i'm very sad to hear :(
masak census: chances are you're distraught over a joke... :) 17:09
census oh good . . i am very happy to hear it is only a joke ;) 17:10
dalek p: 883fd06 | tadzik++ | VERSION:
bump VERSION to 2013.02
17:11
17:12 ilbot6 left 17:16 am0c left
tadzik hmmm, does perl tools/update-tai-utc.pl src/core/tai-utc.pm work for you guys? 17:22
it says Couldn't replace leap-second-dates at tools/update-tai-utc.pl line 29.
17:35 zby_home_ joined 17:38 SunilJoshi joined 17:39 domidumont joined 17:49 wk joined 17:58 ilbot6 joined, adu left 17:59 wk left 18:00 ilbot6 left, ElDiabolo joined, ilbot6 joined 18:03 sqirrel left
moritz Timbus: another Net::IRC bug: it seems to reset the .state<channels> hash for each line of nicks 18:05
Timbus: so for channels with lots of people in there (like #perl6), the list of nicks is incomplete 18:06
tadzik moritz: does t/spec/S16-filehandles/filestat.t pass for you? 18:07
moritz tadzik: yes
tadzik hm, that's bad
test 8 reliably fails here 18:08
maybe that's because of noatime or such
moritz looks like it, yes
maybe fudge that test
it's rather platform dependent
tadzik ok, will do 18:09
dalek kudo/nom: 256339c | tadzik++ | tools/build/NQP_REVISION:
[release] bump NQP revision
kudo/nom: c89dd87 | tadzik++ | VERSION:
[release] bump VERSION
moritz sometimes hates diversity
18:12 ilbot6 left, ilbot6 joined, SamuraiJack joined 18:14 ilbot6 left, ilbot6 joined
dalek kudo/nom: 78d2a2a | tadzik++ | docs/announce/2013.02:
[release] Add a new release announcement
18:16
tadzik proofreading welcome
dalek kudo/nom: f67e101 | tadzik++ | docs/release_guide.pod:
Update the release guide
18:17
uvtc Is "drinkers" a place?
Or a pm group's name? 18:18
lizmat it's a state of mind
just like New York :-)
uvtc Oh, lizmat, I see your suggestion in the backlog. Incidentally, I don't see Drinkers.pm listed at www.pm.org/groups/ . Or maybe I'm not getting the joke. :) 18:22
tadzik it may be not official
lizmat it's an unofficial pm group, mainly gathering in bars at larger Perl events
uvtc Maybe it should be capitalized? 18:23
tadzik no, I don't think so
people use the lowercase name
uvtc Ah 18:24
lizmat I think you *can* actually select it as an affiliation in ACT
uvtc "ACT"?
tadzik the conference toolkit 18:25
lizmat http://act.mongueurs.net
dalek pan style="color: #395be5">perl6-examples: cc2ca22 | (L. Grondin)++ | rosalind/ (2 files):
[rosalind] FIB solution
18:26
uvtc Emergency toolkit contains: pocket knife, camel brush, moist towellette, onion peeler, pumpkin masher...
lizmat butterfly net?
uvtc Oooh. Missed that one! 18:27
[Coke] I don't think anyone from perl6 should be using a pumpkin masher.
lizmat dinner&
uvtc (to make pumpkin pie?) Ok, Pumpkin patcher? :) 18:28
lizmat: thanks for the link 18:29
tadzik where do I upload the release tarball now? 18:30
18:31 moukeddar joined
uvtc [Coke]: Yes, right. Didn't mean it in a bad way. I like the Pumpkin Pie idea, and Perl 5 in general. 18:31
{sigh} s/Pumpkin Pie/Pumpkin Perl/ :) 18:32
masak tadzik: to rakudo.org/downloads/rakudo/ somehow.
moritz tadzik: have you given pmichaud your ssh key?
if yes: scp rakudo-2013.02.tar.gz [email@hidden.address] 18:33
if no, I can do it
or give me your ssh pubkey
uvtc tadzik: re. announce doc, maybe break line 38. 18:34
Are Parrot releases still being planned for the third Tuesday of every month? 18:35
tadzik: Also, I like lines 50-51. 18:36
tadzik: Is line 52 still applicable?
pmichaud good afternoon, #perl6 18:37
18:38 SunilJoshi left
masak pmichaud! \o/ 18:39
pmichaud tadzik: I'd remove line 52
should "drinkers" be capitalized?
nwc10 good pm Pm
pmichaud looks like maybe not
nwc10 oh, :-( 18:40
pmichaud I meant about "drinkers.pm" :-)
nwc10 oh. good
uvtc Hi pmichaud o/. Just asked that myself (see backscroll). :)
pmichaud drinkers.pm is available in ACT, yes. 18:42
..."even a camel needs to have a drink"... butterfly, perhaps? 18:47
or perhaps: ...after drinkers.pm, a group that celebrates the raw materials which our developers turn into code. 18:48
uvtc I think butterflies have a nip of nectar now and again.
dalek kudo/nom: 42f8ead | pmichaud++ | docs/announce/2013.02:
Some formatting updates to 2013.02 announcement.
18:50
18:52 ilbot6 left, ilbot6 joined
[Coke] me has a perl6 installed, and a panda installed. "panda install Term::ANSIColor" -> Could not find Shell::Command 18:52
TimToady why does Term::ANSIColor do colored with args reversed from Perl 5?
moritz [Coke]: looks like there was a problem with installing panda 18:54
[Coke]: that can happen by upgrading to a newer panda, and then still having the old ~/.perl6/bin dir in $PATH first
18:55 ilbot6 left
[Coke] ENO ~/.perl6 18:55
moritz [Coke]: it doesn't install there anymore 18:56
18:56 SamuraiJack left
moritz [Coke]: but an old panda might still be in there, and found first in $PATH 18:56
18:56 ilbot6 joined
[Coke] the string .perl6 does not appear in my installed panda. 18:56
moritz [Coke]: what does 'which panda' say? 18:57
[Coke] /path/to/homedir/sandbox/sixdev/install/bin/panda 18:58
I'm doing a rebootstrap of panda.
(which is a symlink to site/bin/panda)
ok, that's better. now it's dying in a much more reasonable fashion (firewall) 18:59
PerlJam TimToady: looks the same to me colored($string, $color). Though P5 has a version of colored where if you pass an array ref as the first param, the rest are strings.
18:59 ilbot6 left 19:00 ilbot6 joined
PerlJam
.oO( Perl 5 does MMD ... manual multi-method dispatch. )
19:02
19:02 ilbot6 left, ilbot6 joined 19:03 ilbot6 left, ilbot6 joined
ElDiabolo Could anyone give me a pointer to a simple example for self-declared named formal parameters ? 19:04
moritz r: { say $:foo }(foo => 42) 19:05
p6eval rakudo a763a1: OUTPUT«42␤»
ElDiabolo thx
moritz, Can it be that this requires a very new rakudo ? 19:08
[Coke] what is panda using under the covers to download? 19:09
PerlJam ElDiabolo: what version are you running?
moritz ElDiabolo: no 19:10
ElDiabolo PerlJam, Na, its someting else. The one liner from moritz works for me with -e
[Coke] git? 19:11
19:11 colomon joined
colomon * 19:11
moritz [Coke]: yes
self-declared formal params worked in rakudo in June 2010
s/formal/named/
dalek p: 1cc0d94 | jnthn++ | src/NQP/Actions.pm:
Wrap a Parrot detail up in a QAST::VM.
19:12
[Coke] ah. but the intial load is using parrot's LWP/UserAgent 19:13
(of the ecosystem list)
19:13 japhb_ joined
[Coke] wonder if it would be worth checking in the ecosystem to git so we can git pull that also. 19:13
PerlJam moritz: he could have been using a *really* old rakudo :) 19:16
[Coke] tadzik: looks like LWP::UserAgent from parrot takes a proxy - any chance you can pass in ENV<http_proxy> if it's set?
moritz PerlJam: you mean, prehistoric? :-)
colomon o/ 19:21
anything exciting happen in the last two days?
colomon is still trying to get his MBP back to working order...
ElDiabolo r: { say $:foo } (foo => 42) 19:23
p6eval rakudo 42f8ea: OUTPUT«===SORRY!===␤Two terms in a row␤at /tmp/3rV7sWHnfi:1␤------> { say $:foo } ⏏(foo => 42)␤ expecting any of:␤ postfix␤ infix or meta-infix␤ infix stopper␤ statement end␤ statement modifier␤ …
ElDiabolo Whitespace does matter ?
PerlJam yes
(in that context)
ElDiabolo ouch.
PerlJam r: { say $:foo }.( foo => 42) 19:25
p6eval rakudo 42f8ea: OUTPUT«42␤»
PerlJam if you need a little space, you could always do that
GlitchMr r: { say $:foo }(foo => 42)
p6eval rakudo 42f8ea: OUTPUT«42␤» 19:26
GlitchMr Perl 6 cares about whitespace more than Perl 5.
19:26 wk joined
GlitchMr Yes, Perl 5 cared about whitespace, but just in one specific case. 19:26
r: say(1, 2), 3
p6eval rakudo 42f8ea: OUTPUT«12␤»
GlitchMr r: say (1, 2), 3
p6eval rakudo 42f8ea: OUTPUT«1 23␤»
GlitchMr As for Perl 5, well...
sorear n: { say $:foo } (foo => 42) 19:27
p6eval niecza v24-23-g0520c7c: OUTPUT«===SORRY!===␤␤Strange text after block (missing comma, semicolon, comment marker?) at /tmp/9hHohtEfgG line 1:␤------> { say $:foo }⏏ (foo => 42)␤␤Parse failed␤␤»
sorear n: { say $:foo }\ (foo => 42)
p6eval niecza v24-23-g0520c7c: OUTPUT«42␤»
sorear unspace!
GlitchMr eval: my $var = 42; my %var = (foo => 42); print "$var {foo}\n";
PerlJam oh, I forgot about that too
TimToady PerlJam: re colored: oh, I see that now. thanks... must do something about my illiteracy someday
GlitchMr perl5: my $var = 42; my %var = (foo => 42); print "$var {foo}\n";
colomon unspace! the final frontier!
GlitchMr I'm sure we had Perl 5 eval bot once here.
If you don't like whitespace sensitivity, use Python or something. 19:28
Python is one of least sensitive to whitespace I've seen.
Perl 5 is fine too.
PerlJam GlitchMr: you're talking crazy about Python ;)
GlitchMr whitespace language*
census yay for perl5 :)
GlitchMr PerlJam, don't get me wrong, Python cares about whitespace to define block boundaries. 19:29
Other than that, you are free to make code like please ( func (a +2, b= 3)) 19:30
[Coke] tadzik: ooh. having the module suggestions would be super awesome to help catch case problems.
PerlJam So I took a stab at reimplementing HLL::Compiler::lineof in NQP (ie. without Q:PIR) and it's not working and I've decided I don't know what I'm doing. Anyone care to help? 19:40
moritz PerlJam: I can try 19:41
PerlJam gist.github.com/perlpilot/5016011
that's the error I'm getting and the code I've written
the parts I really don't understand are nqp::getattr() and nqp::bindattr() (I'm not sure if that's the way to set/get the classes @!linepos attr) 19:42
moritz PerlJam: just use @!linepos
PerlJam aye, that's what I started with I think but something led me to believe it was more complicated than that 19:43
jnthn What line did you translate?
moritz the whole method lineof in HLL::Compiler
PerlJam I guess I'm trying to get the NQP equivalent to: setprop target, '!linepos', linepos 19:44
moritz oh
properties != attributes
jnthn properties?! 19:45
urgh
moritz yes, urgh
tadzik is back
PerlJam aye, my strategy was to add a @!linepos attr to HLL::Compiler to be the cache
moritz but the target isn't always the same 19:46
PerlJam ah, indeed. (this is why I decided I don't know what I'm doing anymore :)
moritz so it'd need to be of form %!linepos{$target}
jnthn And I'm not sure we always call it on an instance 19:47
Could just have a hash
er, leixcal I meant
moritz (which has the disadvantage of leaving the cache alive even after the string gets GC'ed)
jnthn Well, worse, it keeps the string from being GC'd... 19:48
moritz because it's the hash key 19:49
right
PerlJam Is there some way to get a unique ID for the target and use that for the hash key instead?
moritz nqp::sha1 ? 19:50
PerlJam s/some way/some relatively easy/
does that exist?
moritz no idea how fast it is
PerlJam ah
tadzik release uploaded 19:51
jnthn yes, it exists
The number of places we use lineof is relatively small
We could say "if you want it cached, you supply the hash"
And update the places that are something besides error reporting.
TimToady nom doesn't does 'handles *' yet, does it? 19:52
jnthn TimToady: I thought it did...
TimToady *doesn't do
jnthn r: class A { has $.x handles * }; A.new(x => class { method omg { say 42 } }).omg
p6eval rakudo 42f8ea: OUTPUT«42␤»
tadzik ok, release done 19:53
sorry for lateness
jnthn tadzik++
19:53 domidumont left
tadzik now we celebrate \o/o 19:53
unless I screwed up :)
PerlJam tadzik++
tadzik: even if you screwed up, we still celebrate! :)
tadzik ossum :)
jnthn moritz, PerlJam: For Rakudo having a $*LINE_CACHE or so as a contextual declared in comp_unit would largely do it 19:54
And then PIRT.pm is the other place that'd want an update I guess
That way, the cache won't live for ever. 19:55
TimToady r: gist.github.com/TimToady/5016105
p6eval rakudo 42f8ea: OUTPUT«===SORRY!===␤Two terms in a row␤at /tmp/hv5hz0s5wN:1␤------> https⏏://gist.github.com/TimToady/5016105␤ expecting any of:␤ argument list␤ postfix␤ infix or meta-infix␤ infix stopper␤ stateme…
TimToady I thought that got fixed...
[Coke] my @a = <1 2 3 4 5>; say @.pick(3); say @a; # how do I "use up" my picked choices?
r: my @a = <1 2 3 4 5>; say @.pick(3); say @a; # how do I "use up" my picked choices?
p6eval rakudo 42f8ea: OUTPUT«===SORRY!===␤Variable @.pick used where no 'self' is available␤at /tmp/9dyeilziAo:1␤------> my @a = <1 2 3 4 5>; say @.pick(3)⏏; say @a; # how do I "use up" my picked ␤»
TimToady jnthn: anyway, that can't find postcircumfix:<{ }> 19:56
[Coke] r: my @a = <1 2 3 4 5>; say @a.pick(3); say @a;
p6eval rakudo 42f8ea: OUTPUT«4 2 5␤1 2 3 4 5␤»
TimToady make me wonder if there's a space dependency in handling *
[Coke] goes for shuffle first, then pop. 19:57
TimToady jnthn: (referring to my gist) 19:58
jnthn TimToady: Grr, my local needs a rebuild, but I can guess it.
TimToady: * works as a failover
TimToady: But method dispatch finds a postcircumfix:<{ }> in Any and call shtat.
*calls
TimToady 'course, we're planning to unmethod that...
jnthn Yeah
What's the actual error? Or wait a bit and I'll have rebuilt :) 19:59
TimToady postcircumfix:<{ }> not defined for type FreezeHash
from the first $fh<a>
jnthn Oh... 20:00
20:01 ilbot6 left
masak [Coke]: hm, there's something called .grab that removes stuff, but it seems to be only for Bags. 20:01
jnthn Any defines at_key
dalek kudo/nom: 483ce86 | moritz++ | docs/release_guide.pod:
[docs] update the download step in the release guide
jnthn It defines it as a multi. On an undefined thing, it's what handles auto-viv.
Then it does:
multi method at_key(Any:D: $key) {
fail "postcircumfix:<\{ \}> not defined for type {self.WHAT.perl}";
}
Which is the error you're getting.
[Coke] masak: eh. this could be a bag, but I'm hiding it behind a class anyway. 20:02
jnthn Anything that does implement at_key will override this
masak r: my $x = bag 1, 1, 1, 2, 2; say $x.grab(2); say $x
p6eval rakudo 42f8ea: OUTPUT«No such method 'grab' for invocant of type 'Bag'␤ in block at /tmp/B1PdSt7irP:1␤␤»
masak :/
20:02 SmokeMachine left 20:03 kst joined
jnthn TimToady: Anyway, even if that candidate wasn't there in Any, it won't fallback because the method dispatch worked. It would be the follow-up multi-dispatch that fails. 20:03
[Coke] n: my $x = bag 1, 1, 1, 2, 2; say $x.grab(2); say $x 20:04
p6eval niecza v24-23-g0520c7c: OUTPUT«Unhandled exception: Unable to resolve method grab in type Bag␤ at /tmp/c16lup5CsB line 1 (mainline @ 5) ␤ at /home/p6eval/niecza/lib/CORE.setting line 4233 (ANON @ 3) ␤ at /home/p6eval/niecza/lib/CORE.setting line 4234 (module-CORE @ 580) ␤ at /home/p…
jnthn TimToady: So far as I can tell, it's working as I understand the design. Maybe I misunderstand the design. ;)
jnthn looks a bit further 20:06
20:06 SmokeMachine joined
jnthn TimToady: oh... 20:06
TimToady: It's the nextsame, I think
That nextsame's up to the at_key in the base class 20:07
TimToady: gist.github.com/jnthn/5016208 wfm 20:09
TimToady ah
incomplete transformation from 'is Hash'
thanks 20:10
jnthn np
I added an is rw that you probably also want, btw
TimToady ah, yes 20:11
for some reason thinking I wanted to leave that out, but it's for the hash element, not the hash keys
jnthn Not sure the "is copy" is needed 20:12
(on $key) 20:13
Unless you have something else in mind :)
nqp: nqp::iscclass(nqp::const::CCLASS_NUMERIC, 'foo', -1) 20:15
p6eval nqp: ( no output )
jnthn nqp: nqp::iscclass(nqp::const::CCLASS_NUMERIC, 'foo', 4) 20:16
p6eval nqp: ( no output )
jnthn pmichaud: Regex engine relies on this not throwing; dunno if accidental or not.
(In anchor)
timotimo jnthn: did you find the opportunity to look at the net::zmq thing i ran into earlier today? 20:17
jnthn timotimo: ah, no...forgot about that with all the $dayjob inbetween then and now
timotimo no problem 20:18
tadzik [Coke]: I suppose so (proxy and lwp-useragent) 20:19
[Coke] tadzik: Or, switch to git! :) 20:20
(since we already need git support to install anything 20:21
tadzik++ #panda
tadzik++ #term ansi color
jnthn Move to git could work out well in so far as it's one less dependency and it removes a Parrot-specific dependency 20:22
timotimo: Got the link handy again?
timotimo just a sec
10:11
timotimo
sprunge.us/JFSI - put this into t/01-recv-send.t and run arnsholt/Net-ZMQ with its tests
tadzik [Coke]: git what, the ecosystem thing? 20:23
dalek p-jvm-prep: 0a63679 | jnthn++ | src/org/perl6/nqp/runtime/Ops.java:
nqp::iscclass shouldn't throw on bad offset.
p-jvm-prep: 9b85521 | jnthn++ | lib/QAST/JASTCompiler.nqp:
Compile regex anchors.
tadzik hm
jnthn oh, I need to grab a bunch of stuff...
tadzik it should be possible 20:24
timotimo oh, right, libzmd and such
jnthn timotimo: Can you maybe golf it to something that means I don't have to grab ZeroMQ etc?
timotimo i can surely try.
i think "zecromq etc" boils down to "only zeromq" 20:25
got a random struct from a random library for me please?
oh, i probably only need "is repr("CPointer") 20:26
jnthn Try with that, yeah 20:27
timotimo sprunge.us/LGRG 20:31
this golfs it for me
moritz r: class A is repr('CPointer') { method a(Cool) { 'C' }; method a(Int) { 'I' } }; say A.a(42) 20:32
p6eval rakudo 483ce8: OUTPUT«===SORRY!===␤Package 'A' already has a method 'a' (did you mean to declare a multi-method?)␤at /tmp/XlyYFbLaAu:1␤------> ␤»
moritz r: class A is repr('CPointer') { multi method a(Cool) { 'C' }; multi method a(Int) { 'I' } }; say A.a(42)
p6eval rakudo 483ce8: OUTPUT«I␤»
ElDiabolo Can I create a pair with a dynamic key? 20:34
jnthn hm, this golfs quite a way...
tadzik sure you can
also: what happens if you try? :)
ElDiabolo tadzik, How ?
tadzik er 20:35
r: my $a = foo; my $b = $a => 5; say $b.perl
p6eval rakudo 483ce8: OUTPUT«===SORRY!===␤Undeclared routine:␤ foo used at line 1␤␤»
tadzik huh
r: my $a = 'foo'; my $b = $a => 5; say $b.perl
p6eval rakudo 483ce8: OUTPUT«"foo" => 5␤»
tadzik seems to work
ElDiabolo tadzik, Uh, it's foo, not 'foo'. I see 20:36
jnthn timotimo: Seems to boils down to the "int" 20:37
tadzik uvtc: around?
uvtc hi, tadzik
timotimo mhm. i'll try changing the method to use Int instead and turn that into int
tadzik gouda acts funny for me
gist.github.com/tadzik/5016371
uvtc Right. It's telling you that the first line of each doc/*.md should start with a Pandoc-style title header. 20:38
timotimo Error in `perl6': free(): invalid next size (fast): 0x000000000b0fa3b0 *** - whoops :)
uvtc % My Title
tadzik yeah, but it looks good to me
%?
uvtc Right. % is for the the title block. 20:39
# is for h1
tadzik well, gouda says #
bug?
ElDiabolo r: my $foo = 'foo';
p6eval rakudo 483ce8: ( no output )
uvtc tadzik: See johnmacfarlane.net/pandoc/README.ht...itle-block
Oh, does it?
tadzik uvtc: yeah, it's just that gouda's error message is confusing
uvtc tadzik: gah. Sorry. :) 20:40
tadzik gist.github.com/tadzik/5016371#fil...e1-txt-L11
ElDiabolo r: my $f = 'foo'; { say $:foo }($f => 42)
p6eval rakudo 483ce8: OUTPUT«Required named parameter 'foo' not passed␤ in block at /tmp/TvNaX8A8Vs:1␤␤»
uvtc tadzik: will fix. Need to be afk for a moment.
tadzik oh, I can fix that :)
ElDiabolo What is wrong with the above. I would expect 42. 20:41
moritz ElDiabolo: you're passing a positional parameter which is a Pair
jnthn It needs to be some-literal => 42 20:42
moritz r: my $f = 'foo'; { say $:foo }(|($f => 42))
p6eval rakudo 483ce8: OUTPUT«42␤»
jnthn Otherwiwe it needs...what moritz++ showed
ElDiabolo moritz, Uh, I can't do dynamic named parameters ?
jnthn ElDiabolo: moritz just showed you how to do it. 20:43
ElDiabolo Yeah, just saw it. Thx.
jnthn :)
timotimo: Just tracked it back to a code-path inside multidispatch.c that may need some review. Will look into it.
timotimo thank you! i think i will take this opportunity to go to sleep 20:44
20:44 mikess joined
timotimo good night! 20:44
mikess tadzik: :))))
tadzik: siema ;)
tadzik witaj, mikess 20:45
uvtc tadzik: fixed, thanks 20:46
tadzik but I pull requested already :)
dang :)
uvtc tadzik: oof, sorry! I wasn't logged into github. 20:47
moritz ElDiabolo: look at the code in Math::Model, it introspects named parameters, does stuff with it and finally calls them
masak dives back into reviewing p6cc t1 solutions
ElDiabolo moritz, I took a look at an example ith Math::Model, but it does too much other stuff. I now have a simple example, thats better. 20:48
raiph493 sixers, please try tinyurl.com/perl6now and either let me know what's weak or update the engine yourself (instructions at the engine page) 20:49
[Coke] raiph493: I would recommend not giving out the account password. 20:50
moritz it doesn#t work for me 20:56
I type in some search terms
and it says "Loading" in two palces
but doesn't seem to do anything at all
masak tadzik: you forgot to update en.wikipedia.org/wiki/Rakudo_Perl_6 !
tadzik huh
I updated Rakudo
...or so I think... 20:57
[Coke] works here in chrome/mac
masak ...in the infobox to the right...
says #60 "Sonoma" / January 17, 2013; 36 days ago
tadzik looks good now
masak tadzik++ 20:58
tadzik: "the most recent release as of January 2013, #60, is codenamed Sonoma"
tadzik: you missed that one.
[Coke] perl6 sucks -> 3 matches, perl6 rocks -> 7 matches
tadzik aah
masak what about perl6 rules? :P
raiph493 moritz: it sometimes gets stuck with the "loading" comment. please try again with "calculator"
moritz no dice 21:06
dalek p-jvm-prep: b2a7fe1 | jnthn++ | lib/QAST/JASTCompiler.nqp:
Implement conjseq.
21:15
21:17 TheVenetianMask joined, kaare_ left, SmokeMachine left
TimToady rosettacode.org/wiki/Create_an_obje...ion#Perl_6 # jnthn++ 21:18
21:18 SmokeMachine joined, jac50 joined 21:21 moukeddar left 21:22 SmokeMachine left
[Coke] TimToady: should the rakudo version elide the day? 21:25
TimToady no, because it's blead rakudo, I think 21:26
21:26 benabik left
TimToady well, within a day or so anyway 21:26
[Coke] ah. 21:27
so we beat everyone but J for golf on that one. :) 21:28
masak \o/
TimToady though it works fine on the last Star 21:29
masak .oO( and J beats itself for anything but golf ) :P
21:30 mberends left
colomon Is anyone else having problems installing Simple::Email? I can get it to pass its tests if I grab it from github and run them by hand, but "panda install Email::Simple" is failing for me. 21:30
21:30 benabik joined
TimToady I thought the entropy entry did a good job of getting close to the density of J without looking golfed 21:30
masak ok, so I'm done reviewing t1.
tadzik colomon: maybe it doesn't work when precompiled, did you check that?
masak and the night is young, so I can easily sit down and write a blog post now, too. 21:31
TimToady \o/
masak question to people: would you prefer that I push my reviews *now*, for you to be early beta readers of them, or *later* with the blog post?
colomon tadzik: oh, actually the problem seems to be "Could not find DateTime::Utils in any of: " blah. Of course, I just installed DateTime::Utils a second ago, so this is a puzzlement. 21:32
nwc10 jnthn: tests still pass (except the one that needs ICU)
masak writes blog post 21:33
PerlJam masak: would you prefer to have input from your beta readers before your blog post appears for public consumption? :)
colomon tadzik: another question for you: does emmentaler still work? I'm starting to think we should have it automated...
masak PerlJam: yes, that'd be nice. 21:35
PerlJam: appearances notwithstanding, I am not infalliable, and errors may creep into reviews.
ElDiabolo r: sub infix:<foo>($x, $y) is tighter(&infix:<+>) {$x - $y}
p6eval rakudo 483ce8: ( no output )
masak (that was irony, by the way. of course I am infallible.) 21:36
21:36 dolmen joined
TimToady 's brane infalliates explosively 21:37
21:37 bluescreen10 left 21:38 bluescreen10 joined 21:39 bluescreen100 joined
masak t1 reviews are here: github.com/masak/p6cc2012/tree/master/t1/review 21:39
now to write le blog post...
ElDiabolo r: sub infix:<foo>($x, $y) is tighter(&infix:<+>) is export {$x - $y} 21:41
p6eval rakudo 483ce8: ( no output )
21:42 bluescreen10 left
PerlJam masak: When you say that the programs "appear correct", what does that mean? 21:45
21:48 domidumont joined
masak PerlJam: that I peered at them and didn't find any obvious errors. 21:48
my language is sometimes more certain than that when the algorithm accords with my way of thinking. 21:49
so "appears correct" has a note of "but it's also too complicated to be sure" in it.
"correct until proven incorrect" :)
PerlJam okay.
21:50 shinobicl left
PerlJam is that "I fiddled with it manually supplying inputs and got the outputs I expected"? 21:50
masak no, the base-test file takes care of that. 21:52
moritz masak++ # review
PerlJam I expected something like "passes my test suite", thus my questions.
21:53 ilbot6 joined, moritz_ joined 21:54 moritz_ left, ilbot6 left
PerlJam yes, masak++ 21:54
masak all solutions by definition pass base-test.
but the "appears to be correct" also means that I looked at them and didn't find fault.
someone else might, though. 21:55
PerlJam aye, but I was thinking you might have some extra-special tests that you conjured up
like something that could exercise logic loops in the knights/knaves problem.
colomon tadzik: I am thinking that panda is installing DateTime::Utils to /home/colomon/.perl6/lib, but Rakudo is looking for it in /home/colomon/.perl6/2013.01-142-g9c59a13/lib 21:56
masak PerlJam: I'm tempted to do that now :) 21:57
PerlJam: any suggestions?
PerlJam not off the top of my head, no :)
what? omniscience doesn't come with the infallibility? ;) 21:58
21:58 benabik left 21:59 skids left
masak ...or I already know, but I'm just testing you :P 22:00
22:01 ilbot6 joined 22:02 moritz_ joined, hash_table left, moritz_ left
[Coke] wonders if anyone else handled the case of "A and B and C are of the same type" ! 22:03
22:03 shinobicl joined, shinobicl left 22:04 lustlife left, ElDiabolo left
[Coke] appears to be so. I had hoped that one of masak's tests would include that extension of the described grammar. 22:05
I appear to have done much better than last year, at least on t1. \o/ 22:06
masak \o/ 22:07
[Coke] is pissed he missed variable-named-same-as-argument! 22:08
masak ;) 22:11
22:11 ilbot6 left
dalek p-jvm-prep: 9ded178 | jnthn++ | nqp-src/NQPHLL.pm:
Start working towards NQPHLL cross-compilation.

This adds a HLL::Grammar with some pieces that don't yet work commented out.
22:13
p-jvm-prep: 7760d12 | jnthn++ | / (2 files):
Compile uniprop (for /<:L>/ style things).

May need to do some massaging of the property names, but this basically works.
p-jvm-prep: 889496e | jnthn++ | docs/ROADMAP:
Update ROADMAP.

Of note, all features of QAST::Regex are now handled.
p-jvm-prep: 7d7c81b | jnthn++ | nqp-src/QRegex.nqp:
Uncomment some Cursor methods that now compile.
[Coke] begs for extra credit on the more-than-two-person solution!
jnthn++ 22:14
22:16 benabik joined 22:18 dolmen left
PerlJam [Coke]: you probably would have had to have used macros to get extra credit ;-) 22:18
jnthn For even more credit, name it marco 22:20
diakopter ++
22:21 domidumont left, woolfy left
masak runs jnthn down with a polo pony 22:24
[Coke] wonders if he can create a macro called marco that is just an macro macro. 22:27
masak blog post written. publishing. 22:31
22:37 labster joined
masak lol, I blug! \o/ strangelyconsistent.org/blog/t1-tel...rom-knaves 22:40
tadzik colomon: (emmentaler) afaik it's still functional, yes. sergot got a cronjob running it periodically at some point 22:53
colomon: (DateTime::Utils) weird, I'll investigate in a second 22:54
jnthn enjoyed looking through the p6cc submissions; masak++ 23:00
23:00 gdey joined 23:08 alester left 23:12 mtk left 23:16 jac50 left 23:22 skids joined 23:24 mtk joined 23:31 spider-mario left 23:35 wk left
census Does anybody know how to ask mech about its cookies? 23:46
labster Lingua::Number supports ordinal and decimal fractions now, in english, japanese, and spanish.
making modules is fun. 23:48
masak census: it's not cool to ask Perl 5 questions in here. you know that. 23:49
census: if you're boring and refusing to learn, that's a good reason to kick you, incredibly nice though we may be. 23:50
census i know . . .it is after hours so i thought 1 ? might be ok :(
jnthn labster: nice :)
masak census: it is not OK.
census ok i'm sorry :(
geekosaur there is no after hours on IRC
jnthn IRC has...after hours? :)
masak census: find a forum with Perl people who are willing to help you. people have suggested repeatedly how you may do this. forget about #perl, there are other places. 23:51
census i take it all back . . .
geekosaur "after hours" for you is midday for several p6 devs
or various other times of day
labster it's happy hour for me
jnthn 2 modules for the price of 1! 23:52
labster Well, now that you mention it, I did add a way to compare multiple files to File::Compare. Which makes File::Find::Duplicates only 90x slower than fdupes written in C. 23:53
labster eagerly awaits either sixparrot or JVM. jnthn++ 23:54
masak .oO( they need to do way instain File::Find::Duplicated, who kill their performance ) 23:57
tadzik :D 23:58
masak 'night, #perl6
census good ngiht :)
dont' let the perl bugs bite
jnthn 'night, masak 23:59
mikess tadzik: jak tam? ;>
tadzik not bad :)
mikess ;)
sure
how are you?
where 're you now?
tadzik not bad, as I said :)
Warsaw, as usual
swarley I was going to do something in OCaml, but now I forget what
mikess tadzik: ok