Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2009-03-24

Perl 6 | Reference Documentation | Rakudo

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

All times shown according to UTC.

Time Nick Message
00:11 nihiliad joined #perl6
00:18 lichtkind_ joined #perl6
00:50 ZuLuuuuuu left #perl6
01:01 eternaleye joined #perl6
01:33 awwaiid_ joined #perl6
01:42 awwaiid joined #perl6
01:44 frioux rakudo: 5.sign
01:44 p6eval rakudo 748771: OUTPUT«Method 'sign' not found for invocant of class 'Int'␤current instr.: 'parrot;P6metaclass;dispatch' pc 637 (src/classes/ClassHOW.pir:161)␤»
01:49 cspencer joined #perl6
02:01 firelord joined #perl6
02:01 firelord hey everyone
02:03 frioux hi
02:03 frioux rakudo: (1,2,3) >> + << (4,5,6)
02:03 p6eval rakudo 748771: OUTPUT«Statement not terminated properly at line 1, near ">> + << (4"␤␤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)␤»
02:03 frioux rakudo: (1,2,3) >>+<< (4,5,6)
02:03 p6eval rakudo 748771: RESULT«[5, 7, 9]»
02:04 frioux rakudo: (1,2,3).map: { ~$_ }
02:04 p6eval rakudo 748771: RESULT«["1", "2", "3"]»
02:04 frioux rakudo: (1,2,3)>>.map: { ~$_ }
02:04 p6eval rakudo 748771: OUTPUT«Statement not terminated properly at line 1, near ">>.map: { "␤␤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)␤»
02:04 firelord anyone got time for a question on perl6?
02:04 frioux I could try, but I might not know the answer :-)
02:06 firelord You know an easy way to count the number of occurrences of letters in a string? Such as how many 'U' and 'T' they are in a string
02:06 firelord thinking of a map command with a junction
02:07 frioux rakudo: "frew".@
02:07 p6eval rakudo 748771: OUTPUT«Statement not terminated properly at line 1, near ".@"␤␤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)␤»
02:07 frioux "frew".split('')
02:07 frioux rakudo: "frew".split('')
02:08 p6eval rakudo 748771: RESULT«["f", "r", "e", "w"]»
02:08 frioux firelord: I'd split it like that
02:08 frioux and then iterate over each character
02:08 frioux and add to a hash with the char as the index
02:08 frioux so the final hash is the number of each letter
02:08 frioux do you follow that?
02:08 firelord well I do not need to know how many of every char, just the grand total between them
02:09 firelord and yes I do follow :)
02:10 frioux rakudo: my %hist; for "frew".split('') { if %hist{$_} { %hist{$_} += 1 } else { %hist{$_} = 1; } } %hist.perl
02:10 p6eval rakudo 748771: OUTPUT«Statement not terminated properly at line 1, near "%hist.perl"␤␤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)␤»
02:10 frioux rakudo: my %hist; for "frew".split('') { if %hist{$_} { %hist{$_} += 1 } else { %hist{$_} = 1; } }; %hist.perl;
02:10 p6eval rakudo 748771: RESULT«"\{\"f\" => 1, \"r\" => 1, \"e\" => 1, \"w\" => 1}"»
02:10 frioux rakudo: my %hist; for "freeeeeeeeeeeeeeeew".split('') { if %hist{$_} { %hist{$_} += 1 } else { %hist{$_} = 1; } }; %hist.perl;
02:10 p6eval rakudo 748771: RESULT«"\{\"f\" => 1, \"r\" => 1, \"e\" => 16, \"w\" => 1}"»
02:11 frioux that seems to do what you want...
02:11 firelord It does and more
02:11 frioux too much?
02:12 firelord Indeed, just want to know how many 'e' and 'w' in total and not their individual totals
02:12 frioux well you could do this...:
02:12 firelord hence do not need a hash but a junction i think
02:12 firelord an 'any' junction
02:13 frioux rakudo: my $total; for "freeeeeeeeeeeeeeeew".split('') { $total++ if $_ ~~ 'e'|'w';  }; $total.perl;
02:13 frioux rakudo: my $total; for "freeeeeeeeeeeeeeeew".split('') { $total++ if $_ ~~ 'e'|'w';  }; $total;
02:13 p6eval rakudo 748771: RESULT«"17"»
02:13 frioux hah!
02:13 p6eval rakudo 748771: RESULT«17»
02:14 frioux there you go
02:14 frioux rakudo: my $total; $total++ if $_ ~~ 'e'|'w' for 'frew'.split(''); $total;
02:14 p6eval rakudo 748771: RESULT«2»
02:14 frioux rakudo: my $total; $total++ if $_ ~~ 'e'|'w' for 'freeweweww'.split ''; $total;
02:14 p6eval rakudo 748771: OUTPUT«Statement not terminated properly at line 1, near "''; $total"␤␤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)␤»
02:14 frioux rakudo: my $total; $total++ if $_ ~~ 'e'|'w' for 'freeweweww'.split(''); $total;
02:14 p6eval rakudo 748771: RESULT«8»
02:14 frioux there you go
02:15 frioux it works and it's overly short :-)
02:15 firelord thank you frioux
02:15 frioux although there may be a way to do it with a regex...
02:15 frioux there probably is
02:15 firelord for sure
02:15 frioux but that should get the job done
02:15 frioux oh dear
02:15 frioux my computer is about to crash
02:15 frioux brb!
02:18 cspencer rakudo: "freeeeeeeeeeeeeeeew".split​('').grep(/e|w/).elems.say
02:18 frioux joined #perl6
02:18 p6eval rakudo 748771: OUTPUT«17␤»
02:18 frioux firelord: did you get a better solution?
02:18 firelord lol
02:18 cspencer frioux: i don't know that it's better, just different :)
02:18 firelord cspencer: rakudo: "freeeeeeeeeeeeeeeew".split​('').grep(/e|w/).elems.say
02:18 frioux hahaha
02:19 frioux maybe
02:19 frioux it's more functional
02:19 firelord well the string in this case will be..... large
02:19 frioux and in my book, that's a good thing :-)
02:19 frioux well...they both do a split
02:19 firelord from a few hundred to...... a few million
02:19 frioux they are probably equally good (or bad) for that
02:19 firelord ya
02:20 frioux you said this was gene stuff?
02:20 skids Lazyness would take care of that.
02:20 skids Though mostly things aren't lazy yet in rakudo.
02:21 firelord Not tonight no but other nights ya
02:22 frioux phone&
02:23 TimToady rakudo: +("freeeeeeeeeeeeeeeew" ~~ /(<[ew]>)/)[0]
02:23 p6eval rakudo 748771: RESULT«0»
02:24 TimToady rakudo: +("freeeeeeeeeeeeeeeew" ~~ /('e'|'w')/)[0]
02:24 p6eval rakudo 748771: RESULT«0»
02:24 TimToady rakudo: +("freeeeeeeeeeeeeeeew" ~~ /(<[ew]>)*/)[0]
02:24 p6eval rakudo 748771: OUTPUT«Use of uninitialized value␤»
02:24 firelord Look what I started...
02:24 TimToady rakudo: +("freeeeeeeeeeeeeeeew" ~~ /('e'|'w')*/)[0]
02:24 p6eval rakudo 748771: OUTPUT«Use of uninitialized value␤»
02:24 nacho_ joined #perl6
02:24 TimToady that oughta work...
02:25 TimToady rakudo: +("freeeeeeeeeeeeeeeew" ~~ /$<stuff>=('e'|'w')*/)<stuff>
02:25 p6eval rakudo 748771: OUTPUT«Use of uninitialized value␤»
02:26 TimToady rakudo: "freeeeeeeeeeeeeeeew" ~~ /[(<[ew]>)||.]*/;
02:26 p6eval rakudo 748771: RESULT«Match.new(␤ # WARNING: this is not working perl code␤ # and for debugging purposes only␤ ast  => "freeeeeeeeeeeeeeeew",␤ text => "freeeeeeeeeeeeeeeew",␤ from => 0,␤ to   => 19,␤ positional => [␤  Match.new(␤     ast  => "e",␤     text => "e",␤     from => 2,␤     to   => 3,␤
02:26 p6eval .. )...
02:26 TimToady rakudo: "freeeeeeeeeeeeeeeew" ~~ /[(<[ew]>)||.]*/; +$0
02:26 p6eval rakudo 748771: RESULT«17»
02:26 TimToady there you go
02:26 firelord wow
02:27 firelord Thank you TimToady.
02:28 simcop2387 joined #perl6
02:28 frioux joined #perl6
02:28 skids joined #perl6
02:28 aindilis joined #perl6
02:28 jan_ joined #perl6
02:28 Eevee joined #perl6
02:28 c1sung joined #perl6
02:28 pugs_svn joined #perl6
02:30 frioux so I need all of your advice
02:30 frioux my boss implied that me and all of my co-workers could go to yapc
02:30 frioux so I invited them all
02:30 frioux and then he said I have to pick 1
02:30 frioux what do I do?!
02:32 skids Well, first make a pity play, then some will drop out because others want to go more.
02:33 skids Then I guess, the best man wins.  Nerf dart duel!
02:33 frioux I mentioned something about a cage match...
02:35 SamB point out to your boss how much it will cost to replace the losers
02:35 grwi joined #perl6
02:35 grwi left #perl6
02:35 frioux hahaha
02:35 frioux Fight to the DEATH!
02:36 firelord brb
02:36 firelord This nick is registered so going to need to change....
02:37 firelord left #perl6
02:39 raveon joined #perl6
02:39 raveon left #perl6
02:45 takadonet joined #perl6
02:45 takadonet finally a registered nick....
02:48 skids rakudo: say "can i haz cheezbirrgrr?".comb(/a|e|r/) + 0
02:48 p6eval rakudo 748771: OUTPUT«8␤»
02:48 frioux ohhh
02:48 frioux that's the best one!
02:49 frioux rakudo: say +"freweeeeeeeeeeeeeeeeeeewew".comb(/e|w/)
02:49 skids There will be better.  That still builds an array, though only of the selected letters.
02:49 p6eval rakudo 748771: OUTPUT«24␤»
02:49 takadonet what is comb?
02:49 skids The flipside of split.
02:49 takadonet Cannot believe you guys are still on my question.
02:49 skids golfing can be fun
02:50 skids (and educational)
02:50 frioux takadonet: what's your solution :-)
02:50 takadonet Not that great...
02:51 takadonet Still just playing around in perl6
02:55 skids Can we get adverbs into regexe yet in rakudo?
02:56 skids (erm "modifiers")
02:56 alc joined #perl6
03:02 amoc joined #perl6
03:05 lichtkind_ q :ww / ... / is the same as <<  ... >> ?
03:15 takadonet left #perl6
03:15 agentzh joined #perl6
03:37 samlh joined #perl6
03:42 kimtaro joined #perl6
03:48 agentzh joined #perl6
03:56 Sepheebear joined #perl6
04:11 agentzh left #perl6
04:16 agentzh joined #perl6
04:23 pugs_svn r25980 | lwall++ | [Cursor] preliminary implementation of ww
04:23 pugs_svn r25980 | lwall++ | [STD] fix buglet causing duplicate .caps in "$a[]" postfix
04:46 OuLouFu joined #perl6
05:00 Tene joined #perl6
05:21 eternaleye joined #perl6
05:33 viklund` joined #perl6
06:12 eternaleye joined #perl6
06:35 DemoFreak joined #perl6
06:39 parduncia joined #perl6
06:58 finanalyst joined #perl6
07:05 xinming_ joined #perl6
07:18 pmurias joined #perl6
07:25 moritz_ rakudo: { say 3 }; say 0;
07:25 p6eval rakudo 748771: OUTPUT«3␤0␤»
07:28 goksie joined #perl6
07:29 moritz_ std: my $x = regex{abc}
07:29 p6eval std 25980: OUTPUT«ok 00:02 35m␤»
07:30 pmurias moritz_: i spotted "is also" in t/S12-class
07:31 moritz_ pmurias: I know, the test suite is not yet updated
07:33 masak joined #perl6
07:36 eternaleye joined #perl6
07:37 moritz_ it's on my TODO list, but I want to coordinate it with the Rakudo hackers
07:37 pmurias moritz_: should i add a "update t/S12-*, so i don't implement something bygone" step to my GSoC proposal?
07:39 pmurias or is it near the top of TODO list and it will be done by the start of the GSoC? ;)
07:40 masak is it too late to add GSoC tasks to some list? I think I have a good one.
07:43 dukeleto moritz: i just sent a pull request for roots() to rakudo
07:45 dukeleto moritz: and of course after that I realize that I should have used the 'polar' builtin, but I wrote my own. That will be the first improvement
07:47 moritz_ masak: don't think it's too late
07:47 dukeleto masak: please, add gsoc tasks to http://www.perlfoundation.org/pe​rl5/index.cgi?gsoc_2009_projects as well
07:47 moritz_ pmurias: if you update S12-*, please fudge the files for Rakudo
07:47 dukeleto definitely not too late
07:47 alc joined #perl6
07:47 masak good. I think a PGE grammar for YAML, along with a Perl 6 wrapper, could benefit many Perl 6 projects.
07:48 masak dukeleto: thank you. I will.
07:48 dukeleto masak: those sound like great ideas
07:48 masak dukeleto: glad you like it too. I think it's also the right length for a GSoC task.
07:49 moritz_ dukeleto: I'll look at roots() later today
07:49 moritz_ I've done a JSON parser in two or three hours in Perl 6 ;-)
07:50 dukeleto moritz: no worries, I am going to bed
07:50 moritz_ but that's a bit cheating, http://www.json.org/ contains a grammar that can be translated very neatly to Perl 6
07:50 dukeleto night y'all, happy hackin'
07:51 moritz_ dukeleto: good night
07:52 moritz_ masak: is there some documentation along the lines "if I want to use proto for my project, that's what I have to do..."?
07:52 masak moritz_: no, but I've been meaning to write something a bit like that for a few days.
07:53 masak moritz_: I think the README in proto is the closest thing so far.
07:53 moritz_ masak: good; then I'll be your tester once you've done it ;-)
07:53 masak moritz_: basically, what you have to do is add a deps.proto file with a list of deps.
07:53 masak moritz_: I'll ping you when I have something.
07:54 moritz_ masak: great
08:00 eternaleye joined #perl6
08:00 Matt-W Morning
08:01 masak Matt-W: OH HAI
08:09 pugs_svn r25981 | moritz++ | [t/spec] corrected caps.t, (j y)++
08:25 ejs joined #perl6
08:26 finanalyst moritz_: does proto assume rakudo under parrot or parrot under rakudo?
08:26 masak moritz_: ping
08:27 moritz_ finanalyst: ask masak ;-)
08:27 moritz_ masak: pong
08:27 masak finanalyst: neither. it can work with both setups.
08:27 masak moritz_: http://github.com/masak/proto/blob/master/PIONEER
08:27 masak finanalyst: however, it defaults to installing latest-release Rakudo, with Parrot inside.
08:28 masak but only if it cannot find an already installed Rakudo.
08:29 moritz_ masak++
08:31 masak in the building step, there are a lot of details that I omitted for now.
08:31 finanalyst masak: I have parrot with rakudo inside languages/ (this being the old way). I am considering changing the setup to rakudo with parrot inside, as this seems to be the most logical for perl6 focus. what do you think?
08:31 masak mberends, Matt-W and I need to sit down together and come up with the real conventions for building Perl 6 projects.
08:32 masak finanalyst: I think do whichever you are comfortable with. I've done both, and I don't thing there is much difference.
08:38 Matt-W masak: yes we do
08:38 masak Matt-W: we should set a day and time, like real grownups do. :)
08:39 Matt-W sounds like work to me :)
08:39 Matt-W But yeah, we should
08:39 masak Matt-W: it won't be work if everyone brings cookies!
08:39 Matt-W Yes it would
08:39 Matt-W We have cookies at work for meetings sometimes
08:40 masak bananas? plastic toy animals?
08:40 masak miniature excavators?
08:40 Matt-W heh
08:40 Matt-W comfy armchairs
08:40 masak ooh!
08:40 Matt-W pyjamas
08:40 masak this is getting better and better.
08:41 masak (as long as we don't have to Skype with video)
08:41 Matt-W haha
08:41 Matt-W I don't do that very often
08:41 * masak doesn't really like Skype video
08:41 masak too much like a real meeting to me.
08:41 Matt-W I only tend to use it when there are physical objects which need to be shown
08:41 Matt-W Which doesn't happen with anything work-like
08:42 Matt-W although at work we do have a proper videoconferencing suite
08:42 rgs joined #perl6
08:42 Matt-W I never get to use it though
08:43 Matt-W Don't work with people from other offices very often
08:49 ejs1 joined #perl6
08:54 * mberends @shopping.push( "cookies" );
08:56 masak mberends: :)
08:57 mberends masak: Matt-W: meeting asap, currently anytime this week :)
08:58 moritz_ class Shopping { has @.cart handles <push pop shift unshift>: method pay { ... } }
08:58 masak mberends: sure thing. not today, I think. perhaps tomorrow or Thursday?
08:59 mberends ok, my first thought is a canonical 'hello, world!' example
08:59 mberends but not today, then
09:00 masak canonical 'hello, world' example sounds nice.
09:02 mberends moritz_: class Shopping is also { method park { ... } method wait_for_partner { ... } }
09:02 * mberends !does Shopping
09:03 moritz_ that's 'augment class Shopping { ... }' these days
09:04 mberends hmm. the sugar doesn't change the experience however :)
09:05 masak Rakudo still uses 'is also' et al though.
09:05 * mberends needs tea. $kettle.fill.boil.pour( $cup );
09:06 masak oh, a 'fluent interface' :)
09:06 mberends or Literate Programming
09:07 masak rakudo: my Int $a = 4 - 3; say $a; my Int $b = "4" - 3;
09:07 p6eval rakudo 748771: OUTPUT«1␤Type mismatch in assignment.␤current instr.: 'die' pc 15608 (src/builtins/control.pir:204)␤»
09:07 masak is it just me, or does this feel a bit harsh?
09:08 cls_bsd joined #perl6
09:08 mberends it's p5ish
09:09 masak how is variable typing p5ish?
09:11 mberends in "4" - 3 the operator coerces to a number, but maybe not in P6
09:11 masak yes.
09:11 masak but Num !~~ Int.
09:11 mberends oh. I been bitten by that before as well.
09:12 masak I'd argue that if 4 - 3 works, then "4" - 3 ought to as well.
09:12 mberends yes, therefore it is harsh
09:13 Matt-W masak: mberends: I can do tomorrow daytime, Thursday afternoon (GMT)
09:13 masak good, then the Principle of Early says tomorrow.
09:13 masak a time?
09:14 mberends 9:00 UTC?
09:14 masak worksforme.
09:15 masak maybe cap the meeting at 20 minutes?
09:15 mberends can do
09:16 masak I know just the type of cookies I'll bring.
09:17 masak ok, so the goal of the meeting is to reach consensus on a Good Practice for makefiles and configure scripts for Perl 6 projects. something that'll work long-term.
09:17 mberends masak++: saw your makemaker only later #[ tada! ] quite a hefty command line, but nice as a sub for proto.
09:17 masak mberends: I do not know what you're referring to.
09:18 masak mberends: ah, that one.
09:18 mberends :)
09:18 masak yes, it can follow module dependencies. it's not perfect, but it's a fun tool.
09:18 masak I'm not sure if proto needs it, though.
09:19 masak oh wait, perhaps if it's supposed to work as a Makefile maker, yes.
09:19 mberends discuss that tomorrow as well
09:20 masak agreed.
09:20 pmurias joined #perl6
09:20 Matt-W Righty-ho
09:20 Matt-W 9am it is
09:22 mberends masak: bacek++ has sockets working in PIR on Unix. HTTP::Daemon can easily be updated when he's done, and Druid will be able to hook into that too :)
09:22 masak mberends: nice.
09:22 Matt-W oooooooooooooh
09:23 Matt-W bacek++
09:23 masak Druid is first in line for the new Web.pm classes, surprisingly enough.
09:24 * mberends will do 'hello, world!' for homework
09:39 meppl joined #perl6
09:40 xinming joined #perl6
09:44 masak on the evenings, I tend to work on the test suite for Druid.
09:44 masak it's quite relaxing work, but it's also amazing how much better it makes the code.
09:46 eternaleye_ joined #perl6
09:46 masak it makes me braver in refactoring, and it finds things I wouldn't have.
09:47 masak this is currently my favourite statement in the whole codebase: http://github.com/masak/druid/blob/6ce404ef486fca​dadd08dfdb6c0c409fe3743a36/lib/Druid/Game.pm#L71
09:47 samlh joined #perl6
09:48 mberends masak: gnarly
09:48 masak mberends: but completely understandable, I think.
09:49 masak it's just a lot of details.
09:51 moritz_ masak: the last three lines of that statement looks like it could be simplified to another grep
09:52 masak moritz_: probably, yes.
09:52 masak patches welcome.
09:55 pugs_svn r25982 | pmurias++ | [re-smop] started porting over interpreter and mold, some more work on named params in capture
10:00 bacek joined #perl6
10:01 masak hm, $.heights[$row_m][$column_m] == $.heights[$row_1][$column_1] could be written as (.[$row_m][$column_m] == .[$row_1][$column_1] given $.heights)
10:02 masak don't know whether it'd be a good idea, though.
10:08 pmurias i think it would be a pretty bad one
10:09 pmurias as you have to look at the end to see what you are comparing
10:12 masak indeed.
10:13 masak and (given $.heights { .[$row_m][$column_m] == .[$row_1][$column_1] }) somehow feels like too much work just to reduce duplication.
10:14 disismt joined #perl6
10:23 bacek_ joined #perl6
10:26 Hobbestigrou joined #perl6
10:26 Hobbestigrou left #perl6
10:33 jnthn morning all
10:34 bacek_ jnthn: evening :)
10:35 jnthn bacek: How's the sockets stuff going?
10:36 bacek jnthn: it requires some love...
10:36 bacek And I need few more hours to refactor it.
10:37 moritz_ good morning jnthn
10:38 masak bacek: a few of us are very interested in the work on the sockets. best of luck.
10:38 masak jnthn: OH HAI
10:39 bacek masak: I promised to Ilya that I'll finish them by weekend :)
10:39 jnthn moritz_: OH HAI
10:39 masak bacek: ok. looking forward to that.
10:39 masak I'll mention it in today's blog post.
10:40 jnthn bacek++ # great!
10:40 bacek masak: not so fast. Let me finish it first :)
10:40 masak bacek: as you wish.
10:41 masak I'll be vague instead, and say that the Rakudo folks have been starting work on sockets.
10:44 jnthn bacek: Will you leave "unimplemented" stubs for Win32 also?
10:44 jnthn bacek: Or you plan to implement that too?
10:45 bacek jnthn: I'm not quite familiar with win32 development.
10:45 jnthn OK.
10:45 bacek But I'll made my best to convert old socket_win32.
10:47 jnthn bacek: OK, I can try and help there too.
10:47 jnthn I know Win32, if not sockets. ;-)
10:52 pugs_svn r25983 | pmurias++ | [re-smop] added a basic test for interpreter, add SMOP_interpreter_create()
11:15 amoc joined #perl6
11:29 pugs_svn r25984 | pmurias++ | [re-smop] fixed smop_placeholder_message
11:29 hkBst joined #perl6
11:31 hkBst is there a web interface for browsing the pugs source code?
11:32 mberends hkBst: yes, Pod::Server within http://github.com/eric256/​perl6-examples/tree/master
11:34 mberends actually, it browses the Pod mainly, and just shows other files as plain text
11:34 hkBst mberends: I want to browse the pugs code. I don't see how to do that with your link.
11:34 pugs_svn r25985 | pmurias++ | [re-smop] expanded the test for the interpreter
11:35 mberends ok, there's something else for browser only access. looking...
11:36 pmurias hkBst: you can browse subversion repos from the browser if they are served on http
11:36 mberends hkBst: http://svn.pugscode.org/pugs/
11:36 pmurias hkBst: why don't you want to co the repo?
11:37 hkBst pmurias: I am looking into the status of pugs
11:38 pmurias the haskell implemention itself is dead
11:39 hkBst is another project also called pugs?
11:39 pmurias they are other thing living in the repo now the test suit,smop,elf...
11:39 pmurias hkBst: no, why do you ask?
11:40 mberends pugs: say "I'm not dead!";
11:40 p6eval pugs: OUTPUT«I'm not dead!␤»
11:41 hkBst pmurias: because you seemed to imply the `pugs' is not the same as `the haskell implementation'
11:41 hkBst why was pugs abandoned?
11:41 pmurias audreyt stoped working on it
11:42 hkBst I see
11:42 mberends also, Rakudo on top of Parrot it more like the final goal.
11:42 mberends *is
11:50 FurnaceBoy joined #perl6
11:51 ruoso joined #perl6
11:52 pmurias ruoso: hi
11:53 ruoso hi pmurias
11:54 hkBst thank you for the explanation and help, mberends and pmurias
11:59 mberends you're welcome :) hopefully you will try Perl 6 out in one form or another
12:01 ruoso TimToady, just to note that after all the flatten/unflatten discussion, I realized bare (1,2,3) is not List... but a Capture... That makes a very clear definition that flattening only traverse inside captures...
12:02 pasteling "pmurias" at 78.8.158.35 pasted "rough GSoC schedule" (29 lines, 642B) at http://sial.org/pbot/35666
12:03 pmurias ruoso: do you think implementing that (see the schedule) for GSoC is enough/to little/to much?
12:03 ruoso pmurias, I think you're forgetting that you need to have RoleHOW in order to have multi working
12:05 ruoso not just RoleHOW, actually... but bootstrapping Multi.pm
12:06 ruoso so you can, after that, implement trait_auxiliary:<is>('export', &code)
12:07 ruoso so you can implement Test.pm
12:07 ruoso with all the multies for the operators
12:08 jnthn ruoso: We've tended to have Test.pm not in a module Test { ... } so as not to have to worry about export, since we didn't have that for a while (we do just of recently). So can be a useful cheat. ;-)
12:09 pmurias ruoso: i wasn't sure how to mention that in the schedule as we don't "pun" true classes untill we have ClassHOW
12:09 ruoso just say that... ;)
12:10 ruoso or, in a more ellaborated way...
12:10 ruoso for bootstrapping purposes, a primitive RoleHOW is installed that pun classes using PrototypeHOW. This primtive RoleHOW will be replaced when we have ClassHOW in place...
12:11 ruoso jnthn, interesting... but that only saves us the "is export" part... all the other operators still need to be multis....
12:11 jnthn ruoso: Yes, true.
12:12 ruoso and that reminds me I'm still unconfortable about one thing in multi
12:12 jnthn ruoso: We did have the benefit that we could piggy-back off Parrot's multiple dispatch which was good enough until we got the proper Perl 6 dispatch algorithm implemented.
12:13 jnthn Only one thing? ;-)
12:13 jnthn Lucky guy!
12:13 ruoso heh...
12:13 ruoso "my" and "our" usually refer to "new" symbosl
12:13 ruoso but in a multi you have the possibility to install it as a candidate of a multi declared in an outer scope
12:14 ruoso using "our" to say "install this in the outer definition of the multi"
12:14 ruoso seems odd
12:15 ruoso since "our" mean... create a symbol in the package with a lexical alias...
12:15 ruoso or re-use a symbol if there is already one... *in the current package*
12:15 jnthn Ah, but then we've gone and said that multis get imported into lexical scopes and not the package. Hmm.
12:16 jnthn (At least, not unless you ask for 'em in the package.)
12:16 ruoso I think it's the same dillema with had with methods
12:16 ruoso and I argue "my" and "our" should always be the same...
12:18 jnthn my I would expect to declare a new multi in the current lexical scope that overrides those in the outer scope (I don't know if it just hides anything of the same signature or if it hides 'em all, mind...maybe the spec says somewhere)
12:18 jnthn And our - yes, int he package.
12:19 ruoso the current package
12:19 ruoso with a local alias
12:19 jnthn Is installing one in an outer scope going to be a common thing?
12:19 ruoso our is just an extension to "my"
12:20 jnthn Aye, though we don't actually install anything in the lexpad in Rakudo for our, just keep track of the fact that this name is an alias to something in the package.
12:20 ruoso that's "install" to me
12:20 ruoso ;)
12:20 jnthn Compile time installation. ;-)
12:21 jnthn We know we can look up multis in an outer scope and .add_candidate or whatever the method would be called.
12:21 ruoso "push" in rakudo...
12:21 jnthn So it's not that there's no way.
12:21 ruoso my biggest concern is about multis that get exported
12:21 jnthn Yeah, but that's unspec, and I'm not 100% sure I like the name.
12:22 riot joined #perl6
12:22 jnthn .candidates for getting a list of candidates feels fine, but .push..hmm.
12:22 jnthn Anyway, bike-shedding.
12:22 ruoso does each "use" checks if there's a definition in that scope and add to it?
12:23 pmurias does parrot have knowhows?
12:24 jnthn ruoso: I'd figured since it's a lexical import into the current scope, then it should check if there's a definition in that scope and add to it, and if not then it'd need to create a Multi in that scope.
12:24 jnthn pmurias: Depends what you mean by "have knowhows"
12:24 ruoso so it's the "use" code that does that...
12:25 jnthn Yeah, but depending on how your lexpads work you may need to do some twiddling at compile time too.
12:25 donaldh joined #perl6
12:25 jnthn (Which is fine because we do 'use' at compile time...)
12:26 ruoso rakudo: knowhow Foo { method bar { say 1 } }; Foo.bar;
12:26 p6eval rakudo 748771: OUTPUT«Could not find non-existent sub Foo␤current instr.: '_block14' pc 64 (EVAL_16:42)␤»
12:27 jnthn pmurias: Did you mean, does Rakudo have knowhow?
12:27 jnthn pmurias: Or did you mean, does Parrot have any similar concept?
12:29 donaldh1 joined #perl6
12:30 ruoso jnthn, hmm... actually... it's not the "use" code... it's "Foo::Bar::.EXPORTALL" that does it...
12:31 ruoso S11 do need more work
12:31 jnthn ruoso: Hmm...but a use by default shouldn't call .EXPORTALL
12:32 ruoso er... not according to S11
12:32 jnthn It should only pull in stuff in Foo::Bar::EXPORT::DEFAULT
12:32 ruoso EXPORTALL is the one that handles Foo::Bar::EXPORT::DEFAULT
12:32 pmurias jnthn: i meant if rakudo has knowhow
12:32 jnthn ruoso: Oh, then it's name is fail.
12:32 jnthn pmurias: No, not yet.
12:32 jnthn pmurias: Maybe in the next couple of months or so.
12:32 jnthn It's not that high priority compared to other things we're missing.
12:33 ruoso jnthn, EXPORTALL receives the tags sent by "use", and call EXPORT with the unknown ones...
12:33 jnthn Ah, OK.
12:33 ruoso similar to BUILDALL/BUILD
12:33 jnthn Ah, so it's not referring to Foo::Bar::EXPORT::ALL
12:33 jnthn OK..
12:33 pmurias jnthn: was concerned if i have to explain what knowhows are in the GSoC proposal
12:34 ruoso pmurias, you can use STD as an example... STD already supports it
12:37 pmurias ruoso: is the amount of work i'll spend implementing the schedule enough for GSoC or should i add extra things?
12:37 ruoso I'm worried it might be too much
12:39 ruoso pmurias, I understand the spec test are interesting check points. but there is a lot to be done which can't be represented in terms of spectest...
12:40 ruoso at least, no tests that I'm aware of...
12:40 ruoso honestly... if you bootstrap Multi.pm without cheats... I think it would be a cool project already
12:41 ruoso (including sorting the candidates and grouping the ones with equal value)
12:42 ruoso remember, you have a very small time-frame
12:45 jnthn pmurias: Having been there and done pretty much all that you're proposing - it *is* quite a bit of work.
12:46 jnthn pmurias: For example, roles only got done fairly quickly because Parrot had been taught how to handle them a couple of years before Rakudo needed them.
12:46 * masak likes the suggestion to make the logo for Rakudo contain a zombie cat
12:47 jnthn pmurias: And multi-dispatch has been a lot of effort to nail down the algorithm. On the upside, there's quite a few tests now. :-)
12:48 jnthn Also it's probably better to have something comfortably achievable and do a bit more than that, than having something that's too big and fall short of it.
12:49 ruoso indeed...
12:51 ruoso masak, but I'm not pretty sure how can you illustrate it...
12:51 masak ruoso: true.
12:51 masak it still needs to look fashinable and appropriately perky.
12:52 pmurias_ joined #perl6
12:52 jnthn http://www.google.sk/search?q=sit​e%3Aicanhascheezburger.com+zombie
12:52 jnthn ;-)
12:53 ruoso http://i.lolcatz.net/tb/fdc47511​-269d-4526-a637-06c1dd2ecc16.jpg
12:54 pmurias_ ruoso: we don't need ClassHOW for Multi, right?
12:54 ruoso no...
12:54 ruoso we can use the primitive RoleHOW
12:55 pmurias ruoso: i think i'll cut of the ClassHOW part and just do Multi properly
12:55 ruoso I think that's a good plan
13:01 rodi joined #perl6
13:01 pmurias ruoso: what do we need for Multi? failures,RoleHOW and Signature?
13:02 ruoso yes... but I think there's some ways to go far with AdhocSignature
13:02 ruoso like... providing a method that returns the list of types..
13:05 ejs2 joined #perl6
13:11 ruoso masak, heh... I've just posted a zombie cat to the list ;)
13:12 masak ruoso: I am slightly amused by this turn of events.
13:13 masak ruoso: nice.
13:13 masak Raarwkudo!
13:14 pifuruan joined #perl6
13:15 masak ruoso: I could see the final logo evolve out of that SVG image.
13:18 pifuruan any guy explain what does  perldoc use ' string 's internal form' mean
13:19 masak pifuruan: hello, this is #perl6. we gladly answer questions about Perl 6.
13:19 masak for Perl 5, there are other fora.
13:20 pifuruan a o
13:20 grwi joined #perl6
13:21 grwi left #perl6
13:31 ruoso pmurias, I think you forgot to por SMOP__NATIVE__CAPTURE__named
13:31 ruoso s/por/port/
13:33 donaldh1 left #perl6
13:33 donaldh1 joined #perl6
13:33 donaldh1 left #perl6
13:37 mikehh rakudo (7487710) on parrot r37676 builds make test/make spectest PASS - Kubuntu Intrepid i386
13:46 lambdabot joined #perl6
13:46 PerlJam make that zombie cat out of hexagons (for some reason I like the tie-in to graphene too :)
13:53 masak or a hexagon built out of zombie cats.
13:54 PerlJam or do some sort of figure/ground trick with hexagons and cats.
13:55 PerlJam look at it one way and it's a hexagon R, look at it another way and it's a zombie cat.  :)
13:55 masak an Escher infinity of zombie cats walking stairs in different directions.
13:56 PerlJam Anything with escher, hexagons and zombie cats wins in my book.
13:56 masak Escher in a hexagon, with a zombie cat on his head.
13:58 rgs the universe (which others call the Library) is composed of an indefinite and perhaps infinite number of hexagonal galleries.
13:58 PerlJam someone suggested  that the cat should be eating a parrot, but I think it's the parrots who made the zombie cat.   So ... two parrots with a frankensteinesque cat could be interesting  :)
13:58 masak actually, cats are good for another reason, namely the connection between Lolspeak and Rakudo.
13:58 jnthn I CAN HAZ KITTEH LOGO?
13:59 masak exactly.
13:59 hercynium joined #perl6
14:07 skids joined #perl6
14:12 DemoFreak joined #perl6
14:12 [particle] joined #perl6
14:16 pugs_svn r25986 | pmurias++ | [re-smop] added SMOP__NATIVE__idconst_create and SMOP__NATIVE__capture_named
14:17 NordQ joined #perl6
14:18 masak wanted: a plugin to vim or Emacs which enumerates 'ok' et al in test files.
14:32 moritz_ rakudo: my $x = 'a' ~~ /a/; say $x.WHAT
14:32 p6eval rakudo 748771: OUTPUT«Match␤»
14:33 masak \o/
14:36 frioux joined #perl6
14:40 masak ok, so what about this one: we might not get the camel, but we can still put a zombie lolcat in a desert environment. sort of give it a background with a pyramid and/or an oasis.
14:40 ruoso pmurias, it might be a good idea to check if the named parameter keys are idconsts...
14:40 lambdabot ruoso: You have 1 new message. '/msg lambdabot @messages' to read it.
14:40 ruoso @messages
14:40 lambdabot skids said 1d 13h 13m 47s ago: http://www.abrij.org/~bri/S07-tempurl.diff S07 edits + new coro section
14:41 ruoso I already have read that lambdabot!
14:42 jnthn masak: Remember the logo should be reasonably simple too.
14:42 jnthn zombie lolcat + pyramid... ;)
14:42 jnthn Quite complex even if...interesting.
14:43 exodist joined #perl6
14:43 masak jnthn: doesn't have to be too complicated.
14:43 masak Firefox has the entire Earth in its logo without it looking complex.
14:44 moritz_ a cat that hangs on top of a pyramid?
14:44 pmurias ruoso: you can use anything you want as keys if you are happy with pointer equality
14:44 masak moritz_: a really happy kitteh on top of a pyramid.
14:44 ruoso pmurias, heh... that's not quite useful for things different than idconst, is it?
14:44 rgs kittens prefer palm trees
14:44 PerlJam if we weren't talking about rakudo,  a nice montage could be made of cats and snakes and rubys and such to signify all of the languages for which there exist a parrot compiler.
14:45 pmurias ruoso: you can add it
14:47 masak someone draw http://www.flickr.com/phot​os/ocpetphotos/2508271110/ in SVG, and people will look at the Rakudo logo, and go "aaaaaw"... forever.
14:48 nihiliad joined #perl6
14:49 skids ruoso: I don't know if that talk with TimToady there clered everything up, but if you wanted to cut the section on the item iterator until the @@ stuff gets resolved, I don't mind backtracking changes. (no pugs commit bit here.)
14:50 moritz_ skids: you can get a pugs commit bit easily
14:50 skids howso?
14:50 moritz_ skids: just /msg me your email address and desired username
14:50 moritz_ (or any other pugs committer that has two minutes free time)
14:51 moritz_ skids: sent. Please add yourself to AUTHORS as a commit test
14:52 skids is there a time limit or can I do that later (at work now)?
14:52 moritz_ skids: no time limit
14:53 * skids thanks moritz++
15:04 skids If I read this right, the last thing executed by a lazy loop which has not been asked for another iteration is the LEAVE block (or KEEP/UNDO)
15:04 skids And a redo will not wait for an iteration request.
15:05 skids Do I have that right?
15:09 ejs1 joined #perl6
15:11 disismt joined #perl6
15:16 [particle] anyone here want to be a mentor for gsoc2009, who hasn't signed up yet? i can help you with that.
15:17 PerlJam What does a mentor do?
15:18 [particle] if you get a student, you coach them through the program
15:18 ruoso [particle], how do I know If I'm already signed as a mentor?
15:18 [particle] meet with them at least weekly, preferably more often
15:19 [particle] ruoso: i try to add you, and it tells me you're already there? maybe? this app is new, so i'm a bit behind on that
15:19 ruoso [particle], you have my mail?
15:20 [particle] ruoso: you need to create an account at http://socghop.appspot.com
15:20 [particle] perljam: i think you'd be an excellent mentor, btw
15:20 PerlJam okay, I've created an account.
15:20 [particle] create your accounts, if you wish, and give me the 'public name'
15:21 [particle] i'll be back in 15m, and send invites!
15:21 donaldh joined #perl6
15:21 moritz_ [particle]: all done here, thank you
15:23 PerlJam [particle]: perlpilot is my public name
15:24 ruoso [particle], ok... I have myself listed as "pending requests"
15:35 kimtaro joined #perl6
15:35 lisppaste3 joined #perl6
15:36 pmichaud good morning #perl6
15:38 diakopter #perl6 greets you warmly
15:38 diakopter ... you stumble into a trove of round tuits.
15:39 jnthn morning pmichaud
15:41 [particle] invites sent!
15:43 masak good morning pm
15:43 [particle] PerlJam, ruoso: could you fill out http://spreadsheets.google.com/viewform?f​ormkey=cEF6WjFMQzZUd0tTQWUwR0tvTW1aU3c6MA..
15:46 amoc good morning all !
15:49 cls_bsd joined #perl6
15:49 * amoc , and then, prepares to go to sleep
15:52 [particle] perljam, ruoso: nevermind, don't need todo that last bit
15:52 ruoso too late
15:52 PerlJam way too late.
15:52 PerlJam :)
15:53 [particle] PerlJam, ruoso, masak: you should, however, join tpf-gsoc@groups.google.com
15:53 masak [particle]: gotcha.
15:54 * masak 's request to join is now pending
15:54 dukeleto the tpf-gsoc mailing list is for mentors only to discuss gsoc-related stuff and the tpf-gsoc-students is for students to ask questions
15:54 dukeleto i will approve now
15:55 dukeleto just approved
15:56 [particle] dukeleto: more on their way, from folks in #parrot
15:57 dukeleto sweet!
15:57 frioux does anyone here know where I can get a room at CMU (for YAPC?)
15:57 * moritz_
15:57 frioux I can't seem to find it on their site.
15:58 moritz_ (that was to dukeleto)
15:58 [particle] frioux: i don't think they've opened that up yet
15:58 frioux ah, ok
15:58 frioux thanks [particle]
15:59 frioux ah, it does say "Once we have finalized our facilities contract with CMU, ..."
15:59 [particle] http://yapc10.org/yn2009/wiki?node=Newslet​ter%20%231%20Monday%20March%2016%2C%202009
16:00 Meijito joined #perl6
16:01 Meijito Hey, how I can put photo into a perl script? I don't wanna leave some photo in folder. I wanna implant it to script. Is it possible and how?
16:01 PerlJam Meijito: store the whole thing in a string or as __DATA__
16:02 moritz_ Meijito: this channel is about developing the programming language Perl 6, not about Perl 5 questions
16:02 PerlJam heh ... /me didn't even realize he was still on #perl6   (ETOOMANY#PERL)
16:02 Meijito moritz_, from where you know that i'm using perl5? Maybe I use perl 6.
16:02 moritz_ Meijito: are you?
16:03 moritz_ Meijito: nearly all users who ask such questions here use perl 5
16:03 Meijito It's very slippery question.
16:04 [particle] meijito: you don't use perl 6, i can tell :)
16:04 PerlJam Meijito: or you're just trying to be slippery in not answering.
16:04 Meijito Answer: If you will still help me if my anser is "Perl 5" when: Yes, I'm using perl5, but if no, so: "I'm using Perl 6". Damn, I'm smart. :D
16:05 Meijito But if really so yes, I'm using Perl 5. And.. Here is litle problem. Channel: #perl5 not exist.
16:05 PerlJam Meijito: this is where everyone starts ignoring you (if they haven't already)
16:05 moritz_ Meijito: try perlmonks.org
16:05 ruoso Meijito, join #perl instead
16:05 PerlJam Meijito: but #perl does exist
16:05 Meijito Yes, but I can't join here. I write: /join #perl and it not work. :/
16:06 ruoso Meijito, try #perl @ irc.perl.org
16:06 Meijito perlmonks.org - It's bad cause here answer you can wait.. All week. IRC is better.
16:06 moritz_ congratulations, you got a ban
16:06 moritz_ Meijito: most questions on perlmonks are answered within 2 hours or faster
16:07 Meijito ruoso, thanks. I go and will is in perl network.
16:07 Meijito :)
16:10 dKingston joined #perl6
16:13 * skids ponders how to talk about thread variable sharing without opening the traditional can of worms.
16:14 skids obviously @a <== map {...} <== map {...} <== @b we want to work.
16:15 skids So maybe if we asked the heavyweights what the code inside map should look like to be "threadsafe" we could infer the answers as to what is shared in an "autothread."
16:16 ejs joined #perl6
16:17 mako132 joined #perl6
16:17 skids Without tackling any of the subject matter about how to make threading work to any developer's druther.
16:18 TimToady http://www.wall.org/~larry/camelia.pdf
16:19 TimToady ruoso, jnthn: multi dispatch never looks in packages, so whether there's an "our" is immaterial
16:19 dukeleto TimToady: what a beautiful meta-buttterfly
16:20 skids hypersmiley!
16:20 TimToady and the meme is extensible: X-with-P6-wings
16:20 goksie joined #perl6
16:21 TimToady maybe the new camel book should have a camel with butterfly wings, victorian style
16:21 TimToady and a completely straight-faced exposition of the dromedary butterfly
16:21 skids Or just lolcat whiskers.
16:22 moritz_ like this? http://perl6.ru/img/perl6book-parody.gif
16:22 dukeleto moritz: did you get a chance to look at the roots_squashed pull request?
16:22 moritz_ dukeleto: no, not yet
16:23 skids lol is that a crocodile head?
16:24 dukeleto moritz: i don't know if I included too much detail of the algorithm in the POD, but y'all can always cut it down
16:30 ruoso TimToady, no dispatcher looks in the package, but the user might want to make the multi available as a package symbol... hence "our"
16:31 ruoso but the questions is wether it is possible to declare a new candidate to an outer multi
16:32 ruoso but maybe new candidates are never visible in outer scopes...
16:32 ruoso and EXPORTALL does some trick to merge the different candidates from different modules in the user's scope
16:33 ruoso this actually fits well with the idea of candidates list being closed at compile time
16:34 TimToady the only modifiable outer scope is COMPILING
16:35 TimToady and you modify it by exporting
16:35 ruoso so EXPORTALL modifies COMPILING
16:35 ruoso it checks if there's already a &foo in that scope
16:35 TimToady if you put an alias into the package, then it's just for handy &foo use
16:35 ruoso TimToady, yes... "our" is just a handy alias
16:36 TimToady so anyway, I'm not worried about our vs my wrt multis
16:36 ruoso that wasn't my worry
16:37 ruoso so... EXPORTALL looks for COMPILING::<&foo>
16:37 ruoso if there is one, add his candidates to it
16:37 ruoso if there isn't, create a new multi and install his candidates in it
16:37 ruoso but...
16:38 ruoso COMPILING is a flattened scope like CALLER? or does it really means the scope in the level it is right now?
16:38 ruoso i.e...
16:39 ruoso { my multi foo {...}; { use Foo; } }
16:39 ruoso when calling Foo::.EXPORTALL
16:39 ruoso would COMPILING see the outer &foo?
16:39 ruoso or would you need to use something like COMPILING::OUTER::<&foo>?
16:39 araujo joined #perl6
16:40 * PerlJam would guess the former
16:40 ruoso but that would mean the outer &foo would be changed... so the scoped "use" would kinda fail...
16:41 justatheory joined #perl6
16:42 ruoso in theory there's a "lookup" method of some sort in the lexical scope object
16:42 ruoso so if COMPILING doesn't mean a "flattened" scope...
16:43 ruoso you can do...
16:43 TimToady the policy for importing a multi into a lexical scope should be identical to the policy for declaring one there directly
16:43 masak rakudo: class A does Callable { method invoke() {} }; A.new().()
16:43 p6eval rakudo 748771: OUTPUT«invoke() not implemented in class 'A'␤current instr.: '_block14' pc 71 (EVAL_23:40)␤»
16:43 masak is too!
16:43 ruoso TimToady, so COMPILING is not a "flattened" scope
16:43 TimToady no, it's not
16:43 ruoso cool...
16:44 ruoso so I guess there should be some method to perform an actual lookup in its outer scopes...
16:45 ruoso maybe COMPILING::OUTER is flattened
16:46 ruoso so you can lookup for other definitions of &foo to copy the variatns
16:46 ruoso TimToady, does that make sense?
16:46 TimToady maybe
16:46 jnthn masak: That role probably should in fact just make it an error not to write a postcirfumfix:<( )>
16:47 masak jnthn: aye.
16:47 masak rakudobug?
16:47 TimToady jnthn: did you see above about multis?
16:48 jnthn TimToady: I noticed it; I'll read it in detail later (working on $other_stuff at the mo)
16:49 TimToady k
16:49 * ruoso wonders how COMPILING ends up being found by EXPORTALL
16:50 Psyche^ joined #perl6
16:50 ruoso looks like a dynamic lookup... but it's written like a package...
16:50 TimToady CALLER is also dynamic
16:51 TimToady and CONTEXT
16:51 ruoso hmm... right...
16:51 ruoso so it goes finding for the "use" call
16:53 TimToady COMPILING really doesn't care about "use" at all.  it could as easily be in a macro definition
16:56 PerlJam TimToady: what do you think about a twigil (or some syntactic marker) to differentiate dynamic things from non-dynamic things?  I ask because it's somthing that I tend to have a lookup table for in my head.
16:57 ruoso TimToady, the problem is that when you compile a file, and it uses a file you don't have compiled, it needs to then recursively compile that file..
16:57 PerlJam (yes, I realize how vague that is :)
16:57 donaldh left #perl6
17:00 eternaleye joined #perl6
17:07 M_o_C joined #perl6
17:13 TimToady PerlJam: we all ready have the * twigil for dynamic variables
17:13 PerlJam but not for CALLER and such.   That's where there's a lookup table in my head.
17:17 cspencer joined #perl6
17:22 pugs_svn r25987 | pmurias++ | [re-smop] added a test for mold
17:25 TimToady we discourage people from fiddling with CALLER that way :)
17:31 parduncia joined #perl6
17:31 eternaleye joined #perl6
17:31 FurnaceBoy joined #perl6
17:31 pugs_svn r25988 | ruoso++ | [re-smop] fix a missing RELEASE in interpreter_message
17:38 pasteling "pmurias" at 78.8.158.35 pasted "revised GSoC schedule" (13 lines, 441B) at http://sial.org/pbot/35673
17:39 meppl joined #perl6
17:39 c9s__ joined #perl6
17:42 pmurias ruoso: do you think something like that would be ok?
17:42 ruoso pmurias, yes... but I'd even remove the last three lines... just the multi part is already a lot of work...
17:48 cognominal_ joined #perl6
17:57 schmalbe joined #perl6
18:03 * frioux is going to YAPC!!!  woohoo!
18:05 pmurias YAPC::NA?
18:06 frioux yessir
18:10 pmurias joined #perl6
18:16 PerlJam joined #perl6
18:26 xinming joined #perl6
18:31 cdarroch joined #perl6
18:34 cognominal_ joined #perl6
18:35 xinming_ joined #perl6
18:44 cdarroch left #perl6
18:46 cdarroch joined #perl6
18:48 Schnueff joined #perl6
18:59 Tene rakudo: my $a = "♪la la la♪"; say $a
18:59 p6eval rakudo 07ceac: OUTPUT«♪la la la♪␤»
19:24 lisppaste3 joined #perl6
19:28 ruoso svn down
19:38 disismt joined #perl6
19:40 finanalyst joined #perl6
19:41 finanalyst per6: my $s = foo(); say $s.perl; sub foo { my $v = 1|11; return $v}
19:42 finanalyst perl6: say "hi"
19:42 p6eval elf 25988, pugs, rakudo 07ceac: OUTPUT«hi␤»
19:42 M_o_C you forgot the "l" in perl6
19:42 dalek joined #perl6
19:42 finanalyst aggggh
19:43 finanalyst perl6: my $s=foo(); say $s.perl; sub foo {my $v = 1|11; return $v}
19:43 p6eval elf 25988: OUTPUT«11␤»
19:43 p6eval ..rakudo 07ceac: OUTPUT«any(1, 11)␤»
19:43 p6eval ..pugs: OUTPUT«\(1 | 11)␤»
19:44 jonathan2 joined #perl6
19:45 finanalyst perl6: my $s; foo($s); say $s.perl; sub foo($w is rw) {$w = 1|11}
19:45 p6eval elf 25988: OUTPUT«undef␤»
19:45 p6eval ..pugs: OUTPUT«\(1 | 11)␤»
19:45 p6eval ..rakudo 07ceac: OUTPUT«Type mismatch in assignment.␤current instr.: 'die' pc 15608 (src/builtins/control.pir:204)␤»
19:46 Juerd joined #perl6
19:47 jnthn rakudo++
19:48 jnthn (the type of a parameter is Any, which doesn't accept Junction, for anyone wondering...)
19:48 Juerd feather's backup :)
19:48 jnthn erm, default type...
19:48 Juerd s/backup/back up/
19:49 Juerd left #perl6
19:51 finanalyst is this a rakudo bug?
19:51 finanalyst or is pugs incorrect?
19:51 moritz_ finanalyst: pugs doesn't do any type checking
19:52 jnthn finanalyst: What moritz said, and Rakudo is correct.
19:52 ruoso jnthn, a bare "my $s" is Any?
19:52 ruoso or is the signature?
19:52 jnthn ruoso: The sig.
19:52 jnthn It's the assignment to $w that does it
19:52 finanalyst so why can a junction be returned from the sub?
19:52 ruoso interesting... I didn't assume default type for a signature was An
19:52 ruoso Any
19:53 jnthn ruoso: That's how junction auto-threading works.
19:53 ruoso right...
19:53 ruoso but...
19:53 ruoso I didn't assume an untyped signature was Any
19:53 jnthn It is.
19:53 ruoso spec?
19:53 moritz_ finanalyst: because the return type doesn't assume Any
19:53 jnthn Well, for Routine.
19:53 jnthn Yes, it's in the spec.
19:53 ruoso ok then
19:53 jnthn Maybe S03.
19:53 jnthn Or S09.
19:53 moritz_ S02 iirc ;-)
19:53 jnthn Or possibly S02.
19:53 jnthn Oh.
19:54 jnthn Well, I got it eventually. :-)
19:54 moritz_ Any         Perl 6 object (default routine parameter type, excludes junction) Object
19:54 jnthn All of them mention auto-threading. ;-)
19:54 c9s joined #perl6
19:54 finanalyst how to set the type to junction in the signature?
19:54 moritz_ s/Object/
19:54 jnthn moritz_++ # thanks, I'm lazy.
19:54 desertmax joined #perl6
19:54 ruoso S06 is where most of Signature resides
19:54 desertmax left #perl6
19:54 desertmax joined #perl6
19:54 moritz_ finanalyst: sub f(Junction $x) # if it should only allow junction
19:54 jnthn finanalyst: Just give the parameter a type Junction or Object.
19:54 moritz_ finanalyst: or sub f(Object $x) # both junctions or normal values are OK
19:55 jan_ joined #perl6
19:55 skids Though to be particularly anal it should really return multiple times, in an autothreaded manner.  Which of course is impossible :-)
19:56 finanalyst perl6: my $s; foo($s); say $s.perl; sub foo(Object $w is rw) {$w = 1|11}
19:56 p6eval rakudo 07ceac: OUTPUT«any(1, 11)␤»
19:56 p6eval ..elf 25988: OUTPUT«undef␤»
19:56 p6eval ..pugs: OUTPUT«\(1 | 11)␤»
19:56 jnthn Well, it could run the rest of the program from that point on concurrnetly for each junc...no I so am not going to suggest that.
19:56 skids lol
19:57 skids I was just NOT going to admit I was thinking that.
19:57 jnthn ;-)
19:57 jnthn There's a saying about great minds, and another about all fools...
20:02 DemoFreak joined #perl6
20:04 [particle] joined #perl6
20:05 cognominal joined #perl6
20:08 trigger_trilogy joined #perl6
20:09 jnthn masak++ # that Leviticus quite is The Awesome.
20:23 moritz_ rakudo: 'ab' ~~ /<x>(.)/; say $/.keys.perl
20:23 p6eval rakudo 07ceac: OUTPUT«Unable to find regex 'x'␤Null PMC access in invoke()␤current instr.: 'parrot;PGE;Grammar;' pc 299 (EVAL_18:122)␤»
20:24 moritz_ rakudo: 'ab' ~~ /<xdigit>(.)/; say $/.keys.perl
20:24 p6eval rakudo 07ceac: OUTPUT«[0]␤»
20:24 moritz_ rakudo: 'ab' ~~ /<xdigit>(.)/; say %($/).keys.perl
20:24 p6eval rakudo 07ceac: OUTPUT«["xdigit"]␤»
20:26 Diederich joined #perl6
20:26 finanalyst rakudo: my @x=1|11,2,1|11; say ([+] @x).perl
20:26 p6eval rakudo 07ceac: OUTPUT«any(any(4, 14), any(14, 24))␤»
20:27 finanalyst rakudo: my @x = 1|11,2,1|11; say ([+] @x).eigenstates.perl
20:27 p6eval rakudo 07ceac: OUTPUT«[any(4, 14), any(14, 24)]␤»
20:28 moritz_ it doesn't flatten yet as it should
20:28 moritz_ but it's going away anyway
20:28 finanalyst that's what i want to know
20:28 finanalyst it should flatten
20:29 finanalyst rakudo: my @x=1|11,2,1|11; say ([+] ([+] @x))
20:29 p6eval rakudo 07ceac: OUTPUT«Junction<0xb603aaa0>␤»
20:30 finanalyst rakudo: my @x=1|11,2,1|11; say ([+] ([+] @x)).perl
20:30 p6eval rakudo 07ceac: OUTPUT«any(any(4, 14), any(14, 24))␤»
20:30 moritz_ the nested junction still behaves like the "flat" one
20:31 moritz_ it autothreads as whole over +
20:31 finanalyst my @x=1|11,2,1|11;say ([+] ([+] @x).eigenstates).eigenstates.perl
20:31 finanalyst rakudo: my @x=1|11,2,1|11;say ([+] ([+] @x).eigenstates).eigenstates.perl
20:31 p6eval rakudo 07ceac: OUTPUT«[any(18, 28), any(28, 38)]␤»
20:32 finanalyst is that right?
20:32 alester joined #perl6
20:32 moritz_ it's not right, because .eigenstates should be private method
20:32 finanalyst i dont follow
20:33 finanalyst do you mean that one of the eigenstates is ok, but the second is not?
20:33 ruoso finanalyst, junctinos are not sets
20:33 ruoso finanalyst, you shouldn't try to get its members
20:33 ruoso you just use it as regular values
20:33 finanalyst how?
20:33 finanalyst to get members?
20:34 ruoso you don't
20:34 moritz_ don't.
20:34 moritz_ it's as simple as that.
20:34 moritz_ (and it annoys me, because it means testing becomes rather hard)
20:34 ruoso moritz_, you test for each individual value
20:34 ruoso more verbose... not harder...
20:34 moritz_ ruoso: but then I don't test for absence of values
20:35 moritz_ ruoso: or if I do, I have to consider a huge pool of values
20:35 ruoso moritz_, I think there's a trick you can do...
20:36 * ruoso taking a look ..
20:36 pugs_svn r25989 | moritz++ | [t/TASKS] not ticket number of 'is also' -> 'augment' transition
20:36 finanalyst i am not understanding junctions too well. where is there some more info
20:36 finanalyst on junctins
20:36 moritz_ ruoso: also, the test for individual items is much harder for all() junctions
20:37 ruoso rakudo: say "ok" if any(1,2,3) == all(1,2,3)
20:37 moritz_ finanalyst: I wrote something here: http://perlgeek.de/blog-en/p​erl-5-to-6/08-junctions.html
20:37 p6eval rakudo 07ceac: OUTPUT«ok␤»
20:37 finanalyst thanx
20:37 ruoso moritz_, ^^
20:38 moritz_ ruoso: there are also one() and none() junctions
20:38 moritz_ rakudo: say "ok" if any(1,2,3) == all(1,2)
20:38 p6eval rakudo 07ceac: OUTPUT«ok␤»
20:38 moritz_ it didn't test for absence of 3 in the first junction
20:38 moritz_ and it already relies von correct autothreading
20:38 ruoso rakudo: say "ok" if all(1,2,3) == all(1,2);
20:39 p6eval rakudo 07ceac: RESULT«all(all(Bool::True, Bool::False), all(Bool::False, Bool::True), all(Bool::False))»
20:39 moritz_ rakudo: say all(1,2,3) == all(1,2) ?? 'yes' !! 'no'
20:39 p6eval rakudo 07ceac: OUTPUT«no␤»
20:40 ruoso rakudo: my $j = 1 | 2; say all(1,2,3) == all($j) ?? 'yes' !! 'no'
20:40 p6eval rakudo 07ceac: OUTPUT«no␤»
20:40 ruoso rakudo: my $j = 1 | 2 | 3; say all(1,2,3) == all($j) ?? 'yes' !! 'no'
20:40 p6eval rakudo 07ceac: OUTPUT«yes␤»
20:40 ruoso rakudo: my $j = 1 | 2 | 3 | 4; say all(1,2,3) == all($j) ?? 'yes' !! 'no'
20:40 p6eval rakudo 07ceac: OUTPUT«yes␤»
20:41 ruoso er... that's a bug...
20:41 ruoso rakudo: say all(1,2,3) == all(1,2,3,4)
20:41 p6eval rakudo 07ceac: OUTPUT«Junction<0xb6017770>␤»
20:41 ruoso rakudo: say (all(1,2,3) == all(1,2,3,4)).perl
20:41 p6eval rakudo 07ceac: OUTPUT«all(all(Bool::True, Bool::False), all(Bool::False, Bool::True), all(Bool::False, Bool::True))␤»
20:42 ruoso rakudo: say (all(1,2,3) == all(1,2,3)).perl
20:42 p6eval rakudo 07ceac: OUTPUT«all(all(Bool::True, Bool::False), all(Bool::False, Bool::True), all(Bool::False, Bool::True))␤»
20:43 finanalyst did i read somewhere that Damian Conway gave a talk on superpositions that introduced junctions?
20:44 ruoso you probably did... Damian did gave that talk
20:44 ruoso rakudo: say (all(1,2) == all(1,2)).perl
20:44 p6eval rakudo 07ceac: OUTPUT«all(all(Bool::True, Bool::False), all(Bool::False, Bool::True))␤»
20:45 ruoso rakudo: say (all(1,2) == all(1,2)).true
20:45 p6eval rakudo 07ceac: OUTPUT«0␤»
20:45 ruoso rakudo: say (all(1,2) == all(any(1,2))).true
20:45 p6eval rakudo 07ceac: OUTPUT«1␤»
20:45 ruoso rakudo: say (all(1,2) == all(any(1,2,3))).true
20:45 finanalyst but where can i find it?
20:45 p6eval rakudo 07ceac: OUTPUT«1␤»
20:46 finanalyst damian's talk
20:46 ruoso finanalyst, I'm not sure he publishes it
20:46 moritz_ finanalyst: he wrote Quantum::Superposition, a Perl 5 module that somewhat implements junctions
20:47 ruoso rakudo: say (all(1,2) == any(1,2,3)).true # this checks if all values are in the jucntion
20:47 p6eval rakudo 07ceac: OUTPUT«1␤»
20:47 finanalyst is there an easy way to flatten nested junctions using the current version of rakudo?
20:47 ruoso finanalyst, use it in boolean context
20:49 finanalyst i found a version of Damian's Superposition talk - in Portugese!!!
20:50 sri_kraih joined #perl6
20:50 ejs joined #perl6
20:51 finanalyst rakudo: my @x=1|11,2,3|33; my $s=[+] @x; say $s.perl; say ?($s)
20:51 p6eval rakudo 07ceac: OUTPUT«any(any(6, 36), any(16, 46))␤1␤»
20:51 skids rakudo: push(any(1|2|3); @_.say;
20:51 p6eval rakudo 07ceac: OUTPUT«Statement not terminated properly at line 1, near "(any(1|2|3"␤␤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)␤»
20:51 ruoso finanalyst, skids, junctions are not sets
20:51 skids rakudo: my @a; @a.push(any(1|2|3)); @a.say;
20:51 p6eval rakudo 07ceac: OUTPUT«Junction<0xb60a4788>␤»
20:52 skids ruoso: I know.
20:52 moritz_ IMHO that's a bug
20:53 moritz_ it push should autothread over the junction, and then complain for each that it can't push to an Int
20:53 skids But people will be able to autothread in a way that retains values.
20:53 skids Nomatter what they are told.
20:53 ruoso rakudo: my @a; @a.push(1|2|3); @a.say
20:53 p6eval rakudo 07ceac: OUTPUT«Junction<0xb6024298>␤»
20:53 jnthn That's wrong for sure because .say should auto-thread.
20:53 skids Which was the point I was trying to make.
20:54 jnthn (Whihc will happen if somebody moves it to the setting ;-))
20:54 ruoso jnthn, push sould autothread...
20:54 jnthn ruoso: Depends on its signature.
20:54 jnthn ruoso: I suspect it won't though.
20:54 finanalyst ruoso: you said junctions are not sets twice, but why is that significant here. I think i should be getting any(6, 16,36,46)
20:55 jnthn Because probably role Array[::T = Object] { method push(T *@x) { } }
20:55 moritz_ finanalyst: any(any(1, 2), any(3, 4)) is the same as any(1, 2, 3, 4) in *all* respects, excepts for .eigenstates which is going away
20:56 skids At any rate implementing the Set type would at least give an alternative to point people to.
20:56 moritz_ finanalyst: so there's no reason to mull over the fact if and how it should flatten
20:56 moritz_ skids: aye, good idea
20:56 skids But then what is any(all(1,2),none(3,4))?
20:57 moritz_ skids: it is exactly what it is, any(all(1,2),none(3,4))
20:57 ruoso it doesn't make sense on itself
20:57 skids So it will not flatten.
20:57 ruoso it only makes sense when you try to do something with it
20:57 ruoso skids, it might or might not
20:57 moritz_ if you do any(all(1,2),none(3,4)) < 3, it'll autothread to any(all(True, True), all(False, False))
20:58 ruoso skids, that question is pointless...
20:58 moritz_ and that collapses to True in Booleand context
20:58 moritz_ flattening is an optimization
20:58 ruoso skids, because a junction is something that should be seen as 1 value
20:58 moritz_ that is probably not possible for junctions of mixed types
20:58 finanalyst is there not some sort of algebra to simplify junction expressions like that
20:58 moritz_ finanalyst: there is
20:59 moritz_ finanalyst: for example all(a, a, $stuff) is the same as all(a, $stuff)
20:59 finanalyst what about any(all(1,2),none(3,4))?
21:00 jnthn That'd maintain its structure.
21:00 moritz_ I don't see a trivial optimization there
21:00 finanalyst or am i thinking in sets?
21:00 ruoso I think you do
21:00 ruoso a junction only makes sense when you try to do something with it
21:01 moritz_ and a set doesn't have different collapsing types as Junctions do
21:01 ruoso because sets doesn't collapse
21:01 ruoso ;)
21:01 moritz_ right ;-)
21:04 finanalyst ok. How is any(3,4,5,6) different from any(3,4,any(5,6))?
21:04 ruoso it isn't
21:05 finanalyst so the any can be taken out of the brackets?
21:05 moritz_ yes
21:06 finanalyst what about any(3,4,all(6..8)) does this have another representation?
21:07 moritz_ I don't see one
21:07 finanalyst perhaps any(all(3,6..8),all(4,6..8))
21:07 moritz_ no
21:07 moritz_ 3 == any(3,4,all(6..8)) is true in boolean context
21:08 mikehh joined #perl6
21:08 ruoso finanalyst, again... it only makes sense when you try to use it...
21:08 moritz_ 3 == any(all(3,6..8),all(4,6..8)) is false in boolean context
21:08 * ruoso still trying to figure out a way to check for absent values...
21:09 moritz_ rakudo: say %*ENV.WHAT === ::Hash;
21:09 p6eval rakudo 07ceac: OUTPUT«1␤»
21:09 finanalyst ruoso: I can see that you need to test again junctions, but finding other representations is surely important, such as trying to find a way to test absent values
21:10 donaldh joined #perl6
21:10 moritz_ rakudo: say %*ENV.WHAT === Hash;
21:10 p6eval rakudo 07ceac: OUTPUT«1␤»
21:10 moritz_ rakudo: say %*ENV.WHAT eq Hash;
21:10 p6eval rakudo 07ceac: OUTPUT«1␤»
21:11 finanalyst rakudo: 3 == any(all(3,6..8),all(4,6..8)) and say "yes"
21:11 donaldh left #perl6
21:11 p6eval rakudo 07ceac: RESULT«any(all(Bool::True, Bool::False), all(Bool::False))»
21:13 finanalyst rakudo: (3,6..8) == any(all(3,6..8),all(4,6..8)) and say "yes"
21:13 p6eval rakudo 07ceac: RESULT«any(all(Bool::False), all(Bool::False))»
21:13 finanalyst rakudo: all(3,6..8) == any(all(3,6..8),all(4,6..8)) and say "yes"
21:14 p6eval rakudo 07ceac: RESULT«all(any(all(Bool::True, Bool::False), all(Bool::False)), any(all(Bool::False, Bool::True), all(Bool::False, Bool::True)), any(all(Bool::False, Bool::True), all(Bool::False, Bool::True)), any(all(Bool::False, Bool::True), all(Bool::False, Bool::True)))»
21:14 ZuLuuuuuu joined #perl6
21:14 moritz_ finanalyst: when it says RESULT«...» instead of OUTPUT«...» it means that the statement produced no output
21:14 moritz_ in that case it returns .perl of the return value
21:14 finanalyst I was wondering.
21:14 skids and is not boolean enough.
21:15 moritz_ rakudo: say ?(all(3, 4) == 3)
21:15 p6eval rakudo 07ceac: OUTPUT«0␤»
21:15 moritz_ that's an easier and less confusing way to test the truthiness
21:15 finanalyst rakudo: say ?(all(3, 4) >= 3)
21:15 p6eval rakudo 07ceac: OUTPUT«1␤»
21:15 * ruoso later &
21:15 finanalyst ahhhhhh
21:16 skids Is "truthiness" an official Perl6 term now? Colbert will be pleased.
21:16 moritz_ don't think so
21:16 donaldh1 joined #perl6
21:16 moritz_ the only Colbert I know is a french battle ship ;-)
21:16 finanalyst got to go. thanx for the junction tutorial
21:16 finanalyst left #perl6
21:17 skids moritz_: seriously? (WRT "Colbert")
21:18 moritz_ skids: yes
21:18 skids wikipedia "truthiness"
21:18 justatheory joined #perl6
21:20 wknight8111 joined #perl6
21:27 moritz_ rakudo: class A { }; say A.what === A;
21:27 p6eval rakudo 07ceac: OUTPUT«Could not locate a method 'what' to invoke on class 'A'.␤current instr.: 'die' pc 15608 (src/builtins/control.pir:204)␤»
21:27 moritz_ rakudo: class A { }; say A.WHAT === A;
21:27 p6eval rakudo 07ceac: OUTPUT«1␤»
21:32 mikehh joined #perl6
21:40 hkBst joined #perl6
21:49 Woody4286 joined #perl6
21:49 Woody4286 joined #perl6
21:53 moritz_ dukeleto: I'm now looking at your roots and roots_squashed branches, and neither can be merged cleanly into master... am I missing something crucial?
21:56 moritz_ I tried (on master) git merge leto/roots_squashed, and it gave me quite some conflicts
22:02 PerlJam moritz_: I think it's just that he hasn't merged recent changes into his branch.
22:03 moritz_ PerlJam: I just thought he did a merge --squash and resolved the errors on the way
22:04 moritz_ and currently I'm not motivated to resolve 13 conflicts myself :/
22:07 moritz_ ah, it seems a rebase + squash seems to solve most of it
22:12 PerlJam rebase + squash?
22:14 donaldh1 left #perl6
22:20 moritz_ first in the branch 'git rebase master', then in master git merge --squash branch
22:23 bjohnb joined #perl6
22:27 bjohnb leave
22:28 bjohnb exit
22:28 moritz_ bjohnb: try it with / in front
22:28 bjohnb left #perl6
22:32 skids joined #perl6
22:47 skids gather { gather { take 1; lift take 2; } }  # opinions?
22:48 moritz_ I don't think that does what you want
22:50 moritz_ lift (iirc) is for propagating different set of multis
22:53 skids The S04 wording seems to deftly avoid mentioning variables other than those defined in the inner scope.
22:54 skids And at the same time infer anything not found is searched for in the outer scope.
22:54 skids But then, the identity of the innermost gather would be "found"
22:54 skids So I think you are right.
23:09 skids So then that leads me to: will there be LABEL.take and context(...).take
23:11 skids The docs are not explicit about that.
23:11 moritz_ skids: send a mail to p6l and ask
23:12 skids but then I'd get sucked into p6l :-)
23:12 moritz_ damn, he noticed my trick ;-)
23:12 moritz_ skids: in the long run nothing can safe you anyway ;-)
23:13 moritz_ skids: when the discussions get too long, you can just ignore most of them
23:15 skids I'll think about it but life's been so much better since I gave up mls.
23:16 skids i really had a ... problem... there, total addict.
23:16 moritz_ ok, then I won't try to suck you in again.
23:16 moritz_ just ask TimToady then ;-)
23:27 kate21de joined #perl6
23:27 * jnthn ponders that Ruud's suggestion is easily do-able in a module with augment class List { method dop ... }
23:28 eternaleye joined #perl6
23:29 moritz_ jnthn: I just suggested 1 ~~ 0 :dop(7) (but as a user defined operator, please)
23:30 hercynium joined #perl6
23:30 moritz_ this looks like the perfect place for attributes on operators
23:31 jnthn adverbs, but yes.
23:31 moritz_ erm, yes
23:31 jnthn The only thing is though...
23:31 skids check the precedence rules, they are tricky for those.
23:31 jnthn You've used infix:<~~>
23:31 jnthn Which is already used for smart-match.
23:31 moritz_ but not with the :dop adverb
23:31 moritz_ remeber that it just does a multi dispatch
23:32 jnthn Yeah, but named parameters don't participate in the multi dispatch.
23:32 moritz_ uhm.
23:32 jnthn (By spec, for 6.0.0)
23:32 jnthn Thus a big part of the motivation for why we can write protos.
23:32 moritz_ then our whole idea for using adverb-based testing is also dead, I think
23:33 jnthn Hmm. :-|
23:33 jnthn Oh, hang on though...
23:33 jnthn Maybe not.
23:33 jnthn I guess because the named paramters may be able to veto in some sense.
23:33 moritz_ well, I wasn't too fond on re-writing 18k tests anyway
23:34 jnthn But I don't know that it falls out so neatly.
23:36 * moritz_ wonders why his git-push hasn't made it to github yet
23:37 moritz_ the github web page doesn't show it, and dalek didn't report it either
23:37 moritz_ but the command clearly indicated success
23:37 moritz_ (and now we're at 7367 passing tests)
23:41 jnthn Nice.
23:42 * jnthn would love to hit 7,500 for the next release.
23:42 moritz_ that sounds very possible
23:42 moritz_ ... assuming that git doesn't screw up things
23:43 moritz_ hm, a fresh 'git clone' shows the commit
23:43 dalek rakudo: 1ef8919 | (Jonathan Leto)++ |  (3 files):
23:43 dalek rakudo: Implement roots() builtins
23:43 dalek rakudo: Signed-off-by: Moritz Lenz <moritz@faui2k3.org>
23:43 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/1​ef891980c196cd217f12de6b02a4c1e963993d1
23:43 dalek rakudo: 9a84c35 | (Moritz Lenz)++ | t/spectest.data:
23:43 dalek rakudo: add now passing roots.t to t/spectest.data
23:43 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/9​a84c3577cbb5a317684274759aae25f77ddb853
23:43 moritz_ ah, there you go
23:49 FurnaceBoy joined #perl6
23:50 jnthn Nice.
23:50 jnthn dukeleto++
23:52 moritz_ indeed
23:55 jnthn Rakudo day tomorrow, BTW.
23:55 jnthn Oh, uh.
23:55 jnthn Today.
23:55 ZuLuuuuuu left #perl6
23:55 jnthn The bit of the day that happens after I've spent some time unconcious.
23:57 jnthn I hope to work on import a bit more, sort out multi method invocants to have the right type, and try to implement something new. :-)
23:58 moritz_ sounds nice ;-)

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

Perl 6 | Reference Documentation | Rakudo