Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2010-10-28

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:00 simon joined #perl6
00:01 ggoebel left #perl6
00:13 rgrau_ left #perl6
00:18 QinGW joined #perl6
00:20 QinGW1 joined #perl6
00:20 takadonet quiet night
00:22 QinGW left #perl6
00:22 QinGW joined #perl6
00:23 dnl- joined #perl6
00:24 dnl left #perl6
00:25 QinGW1 left #perl6
00:27 justatheory left #perl6
00:31 ggoebel joined #perl6
00:38 envi left #perl6
00:40 chturne left #perl6
00:41 dnl joined #perl6
00:42 dnl- left #perl6
00:47 Limbic_Region joined #perl6
00:50 araujo http://pastie.org/1254257
01:09 PuraVida left #perl6
01:10 Entonian left #perl6
01:15 molaf left #perl6
01:16 toebu left #perl6
01:16 toebu joined #perl6
01:20 araujo you guys don't mind if I .... "borrow" the 'say' keyword right? :P
01:20 colomon :p
01:29 molaf joined #perl6
01:32 takadonet araujo: go for it
01:35 justatheory joined #perl6
01:35 huf_ left #perl6
01:35 huf joined #perl6
01:36 justatheory left #perl6
01:40 araujo takadonet, hehe
01:48 justatheory joined #perl6
01:48 justatheory left #perl6
01:49 chturne joined #perl6
01:49 chturne left #perl6
02:02 colomon "too few positional arguments: 2 passed, 3 (or more) expected" really sucks when you've just refactored a hundred lines of code.
02:02 Khisanth left #perl6
02:04 takadonet colomon: ya
02:04 Tene colomon: you get a stack trace though, right?
02:04 takadonet I think i dig myself a hole as well
02:04 colomon nope
02:04 Tene wtf that's a problem.
02:05 jaldhar joined #perl6
02:05 colomon no line number, no stack trace, no variable name (which is presumably the problem)
02:05 Tene function name, ITYM
02:06 colomon no, the problem is the function call is messed up somewhere in the error reporting process.
02:07 colomon at least, I think that's what I'm seeing.
02:09 Khisanth joined #perl6
02:10 * colomon wonders if it will be faster to fix Rakudo to report the error properly or randomly change things in his code until it stops complaining.
02:15 colomon where did my ack go?
02:19 ggoebel left #perl6
02:19 plobsing maybe it got rst
02:20 diakopter colomon: I like the genetic mutation option
02:23 colomon well, reinstalling App::Ack seems to have ack back, anyway.
02:23 ggoebel joined #perl6
02:32 colomon okay, I've found the line in parrot that generates the too few positional arguments error message.
02:38 colomon and I've got no idea what to do with that piece of information.  :)(
02:41 colomon well, at least selective commenting has shown me the three lines of code in my code that trigger the message.
02:41 colomon I've no idea why yet, but that's something....
02:42 cdarroch left #perl6
02:47 colomon afk # bed
02:52 bartolin left #perl6
02:55 takadonet left #perl6
02:58 dnl left #perl6
03:01 agentzh joined #perl6
03:09 bartolin joined #perl6
03:11 Limbic_Region left #perl6
03:22 patspam left #perl6
03:33 ggoebel left #perl6
03:38 TimToady when I get the strange error in a large program, I feed it to viv to find the actual error
03:38 TimToady it will gladly tell you which variable you didn't declare
03:38 TimToady bbl &
03:51 Guest86661 left #perl6
04:10 meppl joined #perl6
04:12 Tene colomon: you could show us the three lines.
04:34 kanishka joined #perl6
04:36 araujo * 8 By The Value Of set var To length Of "Hello World!"
04:36 baest left #perl6
04:36 araujo => 96
04:39 baest joined #perl6
05:03 sftp left #perl6
05:07 pnu left #perl6
05:08 pnu joined #perl6
05:11 justatheory joined #perl6
05:30 justatheory left #perl6
05:42 pnu left #perl6
05:43 pnu joined #perl6
06:04 plobsing left #perl6
06:07 _kaare joined #perl6
06:20 wtw joined #perl6
06:27 kanishka left #perl6
06:39 envi joined #perl6
06:51 sorear hello #perl6
06:58 araujo left #perl6
06:59 QinGW left #perl6
06:59 QinGW joined #perl6
06:59 sorear cotto: ping
07:05 cotto sorear, pong
07:06 nsh- left #perl6
07:07 nsh joined #perl6
07:08 sorear cotto: kid51 has assigned me to the architecture team, lorito group and asked me to report to you
07:12 cotto sorear, ok.  I just got a nice writeup from atrodo about his experiences implementing a Lorito prototype and some good feedback as to what gaps need to be filled in better.
07:13 cotto My plan is to use his feedback and the Lorito roadmap on the wiki to figure out what we need specify before we can give people a viable spec to build a final product with.
07:13 sorear it should be pointed out that I am neither a Parrot user nor developer at this point
07:14 cotto ok.  I thought you had a commit bit for some reason.
07:14 cotto Either way, it's good to have an outside perspective.
07:14 cotto Are you on parrot-dev.
07:15 cotto ?
07:15 sorear Yes
07:16 cotto ok
07:17 cotto I'll plan on talking with chromatic in the next few days to figure out which points need discussion and which are easy.
07:17 cotto I really want to get the design nailed down so we can start working on the final deal, but it's also important to get something as foundational as Lorito right.
07:21 cotto I'll do my best not to waste your tuits.  I hope to get some questions posted to parrot-dev by Friday or Saturday, at which point I'll appreciate your thoughts.
07:22 cotto sorear, What's your background?
07:22 cotto Is there anything in particular you're hoping to help design and/or hack on?
07:22 mavrc joined #perl6
07:23 sorear cotto: since July I've been working on a Perl 6 compiler with an optimization focus
07:24 cotto That's ambitious.  I bet you're learning a lot.
07:24 sorear yes
07:27 sorear I think I should be adding PIR as a target option soon
07:28 sorear probably the week after next
07:35 jedai left #perl6
07:36 cotto sorear, thanks for volunteering!  It'll be a little bit (a week or two) before efforts really pick up, but I want to get Parrot moving toward Lorito as much as I can.
07:45 sorear it feels a bit weird to have been nominated for this after spending months working against Parrot
07:49 jedai joined #perl6
07:51 Alias joined #perl6
07:51 jfried joined #perl6
07:52 cotto define "against"
07:54 cotto ;)
07:56 sjohnson hello perl6 people
07:57 Tene hi!
07:58 * cotto is a Parrot person, but says "hi" anyway
07:58 sjohnson yo tene long time no chat
07:58 sjohnson cotto: *squawk* hello sir *squawk*
07:58 sjohnson <--- needs some comedy lessons
08:03 * sorear -> sleep
08:03 cotto night, sorear
08:18 [particle]1 joined #perl6
08:19 [particle] left #perl6
08:20 Axius joined #perl6
08:22 pythonian4000 is now known as pythonian4000afk
08:27 pythonian4000afk is now known as pythonian4000
08:28 Axius left #perl6
08:31 Axius joined #perl6
08:34 pythonian4000 is now known as pythonian4000afk
08:35 IllvilJa joined #perl6
08:41 Axius left #perl6
08:43 Axius joined #perl6
08:45 icwiener joined #perl6
08:52 LoRe joined #perl6
08:59 Axius left #perl6
09:13 IllvilJa left #perl6
09:14 bartolin left #perl6
09:21 cjk101010 joined #perl6
09:23 bartolin joined #perl6
09:27 kensanata joined #perl6
09:28 araujo joined #perl6
09:31 pythonian4000afk is now known as pythonian4000
09:41 wamba joined #perl6
10:05 QinGW left #perl6
10:23 colomon TimToady++
10:45 ggoebel joined #perl6
10:45 ggoebel left #perl6
10:46 pythonian4000 is now known as pythonian4000afk
10:56 ggoebel joined #perl6
11:00 ggoebel left #perl6
11:01 MayDaniel joined #perl6
11:04 icwiener left #perl6
11:09 colbseton` joined #perl6
11:22 plainhao joined #perl6
11:31 ggoebel joined #perl6
11:33 icwiener joined #perl6
11:37 am0c joined #perl6
11:41 dnl joined #perl6
11:42 ggoebel left #perl6
11:44 patspam joined #perl6
11:44 patspam left #perl6
11:46 masak joined #perl6
11:46 masak oh hai, #perl6!
11:46 LoRe left #perl6
11:46 LoRe joined #perl6
11:49 tzhs joined #perl6
11:51 kensanata left #perl6
11:51 kensanata joined #perl6
11:54 LoRe left #perl6
12:05 takadonet joined #perl6
12:06 takadonet hey everyone
12:09 masak takadonet: \o
12:12 colomon o/
12:16 LoRe_ joined #perl6
12:18 pmichaud good morning, #perl6
12:19 takadonet pmichaud: morning sir
12:22 masak good morning, pmichaud.
12:22 masak Rakudo Star release today?
12:23 pmichaud definitely, if gitorious is up
12:23 pmichaud I have to take kids to school -- will do release after that
12:23 pmichaud bbiab
12:24 masak what does gitorious have to do with Rakudo Star. I thought everything was on github.
12:24 masak s/\./?/
12:25 takadonet gitorious?
12:25 smash joined #perl6
12:25 masak http://gitorious.org/
12:25 smash hello everyone
12:25 icwiener left #perl6
12:25 masak hi smash.
12:27 masak hey, look at this: "camlp4 vs camlp5" -- http://alan.petitepomme.net/cwn/2008.12.30.html#3
12:27 masak why does this feel familiar? :)
12:27 masak they have a 4 instead of a 6, but otherwise things look fairly similar...
12:29 am0c left #perl6
12:29 colbseton` left #perl6
12:33 ggoebel joined #perl6
12:37 pmichaud masak:    http://gitorious.org/http-daemon/mainline \
12:37 masak ah. ok.
12:37 masak I should have been able to guess that.
12:38 colomon So, I e-mailed Damian yesterday about his modules.
12:38 colomon (the p6 ones, I mean)
12:38 colomon Could we host them under perl6 or rakudo on github?
12:38 pmichaud perl6, yes.
12:39 colomon okay, I'll offer to do that, then.  :)
12:39 takadonet colomon: so... you may have already ported the module i'm working on?
12:40 colomon errr.... probably no?  what are you working on?
12:40 takadonet sorry Damian
12:40 takadonet Text::wraps and Text::Tabs
12:40 colomon nope, that's not on the list he sent me.
12:40 takadonet sweet
12:40 colomon and he says that he was planning on porting Text::Autoformat, but hasn't started yet.
12:40 takadonet i got Text::Tabs to work 100% with the tests but Wraps been ... little more difficult
12:41 colomon takadonet++
12:41 am0c joined #perl6
12:41 takadonet some of those regex are really hard to change over
12:41 agentzh left #perl6
12:42 masak better to port based on tests than based on regexes, methinks.
12:42 colomon +1
12:43 takadonet that what I did
12:43 masak good.
12:44 takadonet Mostly down to two lines
12:46 * masak misses moritz_
12:47 takadonet where is he?
12:48 masak dunno.
12:48 masak I don't remembering him planning an absence.
12:49 masak maybe he switched over to studying Norwegian full-time, though :)
12:49 pmichaud istr he mentioned an absence
12:50 baux joined #perl6
12:52 pmichaud but I don't see it in the logs now.  so perhaps istr incorrectly.
12:53 masak I also don't see anything in the logs, nor do I recall moritz_ mentioning anything.
12:54 masak <colomon> "too few positional arguments: 2 passed, 3 (or more) expected" really sucks when you've just refactored a hundred lines of code.
12:54 colomon TimToady says to run it through viv.
12:55 colomon (in that case)
12:55 masak anyone mind if I attach that ticket to the "critical tickets" metaticket?
12:55 colomon it's certainly fine with me.
12:55 wamba left #perl6
12:57 masak can't find that ticket. maybe it got closed.
12:57 masak setting severity to "High" instead.
12:57 pmichaud which ticket?
12:59 masak http://rt.perl.org/rt3/Ticket/Display.html?id=78252
12:59 masak seems to be a simple but very annoying meta-error.
12:59 masak nobody's been able to pinpoint it yet, despite a bit of effort.
13:00 colomon rakudo: say $a
13:00 p6eval rakudo ead429: OUTPUT«===SORRY!===␤too few positional arguments: 2 passed, 3 (or more) expected␤»
13:00 masak :(
13:00 frettled rakudo: say "aaaah"
13:00 p6eval rakudo ead429: OUTPUT«aaaah␤»
13:00 colomon golfing it down is very easy, anyway.
13:00 colomon rakudo: $a
13:00 p6eval rakudo ead429: OUTPUT«===SORRY!===␤too few positional arguments: 2 passed, 3 (or more) expected␤»
13:00 colomon okay, that's even shorter.  :)
13:00 rgrau_ joined #perl6
13:01 ggoebel left #perl6
13:01 frettled \o/
13:01 frettled perl6: $a
13:01 p6eval pugs: OUTPUT«*** ␤    Unexpected end of input␤    expecting "::"␤    Variable "$a" requires predeclaration or explicit package name␤    at /tmp/89wCW3xtOi line 1, column 3␤»
13:01 p6eval ..rakudo ead429: OUTPUT«===SORRY!===␤too few positional arguments: 2 passed, 3 (or more) expected␤»
13:02 frettled Shorter, but longer.
13:02 masak but we knew that already.
13:02 pmichaud looking at it now.
13:03 masak \o/
13:04 masak sorear: [backlog] PIR backend for niecza! looking forward to it!
13:08 xinming_ joined #perl6
13:12 xinming left #perl6
13:15 colomon where is viv these days, anyway?  my copy is pretty stale (definitely from well before the move to git)
13:15 pmichaud found the problem.
13:16 colomon \o/
13:17 masak pmichaud++
13:21 Patterner left #perl6
13:33 Psyche^ joined #perl6
13:33 Psyche^ is now known as Patterner
13:33 icwiener joined #perl6
13:36 pmichaud pmichaud@plum:~/rakudo$ cat x
13:36 pmichaud say $a;
13:36 pmichaud pmichaud@plum:~/rakudo$ ./perl6 x
13:36 pmichaud ===SORRY!===
13:36 pmichaud Symbol '$a' not predeclared in <anonymous> (x:1)
13:37 colomon \o/
13:37 icwiener_ joined #perl6
13:39 icwiener left #perl6
13:40 pmichaud spectesting now.
13:41 * masak looks forward to being presented with the solution
13:43 pmichaud it all comes down to a broken branch merge :(
13:44 masak oh? any way it could have been avoided?
13:45 PerlJam good $localtime #perl6
13:47 masak good now, PerlJam.
13:47 plobsing joined #perl6
13:49 pmichaud I don't know how it could've been easily avoided, no.
13:50 masak maybe if the spectests contained a test for the particular error message... don't know if that's a good solution, though.
13:53 pmichaud anyway, the fix is:  https://trac.parrot.org/parrot/changeset/49711
13:54 masak oh, a merge in Parrot.
13:54 dnl- joined #perl6
13:54 pmichaud yes.  jnthn++ did a branch merge but forgot to re-sync with trunk before doing the merge.  As a result, the merge inadvertently undid a bunch of changes.
13:54 pmichaud and then the later fix was a broken fix.
13:55 masak sounds like an SVN-related issue. git would at least make such a thing less likely.
13:56 PerlJam masak: I was thinking exactly the same thing.
13:56 masak well, at least some workflows within git.
13:56 colomon pmichaud++ # just added the patch by hand locally
13:57 colomon cygwin's git doesn't seem to work on my Windows box.  :(
13:58 masak in git, mergin is an atomic action. in SVN, it's a chore.
13:58 dnl left #perl6
14:00 PerlJam in svn merging is really about making the state of one dir (branch) match the state of another.  In git, merging taking the changes from one branch and "adding" them to another.
14:01 dnl joined #perl6
14:03 masak as Linus Torvalds points out in his excessively angry talk, what's the use of having efficient branching if merging is painful beyond measure?
14:04 Dr_Mike joined #perl6
14:04 dnl- left #perl6
14:05 dalek rakudo: 4796505 | pmichaud++ | build/PARROT_REVISION:
14:05 dalek rakudo: Bump PARROT_REVISION to get fix for error reporting with undeclared variables (RT #78252).
14:05 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/47965056387679714c8774cfe873ab4998390991
14:05 Dr_Mike left #perl6
14:07 _kaare left #perl6
14:14 hudnix left #perl6
14:16 hudnix joined #perl6
14:18 icwiener_ left #perl6
14:18 icwiener_ joined #perl6
14:20 x3nU >cpan
14:20 x3nU cpan sucks
14:20 x3nU shit
14:20 x3nU nvm
14:21 * masak hugs x3nU
14:21 masak there. hope you feel better now.
14:22 BinGOs the problem probably lies between the keyboard and the chair.
14:23 masak possibly, but that won't make it less deeply felt.
14:23 Lorn joined #perl6
14:23 x3nU well, i forgot to scrolldown window, that's why i'm talking about cpan
14:23 x3nU anyway, cpan should die with 90's imhpo
14:23 x3nU imho*
14:23 masak I bet thousands of people profitably using CPAN each day would disagree.
14:23 BinGOs yeah, should be using cpanp >:)
14:24 masak x3nU: but unless all you have is abject criticism, I suggest you stay on topic.
14:24 x3nU cpan is sooooooo userunfriendly, it's scaring newcommers
14:24 masak s/unless/if/ :)
14:24 masak x3nU: this is #perl6. we don't have cpan.
14:24 x3nU yes, but you said
14:24 x3nU 16:23 < masak> I bet thousands of people profitably using CPAN each day would disagree.
14:25 x3nU but ok, whatever
14:25 masak it's possible we're talking about two different things. the client versus the repository.
14:26 kcwu left #perl6
14:27 ggoebel joined #perl6
14:32 rgrau_ left #perl6
14:34 wtw left #perl6
14:34 bluescreen joined #perl6
14:35 bluescreen is now known as Guest32196
14:37 dnl- joined #perl6
14:42 dnl left #perl6
14:45 colbseton` joined #perl6
14:52 sftp joined #perl6
14:53 kcwu joined #perl6
14:53 masak "Symbol '$a' not predeclared in <anonymous> (foo:1)"
14:53 masak \o/
14:54 masak while we're on the subject, must it say "<anonymous>" there.
14:54 masak s/\./?/
14:54 masak to the programmer, mainline code doesn't feel very anonymous.
14:57 flussence call it something like main, setting, input, ... ?
14:58 masak I think I'd prefer it to say 'in mainline code' if I'm not in any sub, and 'in &foo' if I'm in a sub 'foo'.
14:59 flussence sounds good to me.
15:02 masak I'm not sure I'm ever helped by seeing '<anonymous>'. even in a closure inside a sub &foo, it would still help me more to see 'in &foo'.
15:04 justatheory joined #perl6
15:04 wamba joined #perl6
15:09 tzhs left #perl6
15:14 dnl joined #perl6
15:16 colomon Symbol '$context' not predeclared in new (bin/abc2ly.pl:80)
15:16 colomon \o/
15:16 colomon extra $ slipped into my code.
15:16 colomon overlooked it about 20 times.
15:16 colomon pmichaud++
15:16 dnl- left #perl6
15:18 masak pmichaud++
15:20 slavik1 masak: what are you referring to?
15:21 masak the LTA bug that pmichaud fixed.
15:22 flussence left #perl6
15:23 PerlJam It would be nice if multi-dispatch errors has a little more awesomeness.
15:23 PerlJam It lists the candidates' signatures, but not what it's trying to match against those signatures.
15:23 masak indeed. I've had the same thought.
15:28 Ross^ joined #perl6
15:34 colomon also, it seems like it frequently (always?) gives Mu as the first parameter in methods.
15:35 icwiener_ left #perl6
15:40 icwiener joined #perl6
15:41 masak rakudo: class A { method foo { say self } }; A.can("foo")(42)
15:41 p6eval rakudo 479650: OUTPUT«42␤»
15:41 masak colomon: for that to work, it has to be Mu.
15:41 ggoebel left #perl6
15:41 masak or at least Any.
15:42 colomon rakudo: class A { multi method foo(Int $a) { say self; }; }; A.new.foo(10,20)
15:42 p6eval rakudo 479650: OUTPUT«No candidates found to invoke for method 'foo' on object of type 'A'; available candidates have signatures:␤:(Mu : Int $a;; *%_)␤␤  in main program body at line 22:/tmp/hcS8AKNvK_␤»
15:42 masak too many arguments.
15:42 colomon Shouldn't that signature be (A : Int $a) ?
15:43 masak no; see above.
15:43 LoRe_ left #perl6
15:44 PerlJam rakudo: class A { multi method foo(Int $a) { say self; }; }; A.new.foo(5, :fred(1));
15:44 p6eval rakudo 479650: OUTPUT«A()<0x82a0a88>␤»
15:44 colomon "see above" does not clear it up in the least for me.
15:44 PerlJam The trailing *%_ is curious to me.
15:45 masak PerlJam: "Interface Consistency" in S12.
15:45 PerlJam looking thanks :)
15:46 masak colomon: did you see how I picked the method loose and invoked it with 42 as the "invocant"?
15:47 colomon I saw it, but it makes zero sense to me.
15:48 MayDaniel left #perl6
15:48 masak let's go through it step by step, then.
15:48 masak or we can do it like this, perhaps.
15:48 Ross^ left #perl6
15:48 masak rakudo: class A { our method foo { say self } }; my &loose-foo = &A::foo; &loose-foo(42)
15:48 p6eval rakudo 479650: OUTPUT«42␤»
15:49 masak better?
15:50 colomon well, I can clearly see what you are doing, but it seems utterly insane to me.
15:50 PerlJam heh
15:50 PerlJam colomon: welcome to Perl 6!  ;)
15:50 slavik1 masak: I missed the point that pidgin didn't scroll down :-\ so was asking a question for something you said a day or two ago with rakudo holding it's own vs. perl5 and parrot
15:51 masak slavik1: um. ok.
15:51 colomon I would have thought that A.foo could depend on self ~~ A
15:51 masak colomon: I'm not talking about how things should be. I'm talking about how things work today.
15:52 masak *because* the invocant is typed Mu, you can do the 42 thing.
15:52 masak it wouldn't work if the invocant were typed A.
15:53 colomon so what you're saying is the invocant has to be listed as Mu so we know Rakudo's type system is broken in this fashion?
15:53 PerlJam heh
15:55 Ross joined #perl6
15:55 Ross left #perl6
15:55 Ross joined #perl6
15:57 masak not sure the label "broken" immediately follows.
15:57 masak it's not like you can exploit it in any other way, like breaking encapsulation.
15:57 masak well, in Rakudo today you can, but that bit's wrong.
15:58 masak rakudo: class A { has $!x }; class B { has $!x; method foo { say $!x } }; B.can("foo")( A.new(x => 42) )
15:58 p6eval rakudo 479650: OUTPUT«42␤»
15:59 masak that bit shouldn't work.
15:59 perlbtyngan joined #perl6
16:00 jedai left #perl6
16:00 perlbtyngan left #perl6
16:01 MayDaniel joined #perl6
16:03 risou joined #perl6
16:03 jfried left #perl6
16:04 kcwu left #perl6
16:06 masak colomon: is it the ability to detach methods that you oppose in this picture? or something else?
16:07 pmichaud I think colomon++ is simply saying that the invocant should be typed with the class, not Mu.
16:08 masak right. and something within me agrees.
16:08 pmichaud ...and that Rakudo currently gets this wrong.
16:08 masak question is... why?
16:08 pmichaud and I agree that Rakudo gets it wrong currently.
16:08 masak why should it be typed with the class?
16:08 masak what do we gain from that?
16:08 pmichaud it helps with mmd, for one.
16:08 masak it does?
16:08 dnl left #perl6
16:08 masak is there something in mmd that currently doesn't work due to this?
16:09 pmichaud sure.     class A { multi method foo(Int $x) { ... } };   class B { multi method foo(Int $x) { ... } }
16:09 dnl joined #perl6
16:09 pmichaud oops
16:09 pmichaud sure.     class A { multi method foo(Int $x) { ... } };   class B is A { multi method foo(Int $x) { ... } }
16:09 pmichaud the first has a signature of   :(A, Int)  and the second a signature of :(B, Int)
16:10 masak rakudo: class A { multi method foo(Int $x) { say "A" }; class B is A { multi method foo(Int $x) { say "B" } }; B.new.foo(42)
16:10 p6eval rakudo 479650: OUTPUT«===SORRY!===␤Unable to parse blockoid, couldn't find final '}' at line 22␤»
16:10 pmichaud I'm not saying mmd won't function without it.
16:10 masak rakudo: class A { multi method foo(Int $x) { say "A" } }; class B is A { multi method foo(Int $x) { say "B" } }; B.new.foo(42)
16:10 p6eval rakudo 479650: OUTPUT«B␤»
16:10 masak it works as expected.
16:10 dnl left #perl6
16:10 pmichaud I'm simply saying that we've long recognized that the type of the invocant should be the type of the class, and that rakudo hasn't implemented that yet.
16:10 masak ok, good.
16:10 masak I remember talking about it before.
16:11 masak and agreeing that the type of the invocant should be the type of the class.
16:11 masak but today, I'm not so sure.
16:11 masak I'd like to be convinced that it's a good thing.
16:11 masak I could see it make a lot of sense with exported methods, for example.
16:12 pmichaud ah yes, that's where you really want it.
16:12 pmichaud class A { multi method foo() is export { ... } };   class B { multi method foo() is export { ... } };   foo(B.new)
16:13 masak nod.
16:13 masak that's what it's good for.
16:13 pmichaud in fact, istr there are a few places in rakudo where we explicitly declare the invocant so that exporting works properly.
16:16 kcwu joined #perl6
16:20 kensanata left #perl6
16:21 kanishka joined #perl6
16:23 icwiener left #perl6
16:23 jnthn o/ #perl6
16:24 masak jnthn!!! \o/
16:24 * jnthn back
16:24 masak yay!
16:24 jnthn TimToady: Thanks for the responsive multi changes. I'll try and work through them in the next few days. TimToady++
16:25 jnthn masak! :-)
16:25 masak yay responsive spec changes! the system works!
16:26 jnthn masak: My gut feeling is that it's a step in the right direction but I'm not quite sure I grokked how it interacts with .wrap yet.
16:26 dalek specs: 0e7d383 | pmichaud++ | S12-objects.pod:
16:26 dalek specs: [S12]: formatting -- word wrap at <80 chars, remove trailing spaces.
16:26 dalek specs: review: http://github.com/perl6/specs/commit/0e7d3834a1fc3eaa791f7900a25f1dc9e6c697c8
16:27 jnthn masak: I need to re-read it more carefully when I'm free of distractions, and not on my iPhone screen. :-)
16:27 masak nodnod
16:27 PerlJam jnthn: How hard would it be to add the signature of the sub/method being matched against candidates in multi-dispatch when it fails?
16:28 PerlJam er, that's not quite right, but hopefully you understand what I mean :)
16:28 jnthn I thought we already did that?
16:28 masak the capture rather than the signature, right?
16:29 masak so that one can see why it failed to match.
16:29 jnthn Oh
16:29 jnthn If you call a capture a signature I'm gonna be confused. :P
16:29 masak :)
16:29 jnthn We could. (more)
16:29 jnthn I'm just a little scared what happens if that evaluation goes explodey.
16:30 jnthn For <handwaving> reasons, it may be tricky to be robust in that case.
16:30 jnthn We could easily try it though.
16:30 masak \o/
16:30 jnthn oh, akshually, I can think of an OK way to do it.
16:31 jnthn Best is to file a ticket suggesting it.
16:31 knewt2 left #perl6
16:31 * masak submits ticket
16:32 * takadonet thought masak only submitted rakudobugs
16:32 masak :)
16:33 masak should I come in again?
16:33 masak our chief weapons are...
16:33 * masak submits rakudobug
16:33 masak :)
16:36 takadonet do you have that as a macro?
16:36 masak nope.
16:37 knewt2 joined #perl6
16:38 masak pmichaud++ # Star release
16:38 jnthn pmichaud: Any luck on the PCT::HLLCompiler mov?
16:39 jnthn *move # oops, this ain't x86 assembly... :-)
16:39 masak somewhere deep down, I'm sure it is x86 assembly :P
16:39 orafu joined #perl6
16:39 jnthn It's MOV :-P http://en.wikipedia.org/wiki/MOV_%28x86_instruction%29
16:40 smash pmichaud++ # star release
16:40 pmichaud I figured I'd make it a .mpeg instead of a .mov  :-P
16:40 masak jnthn: I don't believe case matters. 'course, that might differ between assembler programs.
16:40 pmichaud jnthn: I'm _finally_ coming back to life today :-)
16:40 jnthn resurrection++
16:41 jnthn \o/
16:41 colomon \o/
16:41 masak \o/
16:41 jnthn pmichaud: Glad to hear it.
16:42 jnthn pmichaud: Will be digging back into things again soon also, now I'm back from $uk-trip :-)
16:43 masak yay
16:43 masak it's been far too quiet here lately.
16:44 flussence joined #perl6
16:45 jnthn ooh, mberends++ has been busy in the 6model repo in my absence. :-)
16:47 LoRe joined #perl6
16:47 pmichaud afk for a while
16:49 * PerlJam codenames the R* release as the "PerlJam" release since it happened on his birthday  :)
16:50 smash PerlJam: congratulations
16:50 colomon happy birthday!
16:51 PerlJam Apparently it's also Swiper-the-fox's birthday too.  (Dora the explorer)
16:51 PerlJam and, of course, it's Bill Gates' birthday too
16:51 masak PerlJam: many happy returns.
16:51 PerlJam smash, colomon: thanks!
16:51 jnthn PerlJam: Happy birthday!
16:52 PerlJam masak, jnthn: thank you both too :)
16:53 PerlJam masak: I was just reading the R* announcement and noticed that pack/unpack are listed in the not-quite-there list.  Where are they?  :)
16:54 masak well... "not quite there" is a good description.
16:54 masak need many more directives implemented.
16:54 masak I actually kinda have a plan that I haven't put into effect yet.
16:56 masak I thought I'd try auto-translating this file from p5 to p6: http://github.com/mirrors/perl/blob/blead/t/op/pack.t
16:56 masak and then just start implementing tests.
16:56 masak plan tests => 14699; # \o/
16:57 masak if anyone wants to help (with either phase), and make that a two-person project, let me know.
16:59 PerlJam auto-translating?
16:59 masak right; make a one-off translator that can translate just this file.
17:00 masak more structured, and more fun than doing the whole file by hand.
17:00 colomon it's a fine idea, but I have to admit I find pack.t kind of scary looking.
17:01 PerlJam parts of it look like the impedence mismatch will be too high.
17:01 masak it would be, no?
17:01 masak that might well be so. I haven't looked at it closely enough.
17:03 dalek 6model: 4af6edd | jnthn++ | dotnet/compiler/try.bat:
17:03 dalek 6model: [dotnet] Tweak try.bat to clear up the executable before trying to make a new one, so we don't get bogus test passes. Noticed by mberends++.
17:03 dalek 6model: review: http://github.com/jnthn/6model/commit/4af6eddfeabaeafe7a47671e7d58bda3cf34a3fb
17:09 icwiener joined #perl6
17:15 * colomon is guessing that writing regexes to operate on regexes is probably a real pain in the neck.
17:17 _kaare joined #perl6
17:18 [particle]1 pmichaud: are you using parrot 2.9.0 or 2.9.1 for R* 2010.10? the announcement says 2.9.0
17:18 [particle]1 is now known as [particle]
17:19 _kaare left #perl6
17:20 _kaare joined #perl6
17:27 _kaare left #perl6
17:28 am0c^ left #perl6
17:28 smash left #perl6
17:29 _kaare joined #perl6
17:29 jedai joined #perl6
17:38 ggoebel joined #perl6
17:45 am0c left #perl6
18:01 baux left #perl6
18:02 risou_ joined #perl6
18:04 risou left #perl6
18:29 cdarroch joined #perl6
18:29 cdarroch left #perl6
18:29 cdarroch joined #perl6
18:30 TimToady colomon: nah, it's a piece of cake; only takes 430 lines of grammar in STD...  :P
18:30 colomon STD supports p5 regexes now?
18:31 ggoebel left #perl6
18:32 colomon ;)
18:34 colomon btw, TimToady++, thanks for the viv suggestion.  It would have come in very handy today had pmichaud++ not fixed the Rakudo bug in question.
18:36 colbseton` left #perl6
18:38 colbseton` joined #perl6
18:40 alfieANDfred joined #perl6
18:40 alfieANDfred left #perl6
18:40 alfieANDfred joined #perl6
18:41 alfieANDfred left #perl6
18:50 mavrc left #perl6
18:58 mberends left #perl6
19:00 pmichaud [particle]: 2.9.1.  The announcement is wrong.
19:00 * pmichaud updates the announcement on rakudo.org .
19:00 [particle] congrats on the release.
19:00 TimToady colomon: p5 regexes are even easier! (182 lines in STD_P5.pm6)
19:01 TimToady though linkage to STD may have bitrotted recently
19:01 colomon TimToady: ooooo....
19:01 TimToady std: m:P5/:/
19:01 p6eval std a194beb: OUTPUT«ok 00:01 133m␤»
19:01 TimToady I guess it only bitrotted locally
19:02 TimToady std: m:P5/'/
19:02 p6eval std a194beb: OUTPUT«ok 00:01 133m␤»
19:03 risou joined #perl6
19:04 TimToady no, it's just that 'make' doesn't default to 'make all'  :
19:04 TimToady :/
19:05 masak o.O
19:06 risou_ left #perl6
19:06 ggoebel joined #perl6
19:11 colbseton` left #perl6
19:12 envi left #perl6
19:15 pmichaud PerlJam: Happy Birthday!
19:15 * pmichaud notes pj's birthday in his calendar for future years.
19:16 TimToady it must be nice to be so organized...
19:16 pmichaud it's more about being assimilated into the Google Borg collective, I fear.  :-|
19:17 TimToady now we just need his
19:17 TimToady SSN
19:17 pmichaud oh, that I have already :-P
19:17 pmichaud well, *had*
19:17 pmichaud although it wouldn't surprise me if it still existed in my records somewhere :-P
19:17 TimToady mother's maiden name would also be helpful
19:18 dalek star: fdec35f | pmichaud++ | skel/docs/ (2 files):
19:18 dalek star: Documentation updates for 2010.10 release.
19:18 dalek star: review: http://github.com/rakudo/star/commit/fdec35f518c84574a311d97e83b96fb5f19b5fd2
19:18 dalek star: 18b4b6e | pmichaud++ | / (2 files):
19:18 dalek star: Updates for 2010.10 release.
19:18 dalek star: review: http://github.com/rakudo/star/commit/18b4b6e5ca25c20ad52ea22efa4378ff5988b740
19:18 dalek star: 4f9b7d0 | pmichaud++ | skel/docs/announce/2010.10:
19:18 dalek star: Fix Parrot version in announcement (too late for the tarball, but
19:18 dalek star: still probably worth fixing).
19:18 dalek star: review: http://github.com/rakudo/star/commit/4f9b7d06552d383c6858fd4b255c71982e8730f0
19:19 TimToady my mother's maiden name is "Dorothy"  :)
19:22 perlly joined #perl6
19:23 pmichaud PerlJam (and others) got me a cake when I was in Corpus Christi in August (http://bit.ly/9i3mOX), I suppose I should return the favor at some point.  :-)
19:30 plainhao left #perl6
19:33 molaf_ joined #perl6
19:35 molaf left #perl6
19:41 wamba left #perl6
19:43 molaf_ left #perl6
19:44 MayDaniel left #perl6
20:06 perlly left #perl6
20:10 tadzik joined #perl6
20:10 tadzik good evening gents
20:10 tadzik (and ladies, if available)
20:11 colomon o/
20:11 masak tadzik! \o/
20:11 masak do you have a habit of only saluting available ladies? :)
20:11 tadzik oh, it's so nice to come here :]
20:11 tadzik masak: It's called lazy salutation
20:12 masak 哈哈
20:12 tadzik oh star!
20:13 jnthn masak: I was trying not to comment on that. :P
20:13 masak ☆☆☆☆☆
20:13 jnthn masak: I almost typed the exact same thing! :)
20:13 masak jnthn: great minds... never mind. :P
20:13 tadzik what does that mean: 哈哈?
20:13 masak tadzik: "ha ha"
20:13 tadzik „Great minds never mind” -- that's deep
20:14 tadzik masak: :)
20:14 TimToady .oO(the ones who don't put out will be put out?)
20:14 masak what great output this evening!
20:14 jnthn TimToady: Argh! I was drinking tea when you wrote that! :P
20:14 masak *lol*
20:15 masak jnthn: here, have some more tea.
20:15 * jnthn hides #perl6 while shipping
20:15 jnthn er, sipping
20:15 masak sip it!
20:15 TimToady ship happens
20:15 masak that's what ship said!
20:16 TimToady that ship has already sailed
20:16 masak oh ship...
20:17 diakopter my date keeps shipping
20:18 PerlJam diakopter: as long as she's not shipping all over you
20:18 masak worst date ever!
20:18 diakopter due date, release date.... :|
20:19 masak TMI :)
20:19 sjohnson hi all
20:19 masak sjohnson! \o/
20:19 diakopter sigh.  slipping. it's not a pun if I have to explain it.
20:19 sjohnson :3
20:19 masak diakopter: we got you the first time. :P
20:19 PerlJam diakopter: the beauty of pun is multiple meanings anyway
20:20 meppl left #perl6
20:22 masak "The pun is sharper than the sword."
20:22 diakopter PerlJam: oh. I think I just got your reply.. but slippage of that sort of date is a bad thing?
20:22 * TimToady often dates himself...
20:22 masak TMI! :)
20:22 PerlJam Way way tmi
20:23 masak the channel is back to its old chatty self. I'm glad.
20:23 masak TimToady++ pmichaud++ jnthn++ # you were never really gone, but welcome back
20:24 dnl joined #perl6
20:28 masak there are definitely different kinds of slipping that a date can do.
20:28 masak "on a banana peel" -- not good.
20:28 masak "into something more comfortable" -- you're doing fine.
20:29 PerlJam It's the combination of slipping and sliding that you need to watch out for :)
20:30 masak yes, it's a bit of a slippery slope, that.
20:30 diakopter (or do we repeat ourselves)
20:31 PerlJam If you repeat yourself, does that mean you've peated yourself at some point?
20:32 diakopter Pete and RePete went down to the river. Pete fell in. Who was left?
20:32 ggoebel left #perl6
20:32 * masak is not falling for that
20:32 diakopter I guess the joke is lost in print
20:35 rjbs The problem with that joke is that nobody on the damn planet is named "RePete."
20:36 masak the name got a bad rep after the Great River Pushing Scandal.
20:36 Chat4179 joined #perl6
20:37 Chat4179 elo all any ladys here
20:37 jnthn If so, channel custom is that you may only greet the available ones.
20:37 Chat4179 is now known as sunstreaker
20:38 masak yes, it's a tradition.
20:38 masak the taken one's are ungreetable.
20:38 BinGOs 'ladies' or "lady's"
20:38 masak s/'//
20:38 sunstreaker ladies
20:39 sunstreaker so whats up boys and girls
20:39 tadzik sunstreaker: don't be so sexist, men are good Perl 6 hackers too
20:39 tadzik (man or men? I never know)
20:40 sunstreaker 2iam from south afrika
20:40 masak greetings, Iam from South Africa!
20:40 tadzik Is it cold over there? You look so cold you are almost blue
20:41 masak I'm sure South Africa is well-tempered.
20:43 pythonian4000afk is now known as pythonian4000
20:43 sunstreaker left #perl6
20:44 jferrero joined #perl6
20:58 pothos_ joined #perl6
20:59 _kaare left #perl6
21:01 pothos left #perl6
21:02 jferrero left #perl6
21:08 Ross left #perl6
21:10 jferrero joined #perl6
21:11 ggoebel joined #perl6
21:15 AndreasX joined #perl6
21:16 AndreasX left #perl6
21:17 dalek 6model: 08272ff | jnthn++ | dotnet/compiler/DNST2CSharp.pm:
21:17 dalek 6model: [dotnet] Fix code-gen; don't use spurious $*LAST_TEMP values when we have empty if/else branches. Deals with the 03-if-else.t issues spotted by mberends++.
21:17 dalek 6model: review: http://github.com/jnthn/6model/commit/08272fffe51388b18c7dd817fc6733a609277ed6
21:21 masak rakudo: class A { has $.x; method foo { say $!x } }; class B is A { has $.x; method bar { say $!x } }; B.new(:x(42), A{ :x(5) })
21:21 p6eval rakudo 479650: OUTPUT«flattened parameters must be a hash or array␤  in main program body at line 22:/tmp/zu7Gf4oWts␤»
21:21 masak jnthn: whoz op with that?
21:22 masak rakudo: class A { has $.x }; class B is A { has $.x }; B.new(:x(42), A{ :x(5) })
21:22 p6eval rakudo 479650: OUTPUT«flattened parameters must be a hash or array␤  in main program body at line 22:/tmp/GuLZ9dbLKF␤»
21:23 dalek 6model: 0d7097b | jnthn++ | dotnet/runtime/ (24 files):
21:23 dalek 6model: Reverting this; it hurts code maintainability and refactorability and eats into the few remaining shreds of sanity I have left. :-)
21:23 dalek 6model: review: http://github.com/jnthn/6model/commit/0d7097b9b9935201d5dedac4567ccdeb272b60dd
21:23 jnthn rakudo: B.new(:x(42), A{ :x(5) })
21:23 p6eval rakudo 479650: OUTPUT«Could not find sub &B␤  in main program body at line 22:/tmp/HzDp2QO1NI␤»
21:23 jnthn rakudo: class A { }; class B { }; B.new(:x(42), A{ :x(5) })
21:23 p6eval rakudo 479650: OUTPUT«flattened parameters must be a hash or array␤  in main program body at line 22:/tmp/IWHjY8a9u9␤»
21:23 jnthn rakudo: class A { }; class B { }; B.new(A{ :x(5) })
21:23 p6eval rakudo 479650: OUTPUT«flattened parameters must be a hash or array␤  in main program body at line 22:/tmp/F1PPz_rrlF␤»
21:23 jnthn rakudo: class A { }; A{ :x(5) }
21:24 p6eval rakudo 479650:  ( no output )
21:24 jnthn Hm
21:24 ggoebel left #perl6
21:24 jnthn masak: Off hand, I'm not sure.
21:24 masak but it's a bug, right?
21:24 jnthn masak: Unless it's a general WHENCE issue.
21:24 jnthn Yeah
21:24 * masak submits rakudobug
21:24 jnthn I wonder if we're missing A{ ... } support somehow.
21:24 Guest32196 left #perl6
21:24 masak :/
21:25 stkowski joined #perl6
21:25 MOAR-f00li5h joined #perl6
21:26 icwiener left #perl6
21:26 baest left #perl6
21:26 skangas left #perl6
21:26 Sarten-X left #perl6
21:26 IRSeekBot left #perl6
21:26 f00li5h left #perl6
21:26 flatwhatson_ left #perl6
21:26 PacoLinux left #perl6
21:26 ruoso left #perl6
21:26 buu left #perl6
21:26 LionMadeOfLions left #perl6
21:26 aindilis left #perl6
21:26 sjohnson left #perl6
21:27 icwiener joined #perl6
21:27 baest joined #perl6
21:27 skangas joined #perl6
21:27 Sarten-X joined #perl6
21:27 IRSeekBot joined #perl6
21:27 flatwhatson_ joined #perl6
21:27 PacoLinux joined #perl6
21:27 ruoso joined #perl6
21:27 buu joined #perl6
21:27 LionMadeOfLions joined #perl6
21:27 aindilis joined #perl6
21:27 sjohnson joined #perl6
21:28 tadzik left #perl6
21:29 masak I'm pretty sure it worked at some point.
21:29 masak not sure it ever worked in master, though.
21:33 masak anyway; there's more than one way to skin a goose.
21:33 masak rakudo: class A { has $.x is rw; method foo { say $!x } }; class B is A { has $.x; method bar { say $!x } }; given B.new(:x(42)) { .A::x = 5; .foo; .bar }
21:33 p6eval rakudo 479650: OUTPUT«5␤5␤»
21:33 masak this, I posit, is RONG.
21:33 masak I don't know if that's in RT yet.
21:33 sjohnson heh
21:34 masak huh; actually I expected that to be 42\n42\n.
21:35 masak well, not "expected" as in "what correct Perl 6 should produce" :)
21:35 masak but "expected" as in "how I thought rakudo would misbehave" :)
21:36 masak guess I can produce an entirely *different* bug out of it, then.
21:37 masak rakudo: class A { has $.x is rw }; class B is A { has $.x }; given B.new(:x(42)) { .A::x = 5; say .x }
21:37 p6eval rakudo 479650: OUTPUT«5␤»
21:37 * masak submits rakudobug
21:45 ggoebel joined #perl6
21:46 ggoebel left #perl6
21:56 jnthn TimToady: Not sure if I'm missing something obvious here in the proto changes. What are the semantics .wrap now on an instantiation of a proto?
21:56 jnthn *of .wrap
21:57 masak jnthn: d'you have a concrete code sample to contextualize that question?
21:58 jnthn multi foo() { say 1 }; multi foo($x) { say 2 }; &foo.wrap({ say "before"; *; say "after"; })
21:58 jnthn What are the semantics of the .wrap call here. Not just in terms of "what should the output be" but "what is it actually an operation on".
21:58 masak so, that implicitly creates a proto now, right?
21:58 jnthn More interestingly
21:58 jnthn multi foo() { say 1 }; { multi foo($x) { say 2 }; &foo.wrap({ say "before"; *; say "after"; }); foo(); }; foo();
21:58 jnthn What is the output of this one?
21:59 jnthn Actually, scratch the above one.
21:59 jnthn er
21:59 jnthn the first one
21:59 jnthn The second one is what I was looking for (with the nested scope).
21:59 jnthn If I understand S12 correctly it's going to be before\n2\nafter\n1\n
21:59 jnthn And *not*
22:00 jnthn before\n2\nafter\nbefore\n1\nafter\n
22:00 jnthn If that's true then I'm happy. :-)
22:00 jnthn But I'd be very reassured if TimToady++ were to confirm it is that way and put (or point me at the) clarifying note in the spec.
22:01 jnthn If I'm mis-understanding, then I think I'm missing something deeper.
22:02 * masak decides to re-read this tomorrow, when he's more awake :)
22:02 masak 'night, #perl6.
22:02 diakopter night
22:02 masak left #perl6
22:05 MayDaniel joined #perl6
22:07 Patterner left #perl6
22:07 Psyche^ joined #perl6
22:07 Psyche^ is now known as Patterner
22:18 lichtkind joined #perl6
22:18 lichtkind hai, when ms came in?
22:22 jnthn lichtkind: Čo?
22:22 jnthn :-)
22:23 lichtkind :9
22:24 jnthn "ms"? :-)
22:24 lichtkind i just dicovered in the newest rakudo * announcement the existance of ms//
22:24 jnthn Oh
22:24 jnthn :-)
22:24 lichtkind so curreently insert into my index
22:24 jnthn Think it's been spec'd in S5 for a while, but implemented within the last month, I believe.
22:24 lichtkind you know p6 is kinda huuuge easy to over look some detail
22:25 jnthn I know. ;-)
22:28 lichtkind i think it was spelled mm once
22:29 TimToady jnthn: yes, that wraps only the inner &foo dispatcher
22:30 TimToady to wrap the other from that location would require wrapping OUTER::<&foo>
22:30 TimToady that is, &foo always refers to an instantiated dispatcher now, not the set of dispatchers
22:31 jnthn TimToady: Excellent.
22:31 jnthn TimToady: Thank you. :-)
22:31 jnthn TimToady: That muchly uncuffuddles me. :-)
22:31 lichtkind TimToady: are there interfaces in the classical faces in p6 or i have to build something out of an empty role ?
22:32 TimToady a role without a default implementation is an interface
22:32 TimToady if parameterized, it'd be a generic interface
22:33 TimToady but we intentionally smudge all those concepts into one
22:33 TimToady so roles may be used as interfaces or as generics, as well as (smalltalk) traits
22:33 lichtkind yeah but interfaces have to be met . meaning all methods overloaded by a class and roles thro exception  when redefine one of their methods?
22:34 TimToady so far it has seemed worthwhile to confuse those :)
22:34 lichtkind :)
22:34 TimToady well, if you call any method defined as {...} it's gonna fail
22:35 lichtkind yes
22:35 lichtkind but if one role overwrites one method there is a clash
22:35 lichtkind but I have to overwrite all methods of an interfacein an interface
22:35 TimToady roles can never override a class's method
22:35 lichtkind to get an implementation
22:36 jnthn I think if you still have stub methods from the role by the time you hit class composition times, then the class fails to compose.
22:36 TimToady we don't enforce that at compile time currently
22:36 jnthn (In ideal Perl 6.)
22:36 jnthn TimToady: In spec or in Rakudo?
22:36 TimToady well, but you'd like to be able to use stubs as you're developing
22:36 lichtkind but how get an mechanism that ensure that a class has a set of methods?
22:37 jnthn TimToady: My impression was that Rakudo doesn't but the spec suggested it should.
22:37 TimToady it has the methods; they just don't all work.  :)
22:37 jnthn Hmm
22:37 jnthn ;-)
22:37 jnthn TimToady: Maybe it's a ... vs !!! distinction or something.
22:37 TimToady I don't think it should enforce by default, but ... yeah, what you said
22:38 TimToady or perhaps just warn when composing ... methods
22:38 TimToady if you're developing, you shouldn't mind a few warnings :)
22:39 jnthn Aye
22:39 jnthn That could also work.
22:39 TimToady the two are not mutually exclusive
22:40 TimToady maybe ??? warns on composing, !!! fails, and ... just tries to work
22:40 jnthn Ooh.
22:40 jnthn I like that.
22:41 jnthn Guess that means we need a way for a method to know what sort of stubby method it is.
22:41 jnthn Well, a routine generally.
22:41 jnthn Rather than just .yada
22:41 TimToady yes.  btw, bare * is not a call to a dispatcher; has to be {*} if embedded in the statement list
22:41 jnthn .oO( .yada, .yadie, .yawarn, .yamam...oh wait... )
22:42 envi joined #perl6
22:42 TimToady the other {*} is just a shorthand for {{*}}
22:42 jnthn How is {*} parsed?
22:42 TimToady specially
22:42 * jnthn glances latest STD
22:42 lichtkind TimToady: is ther in p6 any way technical way to enshure that a class has a set of methods with specified return types and signatures?
22:43 TimToady jnthn: grep for onlystar
22:44 TimToady lichtkind: sure, we just don't guarantee they work (modulu what jnthn++ and I were just discussing re !!!)
22:45 clkao left #perl6
22:45 jnthn TimToady: Thanks. I see in checkyada how it works for proto foo($x) { * } for example, and how it works in regexes. Don't see the {*} in a normal routine case?
22:46 jnthn That is, we parse {*} as a token inside regexes as a metachar
22:46 jnthn But not in ordinary routines?
22:47 TimToady well, STD only cares that it parses, but we could have a special token there too
22:47 TimToady I suppose {*} parses in a regex too though
22:47 jnthn It'd be nice to have a lead to follow.
22:48 jnthn Plus to be able to know that parsing it as a token in STD doesn't cause other breakage.
22:48 TimToady actually, it's checked in checkyada
22:48 TimToady which is called from the appropriate block parsers
22:49 jnthn self.<blockoid>:delete
22:49 jnthn I don't quite follow what that line is for?
22:49 jnthn Or is the answer "nothing deeper than it looks like"?
22:50 jnthn I still don't see how
22:50 jnthn proto foo($x) { say 1; {*} say 2; } # what does the {*} parse as here?
22:50 jnthn Is it that the {*} hands back something that has an <onlystar> rather than a <blockoid> ?
22:51 TimToady yes
22:51 jnthn OK
22:51 TimToady otherwise it's a normal inline block
22:51 jnthn OK, got it, thanks.
22:52 jnthn Now "just" need to work out how to map 1840 and 1841 into nqp. :)
22:52 jnthn (Seems that it doesn't like you twiddling with the match object at the moment.)
22:53 jnthn Anyways, I'll see if I can have a crack at a first cut of the latest multi-dispatch spec at the weekend in the 6model on .Net prototype.
22:54 jnthn Turns out it's the fastest place for me to prototype most things at that level these days. :-)
22:54 TimToady not surprised...
22:54 jnthn Well, it's small enough that I can still keep it in my head. :-)
22:56 TimToady when it is obvious where most of the things should hang off the Great Tree, it becomes easier to ignore the encapsulated ones
22:56 jnthn *nod*
22:59 jnthn I'm hopeful that it can form the basis of another Rakudo backend in a reasonable timeframe. I'm keen to use it as a place to start experimenting with S17 things.
23:00 jnthn (There's not necesarily an ordering there. For me it's mostly user demand.)
23:02 TimToady yes, it would be good to think about how to start integrating an actor model of some sort without turning everyone into Erlang programmers
23:04 risou_ joined #perl6
23:04 jnthn Having some prototype implementation to start playing with and interating on would also probably help the spec proccess a lot.
23:05 jnthn Oooh...*that* time. I should sleep so I'm vaguely lucid at $dayjob tomorrow. :-)
23:05 TimToady nodnod
23:05 jnthn night o/
23:05 TimToady 'night
23:05 TimToady biab &
23:06 bluescreen joined #perl6
23:07 bluescreen is now known as Guest66311
23:07 risou left #perl6
23:17 icwiener left #perl6
23:19 ggoebel joined #perl6
23:26 ggoebel left #perl6
23:26 lichtkind good night
23:27 lichtkind TimToady: would you agree to  http://www.perlfoundation.org/perl6/index.cgi?perl_6_language_design_tablet#trends
23:34 dukeleto lichtkind: syndrom is spelled "syndrome"
23:36 dukeleto lichtkind: otherwise, looks like one the best synopses of perl 6 i have read, yet.
23:36 MOAR-f00li5h is now known as f00li5h
23:36 lichtkind dukeleto: thanks a lot its still building up
23:36 lichtkind dukeleto: syndrom was a germanism
23:38 lichtkind fixed the typo
23:43 cognominal joined #perl6
23:48 dukeleto lichtkind: der Syndrom ?
23:48 dukeleto lichtkind: ich habe ein bisschen Deutsch in Koblenz studiert.
23:49 lichtkind das syndrom :)
23:51 jferrero left #perl6
23:53 dukeleto lichtkind: ah, because it was a stolen word, probably
23:53 dukeleto lichtkind: attempting to infer order on the gender of german nouns is likely a nonlinear partial differential equation, if you are lucky.
23:54 dukeleto lichtkind: but fun anyway
23:54 lichtkind dukeleto: most of the latin ones yes but there are exceptions
23:54 dukeleto lichtkind: oh yes, i learned many exceptions. That is why I forgot them :)
23:54 lichtkind haha
23:55 lichtkind in other case you could not forget them :)
23:56 lichtkind dukeleto: what you are doing lately?

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

Perl 6 | Reference Documentation | Rakudo