Camelia, the Perl 6 bug

IRC log for #perl6, 2009-02-26

Perl 6 | Reference Documentation | Rakudo | Niecza | Specs

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

All times shown according to UTC.

Time Nick Message
00:08 aindilis joined #perl6
00:40 pugs_svn r25566 | putter++ | [elfparse] Shrunk remains_of_Regexp_ModuleA.pm - RAST_children p6ified.
00:50 wayland_ joined #perl6
01:00 wayland_ frew: The word itself is older than I am, but the current meaning may've been devised by the Perl community
01:09 pugs_svn r25567 | putter++ | [elfparse] Fix pkg-related fields in rx ir nodes.
01:12 dukeleto joined #perl6
01:16 alc joined #perl6
01:23 zaidaus joined #perl6
01:38 dalek rakudo: 2cf2dfe | pmichaud++ | README:
01:38 dalek rakudo: Update README with latest news on building Rakudo.
01:38 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/2​cf2dfeb1812179f7eb4ddcbebb0dfaaed5c0151
01:46 pugs_svn r25568 | putter++ | [elfparse] Fixed-up rx ir fields (moving non-field fields to $.notes).
01:46 dalek rakudo: e6b7133 | pmichaud++ |  (3 files):
01:46 dalek rakudo: Update some references to Parrot, Perl, and/or Rakudo.
01:46 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/e​6b71337a1859bdd79df943c138eb3d438c349f1
01:47 ispy_ joined #perl6
01:51 hercynium joined #perl6
01:54 eternaleye joined #perl6
01:56 pugs_svn r25569 | wayland++ | S32: Mentioned IPv6
01:56 pugs_svn r25569 | wayland++ | S28: bugfixes
02:03 justatheory joined #perl6
02:05 pugs_svn r25570 | lwall++ | [S02] more package and variable name cleanups
02:13 ispy_ joined #perl6
02:18 alester joined #perl6
02:34 pugs_svn r25571 | putter++ | [elfparse] Switch rx ir field access from hash to real accessors.  ~3% slowdown on test suite.  Also cosmetic s/self./$./g, unbreak IRx1_FromAST2's RxAlias.newp calls, and another field fix (there's no created_in_pkg in RxARegex).
02:46 skids How do you tack more info onto an RT bug?  e.g. what's the per-bug email address format? oh and you need that bitcard account even to do that, right?
02:47 pugs_svn r25572 | putter++ | [elfparse] remains_of_Regexp_ModuleA.pm: Drop unicode character classes - they've already been moved to rx_prelude.
03:09 pmichaud skids:  I think sending email to rakudobug with the rt # in the subject will appened a comment.
03:10 pmichaud as mentioned on #parrot a few minutes ago -- rakudo release will likely be tomorrow; my cold is getting steadily worse.
03:10 pmichaud I'm hoping a night of rest will nip it.
03:10 pmichaud with that, good night all :-)
03:10 skids Get well soon!
03:12 skids pmichaud += liquids
03:28 alester I'm getting me yucky build error
03:28 jimmy_ joined #perl6
03:29 alester http://sial.org/pbot/35257
03:29 alester suggestions?
03:33 justatheory joined #perl6
03:43 pugs_svn r25573 | wayland++ | Numeric.pod: Added some notes on what needs to be documented here
03:43 pugs_svn r25573 | wayland++ | S16 and Exception.pod: Did some work on turning signals into exceptions.  I probably need
03:43 pugs_svn r25573 | wayland++ | to pre-emptively ask for forgiveness for just making stuff up here :).
03:48 skids hrm well I didn't update parrot at all, but I don't get that error.
03:53 felipe joined #perl6
04:12 Caelum_ joined #perl6
04:12 aindilis` joined #perl6
04:12 Caelum joined #perl6
04:48 jimmy_ left #perl6
05:18 tarbo2 joined #perl6
05:24 baest_ joined #perl6
05:30 dukeleto joined #perl6
05:37 masak joined #perl6
05:44 justatheory joined #perl6
05:54 wayland76 joined #perl6
05:59 masak morning, all.
06:00 masak seems I didn't miss the Rakudo release like I thought I would.
06:01 wayland76 Morning
06:01 wayland76 (although it's 5pm here :) )
06:02 carpftb_ its always happy hour in frankston, isn't it?
06:02 wayland76 Yeah.  Lucky I live in Drysdale :)
06:03 carpftb_ hah. lucky I'm 15000km from "home" (which isn't Frankston, I'm a clueless banana bender)
06:04 Tene joined #perl6
06:08 masak 7am here.
06:09 masak (but in Sweden, we don't really use 'am' and 'pm', and we tend to glare annoyedly at the parts of the global world that assume so.)
06:17 wayland76 What do you use?  24-hour time?
06:17 masak yup.
06:17 masak g'ah! some day I'll track down the person who wrote the test suite to Mac::Carbon and tell him, real carefully, about the downsides of producing blood-curdling screams in someone's speakers without asking when running the test suite... :/
06:17 wayland76 I wouldn't mind that, but no-one here uses it, so I'd really confuse everyone
06:17 masak wayland76: just as am/pm confuses us.
06:18 wayland76 Well, at least he didn't cat /vmlinuz > /dev/audio
06:18 wayland76 masak: Agreed.  Like I said, I'd like it, but still have trouble accustoming myself to it
06:19 wayland76 Is there any documentation on writing tests in Perl 6?
06:20 masak wayland76: no. but what do you want to know? :)
06:21 wayland76 Where to get info to write S24 :)
06:21 masak I recommend reading through Rakudo's Test.pm.
06:21 wayland76 Different question
06:21 wayland76 Ok
06:21 masak if that still leaves you unsatisfied, read through November's excellent test suite. :)
06:21 wayland76 That implements all the stuff required for writing tests?
06:21 masak wayland76: aye.
06:21 masak all of it.
06:22 masak (in fact, you don't need a module for that. you just need to adhere to the TAP.)
06:22 wayland76 Good.  Are the spectests written for that?
06:22 wayland76 Ok, what's TAP?
06:22 masak wayland76: yes.
06:22 masak "Test Anything Protocol"
06:22 masak IIRC, it's wider than Perl.
06:24 jimmy_ joined #perl6
06:24 wayland76 Wikipedia doesn't say it is, but it does say Perl 5 has been using it since '87
06:24 jimmy_ morning,masak, where is the release news?
06:24 wayland76 no release yet, I think
06:24 masak wayland76: furthermore, if you would like to know what I'm proud of having created (or stolen, rather) in terms of test modules, check out this blog post: http://use.perl.org/~masak/journal/37976
06:24 wayland76 pmichaud was feeling sick
06:25 masak jimmy_: what wayland76 said.
06:25 masak but probably today.
06:25 wayland76 see backlog for nuances :)
06:25 wayland76 (that was for jimmy_)
06:28 wayland76 Great.  I'll keep that information for S24 :)
06:28 wayland76 (When I get around to it)
06:28 jimmy_ I saw some merge info on github/rakudo, but I could'nt see what had been changed. but can see the merging changes  about parrot on trac.parrot.org
06:28 jimmy_ IIRC, there will be a release for rakudo?
06:29 masak aye.
06:29 masak likely today.
06:30 wayland76 I think jimmy_ is asking whether there will be a special *parrot* release for rakudo
06:30 jimmy_ no
06:30 wayland76 ok :)  I'm wrong :)
06:31 wayland76 Basically, pmichaud wants to do a release tomorrow, but it depends on his health
06:31 jimmy_ on github, i saw some commits like 'moritz  merged branch 'move_split_to_any_str', how can I see what had been changed?
06:32 masak oh. tomorrow. yes.
06:32 masak but that's tomorrow USA time, right?
06:32 masak so, today. :)
06:32 wayland76 I think so.  For you, it's probably today :)
06:32 masak jimmy_: I don't know. perhaps ask on #github?
06:34 jimmy_ thanks
06:35 jimmy_ Will be it a development release about rakudo, like parrot 0.9.1?
06:36 masak jimmy_: what do you mean?
06:36 jimmy_ ah
06:37 masak hm, I'm not sure Rakudo distinguished "development releases" from other kinds of releases.
06:38 jimmy_ Maybe I should say  'Will be it a development release about rakudo, like perl6-alpha1?'?
06:40 masak jimmy_: I'm having trouble assigning a meaning to what you're saying. it's not because of any failure to communicate on your part, it's just that I don't really know what being 'like perl6-alpha1' would mean. :)
06:40 masak jimmy_: I'll go with "no, it won't be like perl6-alpha1".
06:41 masak jimmy_: but it'll still be really, really cool, like most Rakudo releases (bundled with Parrot) so far.
06:43 jimmy_ It said, there was no plain for perl6 alpha release. and now  I get a rakudo release news, and then I am excited. :)
06:43 Matt-W I don't think we could call it a perl 6 alpha yet
06:44 masak I don't think greek letters need be used in versions at all.
06:44 masak it's silly.
06:45 jimmy_ masak: aye. maybe beta or rc and so on.
06:45 masak jimmy_: beta is a greek letter too.
06:45 Matt-W nonetheless, whatever we would call it, alpha implies a certain level of completion
06:45 wayland76 and RC is a brand of cola :)
06:46 wayland76 speaking of which, time for me to eat :)
06:46 masak I don't know if you've followed the discussions on the parrot list about versions.
06:46 masak there's something to be said for pure increasing numbers.
06:46 masak no RC, no letters, no silliness.
06:46 Matt-W yeah
06:47 jimmy_ yes, I used alpha or beta to implies a certain level of completion
06:47 Matt-W there are many strategies to take
06:47 masak jimmy_: I see.
06:47 masak jimmy_: 7000 tests passing!
06:47 jimmy_ s/implies/imply/
06:47 masak jimmy_: that's the level of completion.
06:48 masak I believe that someone estimated the total number of tests needed to about 16k. so we're slightly under halfway there. :)
06:48 Matt-W Woot
06:48 ashizawa joined #perl6
06:49 * Matt-W discovers his problems with rules matching last night were caused by invoking them worng, not by some obscure rules bug
06:49 masak Matt-W: by the way, I believe the bug I worked around for you might be fixed already.
06:50 Matt-W masak: there's a commit that might have done it, yes
06:50 Matt-W I haven't tested it yet
06:50 masak ok.
06:50 Matt-W jnthn++ did something there though
06:50 jimmy_ masak: I have a doubt about articles at http://use.perl.org/~masak/.
06:50 masak jimmy_: let's hear it.
06:52 jimmy_ most articles, it said '131 years ago today' or '******* ago today', How did you find these histories about today?
06:52 masak jimmy_: an excellent question.
06:52 masak jimmy_: I went to the Wikipedia article for that date.
06:52 masak jimmy_: and I basically picked the event I found the most interesting.
06:54 masak as I said in the concluding post aftoer the month was done, the things I found were fairly western-biased. next year, I plan to find interesting events outside the western world.
06:55 Matt-W masak: just tested it, it is indeed fixed
06:56 masak jnthn++
06:56 szabgab joined #perl6
06:56 Matt-W so that's tidied up my tests
06:56 Matt-W also I now pass 8 :)
06:56 jimmy_ masak++, It takes patience.
06:56 masak Matt-W++
06:56 Matt-W next I'll need to make it do something useful with that
06:56 masak jimmy_: it was one of the most fun things I did last year, actually.
06:56 Matt-W since we don't have { make $thing } in regexes yet
06:57 Matt-W jnthn thought we had the ability to associate an actions class and use {*} but wasn't entirely sure how to do it
06:57 masak Matt-W: there's a November branch that does that. I can dig it out for you.
06:57 Matt-W cheers that'd be fab
06:57 Matt-W I just need to see how to do it
06:59 Matt-W time to figure out what's wrong with my field classes :)
06:59 masak Matt-W: <masak> wayland76: furthermore, if you would like to know what I'm proud of having
06:59 masak created (or stolen, rather) in terms of test modules, check out this blog
06:59 masak post: http://use.perl.org/~masak/journal/37976
06:59 masak <wayland76> pmichaud was feeling sick
06:59 masak <masak> jimmy_: what wayland76 said.                                            [07:25]
06:59 masak <masak> but probably today.
06:59 masak <wayland76> see backlog for nuances :)
06:59 masak <wayland76> (that was for jimmy_)
06:59 masak <wayland76> Great.  I'll keep that information for S24 :)                       [07:28]
06:59 masak <wayland76> (When I get around to it)
06:59 masak <jimmy_> I saw some merge info on github/rakudo, but I could'nt see what had been
06:59 masak changed. but can see the merging changes  about parrot on trac.parrot.org
07:00 masak <jimmy_> IIRC, there will be a release for rakudo?
07:00 masak <masak> aye.                                                                    [07:29]
07:00 masak <masak> likely today.
07:00 masak <wayland76> I think jimmy_ is asking whether there will be a special *parrot* release
07:00 masak for rakudo                                                          [07:30]
07:00 masak <jimmy_> no
07:00 masak <wayland76> ok :)  I'm wrong :)
07:00 masak <wayland76> Basically, pmichaud wants to do a release tomorrow, but it depends on his
07:00 masak health                                                              [07:31]
07:00 masak <jimmy_> on github, i saw some commits like 'moritz  merged branch
07:00 masak 'move_split_to_any_str', how can I see what had been changed?
07:00 masak <masak> oh. tomorrow. yes.                                                      [07:32]
07:00 masak <masak> but that's tomorrow USA time, right?
07:00 dukeleto joined #perl6
07:00 masak <masak> so, today. :)
07:00 masak <wayland76> I think so.  For you, it's probably today :)
07:00 masak <masak> jimmy_: I don't know. perhaps ask on #github?
07:00 masak <jimmy_> thanks                                                                 [07:34]
07:00 masak <jimmy_> Will be it a development release about rakudo, like parrot 0.9.1?      [07:35]
07:00 masak <masak> jimmy_: what do you mean?                                               [07:36]
07:00 masak <jimmy_> ah
07:01 masak <masak> hm, I'm not sure Rakudo distinguished "development releases" from other kinds
07:01 masak of releases.                                                            [07:37]
07:01 masak <jimmy_> Maybe I should say  'Will be it a development release about rakudo, like
07:01 masak perl6-alpha1?'?                                                        [07:38]
07:01 masak *** zaidaus (n=zaidaus@60-241-74-109.static.tpgi.com.au) has quit: Read error: 110
07:01 masak (Connection timed out)
07:01 masak <masak> jimmy_: I'm having trouble assigning a meaning to what you're saying. it's not
07:01 masak because of any failure to communicate on your part, it's just that I don't
07:01 masak really know what being 'like perl6-alpha1' would mean. :)               [07:40]
07:01 masak <masak> jimmy_: I'll go with "no, it won't be like perl6-alpha1".
07:01 masak <masak> jimmy_: but it'll still be really, really cool, like most Rakudo releases
07:01 masak (bundled with Parrot) so far.                                           [07:41]
07:01 masak <jimmy_> It said, there was no plain for perl6 alpha release. and now  I get a rakudo
07:01 masak release news, and then I am excited. :)                                [07:43]
07:01 masak <Matt-W> I don't think we could call it a perl 6 alpha yet
07:01 masak <masak> I don't think greek letters need be used in versions at all.            [07:44]
07:01 masak <masak> it's silly.
07:01 masak <jimmy_> masak: aye. maybe beta or rc and so on.                                [07:45]
07:01 masak <masak> jimmy_: beta is a greek letter too.
07:01 masak <Matt-W> nonetheless, whatever we would call it, alpha implies a certain level of
07:02 masak completion
07:02 masak <wayland76> and RC is a brand of cola :)
07:02 masak <wayland76> speaking of which, time for me to eat :)                            [07:46]
07:02 masak <masak> I don't know if you've followed the discussions on the parrot list about
07:02 masak versions.
07:02 masak <masak> there's something to be said for pure increasing numbers.
07:02 jimmy_ what's happend?
07:02 masak <masak> no RC, no letters, no silliness.
07:02 masak <Matt-W> yeah
07:02 masak <jimmy_> yes, I used alpha or beta to implies a certain level of completion     [07:47]
07:02 masak <Matt-W> there are many strategies to take
07:02 masak <masak> jimmy_: I see.
07:02 masak <masak> jimmy_: 7000 tests passing!
07:02 masak <jimmy_> s/implies/imply/
07:02 masak <masak> jimmy_: that's the level of completion.
07:02 masak <masak> I believe that someone estimated the total number of tests needed to about
07:02 masak 16k. so we're slightly under halfway there. :)                          [07:48]
07:02 masak <Matt-W> Woot
07:02 masak *** ashizawa (n=ashizawa@203.152.217.234.static.zoot.jp) has joined channel #perl6
07:02 masak * Matt-W discovers his problems with rules matching last night were caused by invoking
07:02 masak them worng, not by some obscure rules bug                                     [07:49]
07:03 masak <masak> Matt-W: by the way, I believe the bug I worked around for you might be fixed
07:03 masak already.
07:03 masak <Matt-W> masak: there's a commit that might have done it, yes                   [07:50]
07:03 masak <Matt-W> I haven't tested it yet
07:03 masak <masak> ok.
07:03 masak <Matt-W> jnthn++ did something there though
07:03 masak <jimmy_> masak: I have a doubt about articles at http://use.perl.org/~masak/.
07:03 masak <masak> jimmy_: let's hear it.
07:03 masak <jimmy_> most articles, it said '131 years ago today' or '******* ago today', How did
07:03 masak you find these histories about today?                                  [07:52]
07:03 masak <masak> jimmy_: an excellent question.
07:03 masak <masak> jimmy_: I went to the Wikipedia article for that date.
07:03 masak <masak> jimmy_: and I basically picked the event I found the most interesting.
07:03 masak <masak> as I said in the concluding post aftoer the month was done, the things I found
07:03 masak were fairly western-biased. next year, I plan to find interesting events
07:03 masak outside the western world.                                              [07:54]
07:03 masak <Matt-W> masak: just tested it, it is indeed fixed                              [07:55]
07:03 masak <masak> jnthn++                                                                 [07:56]
07:03 masak *** szabgab (n=gabor@p54B11D45.dip0.t-ipconnect.de) has joined channel #perl6
07:03 masak <Matt-W> so that's tidied up my tests
07:04 masak <Matt-W> also I now pass 8 :)
07:04 masak <jimmy_> masak++, It takes patience.
07:04 perlbot What kind of idiot karmas himself?  Your kind of idiot!
07:04 masak <masak> Matt-W++
07:04 masak <Matt-W> next I'll need to make it do something useful with that
07:04 masak <masak> jimmy_: it was one of the most fun things I did last year, actually.
07:04 masak <Matt-W> since we don't have { make $thing } in regexes yet
07:04 masak <Matt-W> jnthn thought we had the ability to associate an actions class and use {*}
07:04 masak but wasn't entirely sure how to do it                                  [07:57]
07:04 masak <masak> Matt-W: there's a November branch that does that. I can dig it out for you.
07:04 szabgab masak, ?
07:04 masak <Matt-W> cheers that'd be fab                                                   [07:58]
07:04 masak <Matt-W> I just need to see how to do it
07:04 masak <Matt-W> time to figure out what's wrong with my field classes :)               [07:59]
07:04 masak ERC> Matt-W: http://github.com/viklund/november/​blob/d77c6c7071d1ef04b5d4cb526e70f4​192b4aefc1/p6w/HTML/Template.pm#L31
07:04 masak oops.
07:04 masak terribly sorry about that. :/
07:04 masak Emacs FAIL.
07:04 masak Matt-W: http://github.com/viklund/november/​blob/d77c6c7071d1ef04b5d4cb526e70f4​192b4aefc1/p6w/HTML/Template.pm#L31
07:04 jimmy_ :(
07:04 Matt-W masak--
07:05 * masak watches the logs in despair as they are filled in slow motion by his mispaste
07:05 szabgab masak, reboot it then :-)
07:05 masak perlbot: I deserved that. :/
07:05 masak szabgab: sorry, sorry, sorry :/
07:05 Matt-W I would've spared you the pain by kicking you, but not got the snail
07:05 masak not good at all.
07:05 masak I just pressed the wrong button, that's all.
07:05 Matt-W oh sorry did I mean you I meant me :)
07:05 masak rebooting wouldn't have helped, I think.
07:06 Matt-W actually I'm kind of surprised freenode didn't kick you
07:06 Matt-W a lot of networks would
07:06 masak consider it an accidental replay of the morning.
07:06 Matt-W must've been just slow enough
07:06 masak :/
07:06 Matt-W aaah so you call TOP and pass :action($instance_of_action_class) as the second parameter
07:07 masak I should write a hook in ERC that prevents anyone from ever doing a thing like that.
07:07 masak Matt-W: aye, it's just a named param.
07:07 Matt-W irssi says "hang on you're about to paste hundreds of lines, are you really really sure you want to do that"
07:07 Matt-W so the question is
07:07 masak yeah, that's what ERC should do, too.
07:08 Matt-W I've got to go to work in a bit
07:08 Matt-W I'm going to push some stuff that doesn't compile and beg for help
07:08 Matt-W it *looks* like a rakudo bug
07:08 masak Matt-W: ok.
07:09 masak Matt-W: as your project grows, you'll want to push stuff like that to a branch.
07:09 masak now it doesn't matter much, I guess.
07:09 Matt-W mmm yes
07:09 Matt-W it's not like there's anything usable there as it is
07:09 Matt-W hmm
07:09 * Matt-W has an idea
07:10 Matt-W hmm no that didn't work either
07:11 Matt-W masak: pushed. TextField and VerbatimField blow up when the compiler tries to deal with them, no idea why
07:12 masak Matt-W: ok. will check.
07:12 Matt-W masak++
07:12 Matt-W because I see no reason why this shouldn't work
07:13 masak Matt-W: next time we meet, I'll tell you about the git commit message conventions. :)
07:14 Matt-W masak: hey, my project, I can be as inconsistent as I like :P
07:14 masak of course. :)
07:14 masak just spreading some information, s'all.
07:14 masak makes logs easier to read, if nothing else.
07:14 Matt-W :)
07:15 Matt-W as long as they make more sense than the ones at work I'll be happy
07:15 Matt-W which, given past experiences, they probably will
07:16 Matt-W right
07:16 Matt-W work &
07:39 * masak can reproduce Matt-W's Null PMC access
07:45 masak Matt-W: I fixed your code. all tests pass.
07:45 * masak makes a pull request
07:46 masak rakudo: module A { role B {}; class C does A::B {} }
07:46 p6eval rakudo e6b713: RESULT«{ ... }»
07:46 masak rakudo: module A { role B {}; class C does B {} }
07:46 p6eval rakudo e6b713: OUTPUT«Null PMC access in find_method()␤current instr.: '!meta_trait' pc 18327 (src/builtins/guts.pir:609)␤»
07:46 * masak submits rakudobug
07:52 dukeleto joined #perl6
07:58 namenlos joined #perl6
08:01 Matt-W masak++
08:01 Matt-W masak: interesting, so is that a bug or are we supposed to qualify the module names?
08:01 masak beats me.
08:02 Matt-W I'm going to hope for bug
08:02 masak I hedged my bets in the RAKUDO comment and in the bug report.
08:02 masak but the NPMCA is wrong in any case.
08:03 Matt-W certainly needs a better error message
08:03 Matt-W like "I have never heard of this role you are trying to compose"
08:03 masak NPMCAs, being Parrot internal errors, are always wrong.
08:03 Matt-W yup
08:04 masak makes it easy to determine if a bug needs to be reported. :)
08:04 Matt-W :)
08:04 Matt-W unfortunately I don't have time to learn how rakudo works inside
08:04 Matt-W that's why I'm writing Form
08:04 Matt-W it's at a level I can actually cope with at th emoment :)
08:05 Matt-W I just fear it's going to turn into an endless parade of 'hey this breaks strangely, help' and you submitting another bug
08:05 masak Matt-W: it won't.
08:05 masak you're just doing a few things that no-one has done before.
08:05 masak after that, it'll be mostly a clear path.
08:05 masak perhaps one bug a week or so.
08:05 Matt-W true
08:05 Matt-W once I get into string munging it should be fairly straightforward
08:06 masak aye.
08:06 Matt-W my current plan is to make all those field types it can parse work
08:06 Matt-W then give it the ability to handle a format picture which has other things in it
08:07 Matt-W then it'll be usable for simple things
08:07 Matt-W and then I can tackle numeric fields
08:07 Matt-W which are... complicated
08:07 masak sounds great.
08:08 jimmy_ It's funny. perl6 irc at freenode, but parrot irc at perl
08:09 masak jimmy_: aye, kinda backwards.
08:09 literal does this channel predate irc.perl.org?
08:09 masak probably not.
08:09 Matt-W masak: It's good to have a plan
08:09 masak plans++
08:09 * Matt-W considers writing a TODO so he doesn't forget the plan
08:11 Matt-W I also need things like a script to run the tests with
08:12 masak Matt-W: consider putting the TODO list in the README
08:12 masak Matt-W: that way, you commit yourself more to actually doing the things you list. :)
08:12 masak Matt-W: re script to run the tests with, see November, Druid et al for a proper Makefile.PL
08:13 * masak really needs to create a 'create' subcommand in proto to automate Perl 6 project creation
08:13 Matt-W yes
08:13 Matt-W that'd be good
08:13 Matt-W now
08:13 masak Matt-W: :)
08:13 Matt-W what were you saying about git commit messages?
08:14 masak Matt-W: oh. well,
08:14 literal it's weird that this .PL convention has lived on with Perl 6
08:14 masak Matt-W: they're supposed to be like 50 characters long.
08:14 masak Matt-W: the first line, that is.
08:14 masak Matt-W: then a blank line, and then possibly longer explanations.
08:14 masak literal: it's Perl 5 code, though.
08:15 literal ah, ok
08:15 moritz_ good morning
08:15 Matt-W masak: any other restrictions?
08:15 Matt-W moritz_: good morning
08:16 masak Matt-W: don't think so. but see http://www.tpope.net/node/106
08:16 masak moritz_: good morning.
08:16 jimmy_ good morning
08:16 wayland76 hi moritz_
08:18 * Matt-W pushes the TODO
08:18 Matt-W as much as I can do at work, but at least now I won't forget
08:18 Matt-W I should maybe do some work now :)
08:19 * masak too
08:19 moritz_ I'm a bit surprised that I see no new blog entry... did we have a Rakudo release yesterday night?
08:19 * Matt-W merges masak's changes too
08:19 masak moritz_: no.
08:19 Matt-W I love how easy that is
08:19 Matt-W pull
08:19 masak moritz_: it'll be today, probably.
08:19 Matt-W push
08:19 Matt-W done
08:20 masak Matt-W: github rocks.
08:20 Matt-W not just github
08:20 Matt-W you could do it from any git server
08:20 masak aye.
08:20 wayland76 moritz_: pmichaud unwell, but expects it to be today (see backlog)
08:20 masak but github is pretty, and convenient, and accomodating.
08:20 Matt-W Take that, moaning people on Planet GNOME: *I* read the documentation.
08:20 moritz_ wayland76: ok, thanks.
08:20 masak moritz_: skip the part of the backlog where I spam the channel.
08:21 Matt-W masak was very naughty
08:21 masak :/
08:21 masak with great Emacs comes great responsibility.
08:21 * moritz_ sees the "Signed-off-by:" entries in the git-log
08:22 mikehh joined #perl6
08:22 moritz_ does that mean that the person how signed it off pushed it to github?
08:22 moritz_ or somethiing more involved?
08:23 * masak likes the TODO point "Everything else"
08:24 masak maybe break that up into smaller items? :P
08:29 Matt-W lol
08:29 Matt-W no I'm taking a hint from how we do scrum planning here
08:29 Matt-W I'm going to re-breakdown when I get closer to actually doing it
08:30 masak fair enough.
08:30 Matt-W it's not in scope for this sprint :D
08:30 masak gotcha.
08:42 bacek good evening
08:43 masak bacek: mornin'
08:44 bacek masak: you are living in past!
08:44 masak bacek: I like it that way.
08:44 DemoFreak joined #perl6
08:44 bacek Anything interesting to backlog?
08:45 * masak groans
08:45 masak bacek: no. nothing.
08:45 masak nothing at all.
08:45 masak :/
08:45 bacek hmm... Not very good.
08:47 * masak wears a conical hat with the word STUPID today
08:47 bacek Is there is todo/vision which parts of Rakudo should be moved into Setting?
08:48 * bacek bough t-shirt with "I mean because you are STUPID" some time ago
08:48 literal is the setting implementation-independent (i.e. written in Perl 6)?
08:48 Matt-W Don't listen to masak, he figured out what was wrong with my code for me, he's cool.
08:48 masak Matt-W: I'm trying to make amends, that's all. :)
08:48 moritz_ literal: it is written in Perl 6, but optimized to work on Rakudo
08:49 literal optimized how?
08:49 * Matt-W blames Emacs
08:49 * Matt-W guesses at it not using anything Rakudo can't do yet
08:49 masak moritz_: does your Google Code project fill any role, now that Rakudo has its own prel... um, setting?
08:51 moritz_ masak: not really
08:51 moritz_ masak: but I'll see if there's anything usable in there
08:51 * masak ponders removing it from proto
08:51 masak but it might as well stay for the time being.
08:51 masak it's a nice example of a non-github project :)
08:52 moritz_ wayland76: re S24, we still haven't fully decided on how to do built-in testing
08:52 moritz_ wayland76: see the "RFD: Built-in testing" thread
08:55 bacek Looks like localtest_loud isn't loud anymore...
08:55 moritz_ that's deplorable
08:55 masak .oO( loltest_loud )
08:56 bacek moritz_: indeed.
08:56 ejs joined #perl6
08:58 pugs_svn r25574 | lwall++ | [STD] make $^foo declare $foo; remove duplicate variable check code
09:02 ejs joined #perl6
09:07 pugs_svn r25575 | moritz++ | [t/spec] autothreading prime test
09:08 masak TimToady: 'make cat' doesn't work. has it bitrotted?
09:08 pugs_svn r25576 | moritz++ | [t/spec] simplify a few tests to use /../ instead of rx/../
09:08 pugs_svn r25576 | moritz++ | Also removed tests that referred to the Tuple type, which doesn't exist
09:08 pugs_svn r25577 | lwall++ | [STD] don't check &foo for variable predeclaration
09:08 TimToady masak: I haven't used try5 in months
09:09 masak TimToady: oki.
09:09 masak TimToady: what's the latest thing to use?
09:09 moritz_ teststd
09:09 TimToady looks like nothing in Makefile runs try5
09:10 TimToady tryfile and viv
09:10 TimToady tryfile to see if it parses, and viv to get the ast
09:11 TimToady std: say "I'm running tryfile really"
09:11 p6eval std 25577: OUTPUT«ok 00:04 33m␤»
09:12 * masak tries viv
09:14 masak TimToady: I ran 'tryfile' on http://github.com/masak/svg/tree/master/lib/SVG.pm -- it reported a lot of 'undeclared routines'. is that something to worry about?
09:14 TimToady it doesn't see implicit imports
09:14 TimToady so probably not a concern
09:15 masak TimToady: no implicit imports involved, I'm afraid.
09:15 masak just forward references.
09:16 masak TimToady: also, viv has an unadvertised dep YAML::XS
09:17 masak std: KitchenSink
09:17 p6eval std 25577: OUTPUT«ok 00:02 33m␤»
09:18 TimToady I think I know what's going on; don't worry about it
09:19 TimToady it's adding the subs in an inner scope that it throws away before the final check
09:19 TimToady I'll fix it tomorrow
09:19 masak goodie.
09:19 bacek perl6: say ~ [!=] ()
09:20 p6eval elf 25577: OUTPUT«pre without a prefix is unimplemented at ./elf_h line 2148␤»
09:20 p6eval ..rakudo e6b713: OUTPUT«0␤»
09:20 p6eval ..pugs: OUTPUT«␤»
09:20 bacek perl6: say ~ [!=] (4)
09:20 bacek perl6: say ~ [!=] (4,5)
09:20 bacek perl6: say ~ [!=] (4,5,5)
09:20 p6eval pugs: OUTPUT«1␤»
09:20 p6eval ..elf 25577: OUTPUT«pre without a prefix is unimplemented at ./elf_h line 2148␤»
09:20 p6eval ..rakudo e6b713: OUTPUT«0␤»
09:20 p6eval pugs, rakudo e6b713: OUTPUT«1␤»
09:20 p6eval ..elf 25577: OUTPUT«pre without a prefix is unimplemented at ./elf_h line 2148␤»
09:20 p6eval elf 25577: OUTPUT«pre without a prefix is unimplemented at ./elf_h line 2148␤»
09:20 p6eval ..rakudo e6b713: OUTPUT«0␤»
09:20 p6eval ..pugs: OUTPUT«␤»
09:21 TimToady must zzz &
09:22 bacek hmm.. [\!=] (4,5,5) should produce (1,0,0)?
09:24 Maghnus joined #perl6
09:24 moritz_ I think it should produce (1, 0)
09:26 moritz_ I've registered the domain perl6-projects.org, which I want to host on feather
09:26 moritz_ and put up an overview page of all active Perl 6 projects
09:26 * masak perks up
09:26 masak moritz_: we need some kind of collaboration here between that and proto
09:27 masak it also has a list of active Perl 6 projects.
09:27 bacek moritz_: it should produce 3 values I think
09:28 moritz_ masak: my main priority are compilers and documentation projects
09:28 masak bacek: what do you compare the first element against?
09:28 moritz_ bacek: so what would be a sane value for unary != ?
09:28 masak moritz_: ah. I see.
09:29 bacek moritz_: True?
09:29 moritz_ masak: I don't want to discriminate against any projects using Perl 6, but I guess that list will start to fluctuate pretty much pretty soon
09:29 bacek rakudo: say [!=] (4)
09:29 p6eval rakudo e6b713: OUTPUT«0␤»
09:29 bacek ok, False :)
09:29 moritz_ bacek: why True? Why not False? why not "die horribly"=
09:29 moritz_ s/=/?/
09:29 moritz_ don't take rakudo as the reference
09:29 moritz_ perl6: say [!=] 4
09:29 p6eval pugs: OUTPUT«1␤»
09:29 p6eval ..elf 25577: OUTPUT«pre without a prefix is unimplemented at ./elf_h line 2148␤»
09:29 p6eval ..rakudo e6b713: OUTPUT«0␤»
09:30 masak moritz_: fluctuate? which list?
09:30 bacek interesting :)
09:30 moritz_ masak: the list of projects implemented in Perl 6
09:30 bacek is (~ [\!=]  4, 5, 5),   "0 1 0",   "[\\!=] works (2)";
09:30 masak moritz_: it's already pretty fluctuant. :)
09:30 bacek this this from spectest
09:30 moritz_ bacek: that also doesn't mean it's correct :/
09:31 bacek moritz_: I know...
09:31 moritz_ actually it's 100% wrong
09:31 moritz_ because ~ @list joins without whitespaces
09:31 bacek It's probably should be 1,1,0
09:31 meppl joined #perl6
09:31 moritz_ it probably should be 1, 0
09:31 moritz_ but I already said that
09:32 bacek perl6: say ~ [!=] ()
09:32 p6eval elf 25577: OUTPUT«pre without a prefix is unimplemented at ./elf_h line 2148␤»
09:32 p6eval ..rakudo e6b713: OUTPUT«0␤»
09:32 p6eval ..pugs: OUTPUT«␤»
09:32 moritz_ because the operation != has no sane neutral element
09:32 Maghnus any projects to put perl6 into a browser as a js alternative?
09:32 moritz_ Maghnus: first we try to implement it ;-)
09:33 bacek Maghnus: it's after-xmas project
09:33 moritz_ Maghnus: some people thought about embedding parrot into firefox, but I don't think somebody actually did it
09:33 Maghnus :) true but it seems mostly orthogonal
09:34 moritz_ feel free to try it ;-)
09:35 moritz_ the thing that's not orthogonal is developer's time
09:36 moritz_ bacek: ok, I was wrong... [!==]()     # Bool::False   (also for 1 arg)
09:36 moritz_ from S03
09:36 * masak could use some orthogonal developer time
09:37 moritz_ bacek: so it could very well be a list of three items
09:37 bacek moritz_: so, [\!=] 4,5,5 should be (0,1,0), correct?
09:37 masak aye.
09:38 moritz_ yes
09:38 bacek perl6: say ~(1..3)
09:38 p6eval elf 25577: OUTPUT«No viable candidate for call to multimethod prefix__126(#,#,#) at (eval 122) line 3␤ at ./elf_h line 4346␤»
09:38 p6eval ..pugs, rakudo e6b713: OUTPUT«1 2 3␤»
09:39 bacek moritz_: and ~List joins with spaces :)
09:39 literal can one do a method call on a list?
09:39 bacek perl6: say ~(1..3); say (1..3)
09:39 p6eval elf 25577: OUTPUT«No viable candidate for call to multimethod prefix__126(#,#,#) at (eval 124) line 3␤ at ./elf_h line 4346␤»
09:39 p6eval ..pugs, rakudo e6b713: OUTPUT«1 2 3␤123␤»
09:39 masak literal: sure, why not?
09:39 moritz_ bacek: ah right, I thought about [~]
09:39 moritz_ bacek: don't listen to me today
09:39 masak perl6: (1,2,3).reverse.say
09:40 p6eval pugs, rakudo e6b713: OUTPUT«321␤»
09:40 p6eval ..elf 25577: OUTPUT«Useless use of a constant in void context at (eval 120) line 3.␤Can't call method "reverse" without a package or object reference at (eval 120) line 3.␤ at ./elf_h line 4346␤»
09:40 jnthn morning
09:40 moritz_ elf needs more autoboxing ;-)
09:40 moritz_ good morning jnthn
09:40 bacek jnthn: evening :)
09:40 masak jnthn: dobre rano.
09:40 * jnthn avoids mentioning the backscroll to avoid further embarasssing masak
09:40 masak :/
09:40 moritz_ lol
09:41 bacek afk & # watching LOTR with kids... Again.
09:41 literal masak: what methods does List have?
09:41 literal just curious
09:41 bacek literal: S29
09:41 moritz_ a lot ;-)
09:41 literal I don't see List there
09:41 bacek oh, It's S32 now
09:42 moritz_ it's probably in S32*/List.pod or somethiing
09:42 * masak remembers he still has a lot of items left on his S29 laundry list
09:42 bacek moritz_: Containers.pod
09:42 moritz_ ah, bacek beat me again... as I said, ignore me today ;-)
09:44 masak the problem aobut the word 'container' right now is that it's used in two senses: about data types and about binding
09:44 jnthn masak: The double free is, hopefully, gone now...
09:44 masak jnthn++ jnthn++ jnthn++
09:44 jnthn masak: pmichaud++ too
09:44 moritz_ masak: they are releated. You can only bind to containers.
09:44 masak oh. pmichaud++
09:44 hercynium joined #perl6
09:45 jnthn I found where to stick the patch and wrote one that worked. pmichaud then looked at my patch, saw it was to do with contexts, and wrote a patch that was much shorter and better. :-)
09:45 hercynium joined #perl6
09:45 moritz_ I saw the commit, very nice and simple fix
09:47 jnthn Yes.
09:49 masak maybe I'll go back to the fakecutable then.
09:51 jnthn masak: I used it all day yesterday.
09:51 masak ok.
09:51 masak I'll try it on my projects.
09:54 wayland76 moritz_: Thanks for the S24 info.
09:54 * jnthn ponders his excessive list of things to do today
09:55 IllvilJa joined #perl6
09:56 moritz_ can I somehow tell git-pull to be 100% silent?
09:56 moritz_ I have a cron job that git-pull's
09:56 literal >/dev/null :P
09:56 moritz_ and it doesn't get rid of the summary
09:57 moritz_ I already supplied -n -q
09:58 wayland76 May also need 2>&1 *after* the >/dev/null :)
10:00 pugs_svn r25578 | wayland++ | S29: Fix formatting
10:00 pugs_svn r25578 | wayland++ | IO.pod: Get rid of tree, spec stat and LinkNode a bit better
10:01 wayland76 masak: Hope you're happy about getting rid of tree :)
10:01 wayland76 Thank ruoso; he talked me out of it :)
10:01 masak ruoso: thank you.
10:02 masak wayland76: I still appreciate your efforts. sorry if I seem at times overly apprehensive.
10:04 moritz_ rakudo: say 2**20
10:04 p6eval rakudo e6b713: OUTPUT«1048576␤»
10:05 dalek rakudo: 2758f79 | (Moritz Lenz)++ | tools/ (2 files):
10:05 dalek rakudo: [tools] use fake executable in autounfudge and test_summary
10:05 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/2​758f79032dc8a55cd98f1d7d6bfd2df0010abfa
10:09 wayland76 ruoso++ :)
10:10 wayland76 masak: Yeah, thanks for the encouragement.  I think my motivation to work on IO.pod has disappeared though, and it still needs work.  Everyone feel free to hack away at it, keeping in mind "forgiveness, not permission"
10:11 masak indeed.
10:11 wayland76 I'd never get anything done if I didn't constantly tell myself that :)
10:11 masak I/O is important.
10:11 wayland76 I'm still motivated to work on specs though.  It's just that IO.pod is now at the bottom of the list :)
10:11 wayland76 Signals are still interesting, though :)
10:11 masak I/O seems to be like religion, politics and language: everyone feels entitled to an opinion about it, and there is a lot of bikeshedding.
10:12 wayland76 Does anyone else think that IPC and Signals belong in S17 instead of S16?
10:12 masak not necessarily always bad...
10:12 masak ...but often enough it leads to few results.
10:12 wayland76 Interesting -- politics and religion used to be the two forbidden topics at the meal table :)
10:13 wayland76 masak: What do you think of the event loop idea that Larry and Ruoso were discussing?
10:13 wayland76 Is that fine by you, or does it worry you too?
10:13 moritz_ std: foo:bar
10:13 p6eval std 25578: OUTPUT«Undeclared routine:␤   foo used at 1 ␤ok 00:02 33m␤»
10:13 masak wayland76: I didn't pay much attention to it, but I would think I'm alright with such a thing.
10:14 moritz_ std: foo\.(:bar)
10:14 p6eval std 25578: OUTPUT«Undeclared routine:␤   foo used at 1 ␤ok 00:02 33m␤»
10:14 PZt joined #perl6
10:14 masak wayland76: I'm mostly worried when people provide suboptimal default types.
10:14 moritz_ rakudo: sub succ($x) { $x + 1}; succ .(1+2) * 30
10:14 p6eval rakudo e6b713: OUTPUT«invoke() not implemented in class 'Undef'␤current instr.: '_block14' pc 95 (EVAL_19:49)␤»
10:15 moritz_ std: sub succ($x) { $x + 1}; succ .(1+2) * 30
10:15 p6eval std 25578: OUTPUT«ok 00:02 34m␤»
10:16 masak moritz_: wot's .(1+2) supposed to mean?
10:16 moritz_ masak: method call on $_
10:16 moritz_ masak: but I'm looking at a test that thinks differently
10:16 masak moritz_: ...which is undefined. yah?
10:16 moritz_ right
10:16 masak that's odd.
10:17 moritz_ why?
10:17 Matt-W yeah if you wanted it to be succ.(1+2) you'd have to write succ\ .(1+2) I believe
10:17 Matt-W unspace thingy
10:17 moritz_ Matt-W: exactly
10:17 moritz_ but sub-calls.t has that wrong
10:17 moritz_ s(eval(q/first.second/), 'firstsecond', '`first.second` means `&second(&first())`');
10:17 Matt-W tsk!
10:17 moritz_ that's also wrong, isn't it?
10:17 moritz_ it should just be ((first()).second()
10:18 Matt-W yes I think that's wrong
10:18 Matt-W it could also be second :first(), if I remember the new indirect object syntax
10:19 Matt-W or something like that
10:19 ludan joined #perl6
10:19 Matt-W but you can't pass the invocant as the first param just like that AFAIK
10:19 moritz_ you mean the invocant marker?
10:19 pugs_svn r25579 | moritz++ | [t/spec] corrected sub-calls.t, and fudged for rakudo
10:20 Matt-W whatever it's called :)
10:21 dalek rakudo: e4bd268 | (Moritz Lenz)++ | t/spectest.data:
10:21 dalek rakudo: we now pass sub-calls.t, add to spectest.data
10:21 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/e​4bd26861ad165fe00376e25a73c5ca898025309
10:27 jnthn moritz_: I put in bare sigils yesterday.
10:27 jnthn In signatures.
10:27 jnthn We had tests already in assign.t for like my ($, $, $three) = 1..3;
10:27 jnthn So I enabled those.
10:27 masak wayland76: no, bless isn't dead. see S12.
10:28 jnthn But I didn't see any for sub foo($, $, $oh_this_one_is_useful) { }
10:28 Matt-W I thought * was for ignoring things like that
10:28 moritz_ jnthn: I'll put it on my TODO
10:28 masak wayland76: if it's a TODO list you're building for S29, please see http://use.perl.org/~masak/journal/38170
10:29 Matt-W I guess in sub params you need to say something more useful...
10:29 Matt-W Does rakudo do enums?
10:29 masak Matt-W: sure!
10:29 masak rakudo: enum Foo <a b c>; say b
10:29 p6eval rakudo 2758f7: OUTPUT«1␤»
10:29 moritz_ rakudo: multi f($ where 0 ) { 1 }; mullti f(Int $x ) { $x * f($x-1) }; say f(4)
10:29 p6eval rakudo 2758f7: OUTPUT«Statement not terminated properly at line 1, near "(Int $x ) "␤␤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)␤»
10:30 moritz_ rakudo: multi f($ where 0 ) { 1 }; multi f(Int $x ) { $x * f($x-1) }; say f(4)
10:30 p6eval rakudo e4bd26: OUTPUT«maximum recursion depth exceeded␤current instr.: 'parrot;P6object;HOW' pc 54 (runtime/parrot/library/P6object.pir:96)␤»
10:30 moritz_ rakudo: multi f($x where 0 ) { 1 }; multi f(Int $x ) { $x * f($x-1) }; say f(4)
10:30 p6eval rakudo e4bd26: OUTPUT«maximum recursion depth exceeded␤current instr.: 'parrot;P6object;HOW' pc 54 (runtime/parrot/library/P6object.pir:96)␤»
10:30 moritz_ rakudo: multi f(Int $x where 0 ) { 1 }; multi f(Int $x ) { $x * f($x-1) }; say f(4)
10:30 p6eval rakudo e4bd26: OUTPUT«24␤»
10:30 moritz_ rakudo: multi f($ where 0 ) { 1 }; multi f($x ) { $x * f($x-1) }; say f(4)
10:31 p6eval rakudo e4bd26: OUTPUT«24␤»
10:31 moritz_ nice ;-)
10:31 jnthn iIt took me a while to see why, but yes, I think Rakudo is getting those right.
10:32 moritz_ same here
10:32 jnthn (Int is tighter than Any, so the Any variant is never considered)
10:32 Matt-W rakudo: enum Foo<a b c>; class Bar { has Foo $.x; }; my $y = Bar.new;
10:32 p6eval rakudo e4bd26: OUTPUT«Type mismatch in assignment.␤current instr.: 'die' pc 16347 (src/builtins/control.pir:204)␤»
10:33 wayland76 masak: I guess I see the role of S29 as really being the section labelled "Default functions"; if it's a method on an object, then even when it's exported by default, it should be in S32/*, not S29.
10:33 wayland76 That's my vision for it; others may differ :)
10:33 masak wayland76: makes sense to me.
10:34 masak note though that I wrote the blog post before that distinction existed. :)
10:34 wayland76 Yeah, I saw that :)
10:34 masak and most of the things on that list are still missing.
10:35 wayland76 Good list; thanks.
10:36 wayland76 Should there be a Context object?
10:37 masak good question. probably.
10:37 wayland76 I'm not so sure; have you looked at the Context section in S29?
10:38 wayland76 A lot of those functions don't really look like they belong on a Context object :)
10:39 moritz_ std: _foo()
10:39 p6eval std 25579: OUTPUT«Undeclared name:␤      _foo used at 1 ␤ok 00:02 33m␤»
10:39 moritz_ rakudo: say '_' lt 'a'
10:39 p6eval rakudo e4bd26: OUTPUT«1␤»
10:39 moritz_ rakudo: say '_' lt 'A'
10:39 p6eval rakudo e4bd26: OUTPUT«0␤»
10:40 jimmy_ <Hello World>.split(' ').say
10:40 jimmy_ rakudo: <Hello World>.split(' ').say
10:40 p6eval rakudo e4bd26: OUTPUT«HelloWorld␤»
10:40 moritz_ that's... experimental
10:41 literal rakudo: 'foo'.say.say.say
10:41 p6eval rakudo e4bd26: OUTPUT«foo␤1␤1␤»
10:41 jimmy_ mine?
10:41 moritz_ splitting on an array coerces it to Str
10:41 moritz_ then you split it
10:41 moritz_ jimmy_: yes
10:41 moritz_ but it doesn't have a blank anymore
10:41 jimmy_ rakudo: <Hello World>.split('').say
10:41 p6eval rakudo e4bd26: OUTPUT«Hello World␤»
10:41 Matt-W rakudo: <Hello World>.split(' ').perl
10:41 p6eval rakudo e4bd26: RESULT«"[\"Hello\", \"World\"]"»
10:42 jimmy_ rakudo: <Hello World>.perl
10:42 p6eval rakudo e4bd26: RESULT«"[\"Hello\", \"World\"]"»
10:42 wayland76 context() and caller() are how you get a context.  I'm not sure why eval() and evalfile() are in this section.  exit() seems like it calls PROCESS::return() or something.  sleep() also seems to belong on at least a thread rather than a context.  die() and fail() should, to my mind, be keywords rather than functions :).
10:42 masak moritz_: it doesn't have a blank anymore because lists are printed as is without a blank.
10:42 moritz_ rihgt
10:43 moritz_ rakudo: say <a b c>.join
10:43 p6eval rakudo e4bd26: OUTPUT«a b c␤»
10:43 jimmy_ left #perl6
10:43 wayland76 rakudo: "Hello World".split(' ').say()
10:43 p6eval rakudo e4bd26: OUTPUT«HelloWorld␤»
10:44 masak by the way, this is a bit inconsistent, come to think of it:
10:44 masak rakudo: my @a = 1,2,3; say @a; say @a.fmt("%s"); my %h = "A" => "B"; say %h; say %h.fmt("%s\t%s")
10:44 p6eval rakudo e4bd26: OUTPUT«123␤1 2 3␤A  B␤A       B␤»
10:45 masak (that's two tabs, they just happen to be of different width here)
10:46 masak so while an unadorned .fmt on hashes produces the same result as just printing a hash, the same does not hold for arrays.
10:49 masak lunch &
10:55 mikehh joined #perl6
10:57 pugs_svn r25580 | wayland++ | Added types to main table
10:57 ejs1 joined #perl6
11:05 pugs_svn r25581 | wayland++ | Moved Junctions from S29 to Containers.pod
11:05 pugs_svn r25582 | wayland++ | Updated main table; refactoring after previous additions
11:06 ejs2 joined #perl6
11:08 moritz_ wayland76: Junctions are some kind of compound types, but they are not containers (you can't bind to them)
11:12 moritz_ the wonders of unix's fork(): you can upgrade your ssh daemon without loosing the connection
11:13 literal actually I think that's the wonder of unix filesystems
11:13 moritz_ that also
11:14 moritz_ but the upgrade also implies a restart
11:14 literal open files can be replaced/deleted without harm to running apps :P
11:14 literal ah, true
11:15 moritz_ yes, in the end you need both features
11:21 wayland76 moritz_: Pity :)
11:22 wayland76 What if we had an array.  Could I do given (any(@exceptions)) { when ......
11:22 wayland76 Or does "given" not play well with junctions?
11:22 jnthn The mart-match will auto-thread.
11:23 wayland76 mart-match?
11:23 moritz_ smart-match
11:23 jnthn smart match
11:23 wayland76 ah :)
11:23 moritz_ the "when" performs one
11:23 jnthn mart-match is like, commercial smart-match ;-)
11:23 wayland76 So that does what I want, then :)
11:23 jnthn Probably.
11:24 wayland76 jnthn: Yeah, I figured that when I googled it :)
11:24 moritz_ wayland76: not sure it does; only one when block will match
11:24 moritz_ wayland76: is that what you want?
11:26 wayland76 Oops :).  Maybe not then
11:26 wayland76 Unfortunately I just sent another e-mail to the list.  Oh well :)
11:28 wayland76 I guess we need foreach(@!) { given { when .... } }
11:28 moritz_ is @! new?
11:28 moritz_ or did you mean @($!)?
11:28 wayland76 See my e-mail :).
11:28 bacek pmichaud, jnthn, I've finished reduce metaops. http://github.com/bacek/rakudo/blob/e94df843e66318​b701d4d104c8f909cd6cc560c4/src/builtins/assign.pir. This version passing all tests from spectest except custom operators
11:28 wayland76 I'm suggesting that, since $! is a container, it might make more sense to call it @!
11:29 moritz_ it's both a single exception and a container
11:29 wayland76 ?
11:29 moritz_ like $/ is a match object and a container of match objects
11:30 moritz_ at least that's my impression
11:30 wayland76 Ah, I see
11:30 moritz_ I don't like @! because you can't interpolate it in strings easily
11:30 wayland76 Ok
11:30 wayland76 Makes sense
11:31 wayland76 But inside a CATCH block, $_ would interpolate easily :)
11:31 moritz_ yes, but that's not the only use
11:31 wayland76 OK ;)
11:32 wayland76 Another question; can any Match object act both as a Match and a container of Matches?
11:32 wayland76 or is it just $/
11:34 jnthn Any
11:34 jnthn You can see it as a kinda match tree
11:34 wayland76 Ok, all happy then :)
11:34 ludan joined #perl6
11:34 wayland76 Now we have exception trees :)
11:34 moritz_ rakudo: Match.new(to => 3); say "alive"
11:34 p6eval rakudo e4bd26: OUTPUT«invalid arg type in named portion of args␤current instr.: 'parrot;PGE;Match;new' pc 28 (compilers/pge/PGE/Match.pir:54)␤»
11:46 Matt-W ooooh a proper error message
11:52 ruoso joined #perl6
12:04 pugs_svn r25583 | wayland++ | Lots more stuff in S32.  Documented Callable objects, and extended Containers a fair bit.
12:04 pugs_svn r25583 | wayland++ | Added little bits elsewhere in S32.
12:05 jnthn wayland76: Callable ojects?
12:05 jnthn Callable is a role done by Code, AFAICT.
12:05 jnthn (And thus by stuff that inherits from it...)
12:06 ruoso jnthn, isn't Callable something parrot-specific?
12:06 jnthn ruoso: No
12:06 ruoso Isn't it just Code in Perl 6?
12:06 jnthn It's a Perl 6 role.
12:06 jnthn Code does Callable
12:06 jnthn You can only assign/bind things to something with the & sigil if it does Callable
12:06 jnthn Just as @ means does Positional, etc.
12:06 jnthn S02 IIRC
12:07 ruoso S02 doesn't seem to mention Callable in the "built-in types"
12:07 ruoso hmm...
12:07 ruoso but it lists it later
12:07 ruoso hmmm...
12:07 ruoso inconsistencies--
12:08 jnthn I think it mentions it around the same time it's also talking about Positional etc.
12:08 jnthn It's parobably a parametric role.
12:08 wayland76 Ok, correction -- I documented the classes and roles that depend on the Callable role
12:09 wayland76 grep Callable S02-bits.pod
12:09 wayland76 C<&x> may be bound to any object that does the C<Callable> role, such
12:09 wayland76 as any C<Block> or C<Routine>.  The C<Callable> role implies the ability
12:09 wayland76 :)
12:09 ruoso wayland76, one thing I noticed is that you're doing things like "class Foo does Foo {}"
12:09 wayland76 Is that bad?
12:09 jnthn Foo can't be a class and a role
12:09 jnthn Well, it can but...
12:09 jnthn Not liek that...
12:09 jnthn ;-)
12:09 ruoso and also
12:09 jnthn class Foo does Bar { } would be clearer
12:10 wayland76 :).  Well, I'm just doing what I perceive the documentation to be saying :)
12:10 ruoso "role Foo { }" already behaves like a class fwiw
12:10 ruoso it generates a "punned class" when used as one
12:10 ruoso so, every built-in type can be expressed in terms of roles
12:10 ruoso (I think it has been said that all built-in types *are* roles)
12:11 wayland76 Ok, I love it :)
12:14 ruoso so... what does the Code type do that the Callable type doesn't?
12:15 pugs_svn r25584 | wayland++ | Container.pod fixes, based on IRC advice.
12:15 wayland76 You tell me :)
12:15 wayland76 I'm just extracting stuff from S02 :)
12:15 wayland76 Maybe I'm highlighting inconsistencies
12:16 wayland76 In fact, that's half my point in most of the things I've done tonight is to see whether things line up with other things
12:17 wayland76 (that was proof that I'm, like, part of the most inarticulate generation in, like, a loooong time.  whatever :) )
12:17 ruoso maybe Callable only defines .()
12:17 ruoso while Code also defines .signature
12:17 wayland76 Quite possibly
12:18 wayland76 Callable is presumably supposed to be analogous with Associative and Positional
12:19 wayland76 While we're here, can someone tell me if it's correct that List does Array, and Array does Container?  Or have I got them mixed up?
12:20 ruoso Array does List
12:20 ruoso not the other way around
12:20 ruoso but List is in the "immutable types"
12:20 ruoso so that's a bit mixed off
12:21 wayland76 :)
12:22 ruoso I think the "immutable" section is a bit illustrative...
12:22 ruoso since you can't really ensure immutability of non-native types
12:23 wayland76 :)
12:24 pugs_svn r25585 | wayland++ | Containers.pod: Got some composition straightened out
12:24 pugs_svn r25585 | wayland++ | Abstraction.pod: Documented these.
12:25 masak joined #perl6
12:25 ruoso wayland76, there isn't really a class Class
12:25 wayland76 No?
12:25 masak rakudo: module A { sub f is export { say "OH HAI" } }; f
12:25 p6eval rakudo e4bd26: OUTPUT«Could not find non-existent sub f␤current instr.: '_block14' pc 53 (EVAL_19:38)␤»
12:25 masak NO HAI?
12:26 masak we don't have 'is export' in Rakudo?
12:26 wayland76 OH HAI masak :)
12:26 masak wayland76: :)
12:26 wayland76 If there's no class Class, why is it listed under Mutable Types in S02?
12:26 * masak meant from Rakudo, but human HAIs are fine, too
12:27 ruoso wayland76, that's a good question...
12:27 masak wayland76: good question. fossil, p'haps?
12:27 wayland76 masak: Well, I'd just said "No", so I made a connection :)
12:27 masak ah.
12:27 wayland76 Maybe it's the way it should be specced, even if it isn't/can't be implemented that way :)
12:28 ruoso wayland76, Perl 6 doesn't enforce a specific OO implementation
12:28 ruoso which is what "class Class" would do
12:28 ruoso everything goes through HOW
12:28 wayland76 I started out adding the types to S28, and ended up here :)
12:28 ruoso and HOW is implementation specific
12:29 ruoso mildew has a ClassHOW, for instance
12:29 ruoso but not a Class
12:29 wayland76 Ok.
12:29 wayland76 So what type should $?CLASS be in S28?
12:29 ruoso $?CLASS is of the type of the class being defined
12:29 ruoso it points to the protoobject
12:30 ruoso or, if you want to simplify it... it's of the type Object
12:30 wayland76 But shouldn't the type of $?CLASS be the type of the proto-object?
12:31 wayland76 Is the proto-object of type Object?
12:31 ruoso $?CLASS *is* the protoobject
12:31 ruoso everything is of type Object
12:31 ruoso including the protoobjects
12:31 masak no answer on the 'is export' feature? I was under the impression that Rakudo had it. but maybe that was just internally?
12:32 ruoso masak, I think the problem is in your code
12:32 masak ruoso: ok. my cup is empty.
12:32 ejs2 joined #perl6
12:32 ruoso is export requires EXPORTALL to be called
12:32 ruoso (at least in theory)
12:32 masak ruoso: how would it look, more precisely?
12:33 ruoso masak, I think exportation requires a "use"
12:33 masak ruoso: I have a 'use' in my program.
12:33 masak still doesn't work.
12:33 ruoso ah... ok then...
12:33 masak good point about the one-liner, though. it's probably not a good way to show that it doesn't work.
12:33 * masak submits rakudobug
12:34 ruoso masak, but I'm not actually sure about that...
12:34 ruoso I *think* having a class inline doesn't import any symbols it exports
12:34 ruoso but the spec around that is very much confusing
12:35 ruoso wayland76, conceptually, you never get *the class*. what you get is the HOW, which should be able to do everything you would do with the class object
12:35 masak maybe a ticket will get things going.
12:36 ruoso wayland76, but in SMOP, for instance, all classes share the same HOW, because it's a bit more prototype-based than rakudo
12:37 ruoso (and in order to support that, $a.^b() is always the same as $a.HOW.b($a)
12:37 wayland76 What, so Str $foo; Int $bar; $foo.HOW ==== $bar.HOW ?
12:37 wayland76 (ignore my last line)
12:37 cas joined #perl6
12:38 ruoso wayland76, in SMOP, yes... but comparing HOW identity is not something really usefull
12:38 ruoso nor is comparing WHAT, for that matter
12:39 ruoso wayland76, but rakudo implements a more class-based OO... so the HOW itself is really a class
12:40 ruoso wayland76, in SMOP, the HOW implements the logic on how the objects of that HOW behaves... for instance... the logic of inheritance, method resolution order and so on will always be in the HOW object
12:41 ruoso while the methods and attributes themselves are stored in the protoobject...
12:41 wayland76 Ok, I think after reading a bit about prototypes I'm getting the hang of that
12:42 wayland76 I don't get how a language spec can refuse to choose between them, and still remain interoperable, though :)
12:42 ruoso my idea of using this more prototype-based implementation is to allow replacing the HOW in a subclass while still being able to inherit from protoobjects that use a different HOW
12:42 ruoso wayland76, Perl 6 can do that because it doesn't enforce a lowlevel representation
12:43 ruoso *that* IMNSHO, is the most important feature of Perl 6
12:43 wayland76 I'll take your word for it -- I'm no expert :)
12:43 ruoso so in Perl 6 you really can't break the encapsulation of an object
12:43 [particle] joined #perl6
12:44 wayland76 (on most things, anyway :) )
12:44 ruoso for the simple fact that you don't know how the object layout
12:44 ruoso (actually, in SMOP you can, as long as the object conforms to the REPR API
12:45 wayland76 Is REPR non-Perl6 then?
12:45 ruoso non standard...
12:45 ruoso yes
12:45 wayland76 That's what I meant :)
12:45 ruoso I know
12:45 moritz_ it's below the level of what is currently specced
12:45 r0bby_ joined #perl6
12:46 ruoso I just had a hard time expressing a yes that was supposed to look like a no
12:46 moritz_ ;-)
12:46 wayland76 Does this mean that everything I wrote in Abstraction.pod is wrong, then?
12:46 moritz_ isn't it the other way round? ;-)
12:47 masak hah, I can work around needing 'is export' by not declaring any package at all!
12:47 masak :)
12:48 moritz_ doesn't 'is export' work?
12:48 ruoso wayland76, I'm quite convinced that the "Abstraction" role is quite confusing by itself
12:48 masak moritz_: you tell me!
12:48 masak I can't get it to work.
12:49 ruoso wayland76, in fact, if the thing that goes onto the ::Array is the array protoobject, I'm quite convinced the "Abstraction" role simply doesn't make any sense...
12:50 moritz_ masak: maybe I'm wrong
12:50 masak moritz_: I wish you weren't.
12:50 wayland76 Well, something to take up with TimToady :)
12:50 ruoso because if the protoobject is of the same type of the actual object, it can't compose an additional role
12:50 ruoso unless everything does Abstraction
12:51 ruoso rakudo: say Array ~~ Abstraction
12:51 p6eval rakudo e4bd26: OUTPUT«0␤»
12:51 ruoso rakudo: say ::Array ~~ Abstraction
12:51 p6eval rakudo e4bd26: OUTPUT«0␤»
12:51 wayland76 I'm wondering if Abstraction == Namespace (scope? I'm not sure of the word I want here :) )
12:52 masak wayland76: yes, I think so.
12:52 ruoso but that's what Package is for
12:52 masak ruoso: Package is one specific Abstraction.
12:52 ruoso hmmm... one you can't use in Perl 6
12:52 masak no?
12:52 ruoso no..
12:53 ruoso I mean...
12:53 ruoso you do use it all the time
12:53 ruoso because AFAIU, a Module is a Package
12:53 wayland76 Not according to S02 :)
12:53 * masak doesn't think so
12:53 wayland76 (cf. Mutable types)
12:54 jnthn Abstraction is done by thingies that can act as types.
12:54 jnthn e.g. something you can bind to something with the :: sigil.
12:54 ruoso jnthn, but if the protoobject is of the same type of the actual object...
12:54 masak ah.
12:54 jnthn (Subtypes, enums, etc)
12:54 ruoso how does the protoobject composes a role that the object doesn't?
12:54 jnthn I don't get your question.
12:55 jnthn We're doing it just fine in Rakudo...
12:55 jnthn rakudo: say 42 ~~ Abstraction; say Int ~~ Abstraction;
12:55 p6eval rakudo e4bd26: OUTPUT«0␤0␤»
12:55 jnthn gah
12:55 ruoso heh
12:55 jnthn Oh
12:55 wayland76 ruoso: Think of it this way -- "Instantiation" and Abstraction are on different axes :)
12:55 masak :)
12:55 ruoso wayland76, not really
12:55 jnthn rakudo: role Foo { }; say Foo ~~ Abstraction;
12:55 p6eval rakudo e4bd26: OUTPUT«0␤»
12:55 wayland76 No?
12:55 jnthn Oooh!
12:56 ruoso wayland76, a protoobject is just an empty object
12:56 jnthn That patch didn't make it from the branch and we check explicitly for roles etc in is_type for now...
12:56 ruoso wayland76, "Instantiation" is the process of BUILDing that object
12:56 ruoso i.e. a call to BUILDALL
12:56 jnthn is_type should really be checking for does Abstraction though, AFAICT.
12:57 jnthn ruoso: It's not hard to do, you can just fix in Abstraction to the proto-object...
12:57 ruoso jnthn, I'm not sure... is_type is a string checker
12:57 jnthn ruoso: In STD.pm yes
12:57 jnthn But that's because it doesn't have anything else to look at.
12:57 wayland76 ruoso: Ok, but Abstraction should really be called "Namespace" IMO :)
12:58 ruoso jnthn, back to "fix in Abstraction to the proto-object"
12:58 ruoso what does that mean exactly?
12:58 masak wayland76: it's not really a namespace.
12:58 jnthn ruoso: Typo, I meant mix in...
12:58 wayland76 No?  Then I'm all confused still :)
12:58 ruoso jnthn, but then you'd have the protoobject with a different type than the objects
12:59 wayland76 jnthn: You've been having some good typos today :)
12:59 ruoso it wouldn't be an empty object
12:59 ruoso then things like Dog{ :name<Fido> } would be weird
12:59 ruoso since you're getting a new protoobject
13:00 ruoso so Dog{ :name<Fido> } would also get the Abstraction role...
13:00 ruoso which is weird
13:00 jnthn OK, let me ask this: how do you get protoobjects in smop to appear undefined, and other instances to appear defined?
13:00 jnthn Yes, and that's fine.
13:00 ruoso by then being either defined or not ;)
13:00 ruoso I mean
13:00 jnthn Because it means we can do ::FidoDog = Dog{ :name<Fido> }
13:00 ruoso it is undefined untill BUILDALL is called
13:00 ruoso and defined after that
13:01 jnthn defined is an attribute somewhere?
13:01 ruoso not really an attribute per se...
13:01 ruoso but it is defined if the "instance storage" is initialized
13:01 ruoso undefined otherwise
13:02 ruoso i.e.: after CREATE, the "instance storage" is *not* initialized
13:02 jnthn OK, we do it in Rakudo by a mix-in style mechanism.
13:02 jnthn So proto-objects get a .defined that returns false.
13:03 ruoso so what happens if Dog{ :name<Fido> } autovivifies?
13:03 jnthn Code example?
13:03 ruoso my $dog = Dog{ :name<Fido> };
13:03 ruoso say "undef" unless $dog.defined; # it says it
13:03 ruoso $dog.wag
13:04 jnthn That'd just have the proto-object with the appropriate WHENCE inside $dog at this point...
13:04 ruoso say "defined" if $dog.defined; # it says it
13:04 jnthn erm
13:04 jnthn calling a method on a proto-object auto-vivifies it?
13:04 jnthn That *can't* be right.
13:04 ruoso that's S12
13:04 jnthn Otherwise .new would make a proto-object auto-vivify.
13:05 ruoso it wouldn't because most protoobjects don't have a WHENCE
13:05 ruoso jnthn, but the triggering of the autovivification is a bit blurry yet...
13:05 ruoso but the fact is that it does get autovivified at some point
13:06 wayland76 Midnight.  Bed! :)
13:06 ruoso independent of what triggers the autovivification
13:06 jnthn Ah, hmm...
13:06 jnthn But yes, that is a bit blurry.
13:07 jnthn I just thought that meant you could do a $dog.new and *it* would have name initialized to Fido.
13:07 ruoso no... $dog.new would return a new object that wouldn't even carry the WHENC
13:08 jimmy_ joined #perl6
13:08 jnthn I didn't say it would carry the whence, just that it gets created with the name attribute initlialized.
13:08 jnthn To Fido
13:08 ruoso it wouldn't
13:08 jnthn :-S
13:09 jnthn Then we understand S12 differently.
13:09 ruoso new only looks at the named parameters
13:09 ruoso it creates a new object
13:09 jnthn We have it looking at the WHENCE too.
13:09 jnthn Which IMO is more useful.
13:09 ruoso that's not supposed to happen in new
13:09 ruoso only in bless
13:09 ruoso and only if you send the $protoobject as a positional parameter
13:10 jnthn You take my "in new" to literally there. :-)
13:10 jimmy_ perl6:say ~(1..)
13:10 ruoso jnthn, my point is that "new" is the one that calls CREATE
13:10 ruoso bless doesn't call it
13:10 ruoso that's the main difference
13:10 jimmy_ perl6:say ~(1..)
13:10 jimmy_ perl6:say ~(1..3)
13:10 ruoso jimmy_, I think you should have a space after the :
13:11 jimmy_ rakudo: say 'hello'
13:11 p6eval rakudo e4bd26: OUTPUT«hello␤»
13:11 jimmy_ rakudo: say ~(1..)
13:11 p6eval rakudo e4bd26: OUTPUT«Statement not terminated properly at line 1, near "..)"␤␤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)␤»
13:11 ruoso std: say ~(1..)
13:11 p6eval std 25585: OUTPUT«############# PARSE FAILED #############␤Please use ..* for indefinite range at /tmp/0c46Pr0F1c line 1:␤------> [32msay ~(1..[31m)[0m␤FAILED 00:02 34m␤»
13:11 jimmy_ rakudo: say ~(1..*)
13:11 p6eval rakudo e4bd26: OUTPUT«Use of uninitialized value␤␤»
13:11 jimmy_ std: say ~(1..*)
13:12 p6eval std 25585: OUTPUT«ok 00:02 34m␤»
13:12 jimmy_ std?
13:12 jimmy_ what's std
13:12 jimmy_ std: say ~(1..)
13:12 ruoso jimmy_, it's the STD Perl 6 grammar, written in Perl 6 itself and maintained by Larry Wall
13:12 p6eval std 25585: OUTPUT«############# PARSE FAILED #############␤Please use ..* for indefinite range at /tmp/CyJJEAkWbh line 1:␤------> [32msay ~(1..[31m)[0m␤FAILED 00:02 34m␤»
13:12 ruoso jimmy_, it is not a compiler nor a runtime, it's just the grammar
13:13 mberends joined #perl6
13:13 jimmy_ how to compile  it
13:13 ruoso jnthn, I've sketched all the instantiation process as defined by S12 in smop/src-s1p/Object.pm and ClassHOW.pm
13:13 ruoso jimmy_, rakudo tries to stay as close to STD as possible.
13:14 ruoso jimmy_, mildew is a compiler backend for STD, but it still has very few features
13:14 ruoso jimmy_, there's still elf
13:14 jimmy_ thanks
13:15 mberends masak: hi, did you pull my proto.perl5 yet?
13:15 masak mberends: oh hai.
13:15 masak nope, will immediately.
13:15 ruoso mildew: say "Hello to jimmy_";
13:15 p6eval mildew: OUTPUT«Can't locate object method "term__S_389identifier" via package "STD" at ../../src/perl6/STD.pm line 1236.␤»
13:16 ruoso pfft...
13:16 ruoso it seems that a lex needs cleaning
13:16 jimmy_ std: say 'hello to jimmy_';
13:16 p6eval std 25585: OUTPUT«ok 00:02 33m␤»
13:17 masak mberends: nice.
13:18 masak mberends: I might as well ask you directly: what do you consider the greatest weakness of the .perl5 version to be?
13:19 masak (compared to the bash version)
13:21 pmurias joined #perl6
13:22 mberends sorry for delay, phone call
13:23 masak np
13:23 masak another way to ask the same question: when do we switch over?
13:24 mberends difficult to answer while at $work, will have to think hard about it. in general, no drawback and even maybe an advantage on Windows.
13:25 jnthn People are more likely to have Perl on Windows than bash... :-)
13:25 mberends I'll be online this evening, must do $job now. your availability?
13:25 Matt-W jnthn +5 Insightful
13:25 pmurias ruoso: hi
13:25 lambdabot pmurias: You have 2 new messages. '/msg lambdabot @messages' to read them.
13:26 ruoso hi pmurias
13:26 masak mberends: I'll be here for another three hours.
13:26 masak mberends: will happy-hack tonight, possibly on proto.
13:26 masak mberends: do you use 5.10 features besides 'say'? can we do without the 5.10 req?
13:26 Matt-W Hurrah for evening hacking
13:26 mberends only 'say' drop to 5.8 if you like.
13:26 masak Matt-W: 'bout the only kind I have nowadays. oh, and weekend hacking.
13:27 masak mberends: I'd like to drop as low as I can. :)
13:27 pmurias ruoso: i'm going to work on the little things now so mildew can run (most) of sanity tests now
13:27 masak but 5.8 might be enough.
13:27 Matt-W masak: me too. Not sure if I'll get any in tonight between music and aikido :(
13:27 mberends sorry, must go
13:27 masak mberends: o\
13:27 masak o/
13:27 * mberends waves
13:27 ruoso pmurias, I'm actually quite anxious to have the sanity tests passing...
13:28 mberends left #perl6
13:28 pmurias ruoso: if you know how RoleHOW should look like but are blocking on the little things required for it, i could implement them
13:28 masak Matt-W: I'm very exited about Form. I wish you a lot of time to work on it. :)
13:29 ruoso pmurias, the only thing strange in RoleHOW is it being able to create the punned class which will require some more work
13:29 ruoso pmurias, the other parts of RoleHOW are basically the same thing as PrototypeHOW
13:29 ruoso i.e.: adding an attribute, adding a method
13:30 ruoso although it's simpler than PrototypeHOW in many ways
13:30 ruoso (except by having to be able to pun a class)
13:33 Matt-W masak: Just don't wish for that to be caused by any more aikido accidents, they're painful
13:34 masak Matt-W: I promise not to wish your extra time to be caused by any more Aikido accidents.
13:34 Matt-W masak: excellent, thanks :)
13:37 [particle] joined #perl6
13:39 ruoso pmurias, it seems you forgot to add RoleHOW.pm
13:41 pugs_svn r25586 | pmurias++ | [mildew] add missing file
13:41 * ruoso very happy to see mildew/CORE
13:41 ruoso it looks amazing :)
13:56 pmurias how do i get the first positional from a Capture?
13:58 pmurias the n-th positional more generally
13:59 ruoso you can use .[]
14:01 jimmy_ joined #perl6
14:02 pmurias and the number of elements with .elems
14:02 ruoso I think so
14:03 ruoso pmurias, you can already coerce a Capture to an Array
14:03 ruoso and it will dwim
14:10 namenlos joined #perl6
14:13 mikehh joined #perl6
14:17 ruoso pmurias, there are two things that I would need for RoleHOW that maybe you could help me...
14:17 ruoso both in PrototypeHOW
14:17 ruoso (since this basic RoleHOW will pun classes that use PrototypeHOW)
14:18 ruoso one would be $object.^clone
14:18 ruoso and the other $object.^compose_role
14:24 r0bby joined #perl6
14:25 ruoso pmurias, running perl mildew t/array.t takes forever here... can you successfully execute it?
14:26 kane_ joined #perl6
14:31 pmurias joined #perl6
14:32 pmurias ruoso: checking
14:33 pmurias ruoso: it fails due to a wrong test coutn
14:33 pmurias * count
14:33 ruoso hmm...
14:33 ruoso ah...
14:33 ruoso wait...
14:34 ruoso maybe I haven't recompiled SMOP after the last update
14:34 pugs_svn r25587 | pmurias++ | [mildew] fixed test count
14:35 * ruoso cleaning up smop and trying again...
14:36 * ruoso running make in src/perl6 as well
14:40 ruoso ok... massive recompilation of everything solved the problem
14:50 skids joined #perl6
14:52 ejs1 joined #perl6
14:56 pugs_svn r25588 | ruoso++ | [mildew][smop] rename PrototypeHow to PrototypeHOW for consistency sake...
14:56 pugs_svn r25588 | ruoso++ | [smop] add PRIMITIVES::idconst_eq
14:56 pugs_svn r25588 | ruoso++ | [mildew] first sketch on RoleHOW, still not working... need PrototypeHOW.compose_role and PrototypeHOW.clone
14:57 pugs_svn r25589 | ruoso++ | [mildew] make sure the identifier is FETCHed before sent to PRIMITIVES::idconst_eq
14:59 jimmy__ joined #perl6
15:01 nihiliad joined #perl6
15:05 ejs1 joined #perl6
15:12 alester joined #perl6
15:12 alester I broked da Rakudo!
15:14 ZuLuuuuuu joined #perl6
15:14 skids In Containers.pod, Hash::exists only takes one key not a list of keys like the :exists adverb to postcircumfix:<{}> does, and I was wondering why, and also why there's a colon before the method name.
15:14 skids our Bool method :exists ( %hash: $key )
15:14 pmichaud exists used to be a method.
15:14 pmichaud so I suspect that Containers.pod is out of date
15:15 skids rakudo: my %f = (1,2); exists(%f,1).perl.say;
15:15 p6eval rakudo e4bd26: OUTPUT«No applicable methods.␤␤current instr.: '_block14' pc 108 (EVAL_16:49)␤»
15:15 skids rakudo: my %f = (1,2); %f.exists(1).perl.say;
15:15 p6eval rakudo e4bd26: OUTPUT«1␤»
15:16 pmichaud rakudo still implements the old method form of exists.
15:16 skids And to note that's not a Bool.
15:16 alester pmichaud or whoever: My latest commits need to get back to master because my previous commits to master are buggy.
15:17 pmichaud alester: looking.
15:18 alester specifically d2f435b2cdca91227608e918352516132782e94f and d5afe72eb254deb5908ee3ada6bcb24c0fbc04ff
15:19 pmichaud I'm not sure we always want to recurse.
15:19 alester well, you don't have anything that checks for a value of $recurse. :-)
15:19 pmichaud agreed, that looks like a bug.
15:19 alester I think you always do, and the $recurse is just stolen from prove
15:20 pmichaud but the current behavior would have been to not recurse.
15:20 alester well, whatever you want to do is fine, but without my fix, t/harness doesn't run at all.
15:21 pmichaud it's been running fine for me all morning?
15:21 alester I don't know how.
15:21 alester You must have something different than on rakudo/master
15:21 pmichaud oh, I'm definitely using rakudo/master
15:22 pmichaud what error would I be getting?
15:22 alester Look at http://github.com/rakudo/rakudo/blob/e4bd268​61ad165fe00376e25a73c5ca898025309/t/harness
15:22 alester $recurse is only there once.
15:22 pmichaud oh.  Looks like we don't have use warnings or use strict
15:23 alester aha
15:23 alester THat's what I added to t/harness.
15:23 pmichaud right, that hasn't merged into rakudo/master yet.
15:24 alester Sounds like we've found a good reason to do so then.
15:24 pmichaud sure, I agree with that.
15:24 pmichaud but obviously rakudo isn't broken (as in "fails to run tests") at the moment  :-)
15:25 skids Another question from last night's reading around: We put pure Perl6 in the setting so other implementations can use it.  We put optimized PIR in src/classes.  Where would we put implementations that are embedded PIR wrapped in Perl6 declarations?
15:25 pmichaud I'm not sure that setting will be "pure Perl6"
15:25 alester yes, but the other patch of mine is definitely a breakage
15:25 pmichaud alester: noted, I'll be sure to apply them together.
15:25 alester ok
15:26 alester please do, because then I want to update the gen_whatever to not even bother with specifying a filename.
15:26 pmichaud I'm working on getting a release out today -- I need to focus on that first.
15:27 alester ok
15:28 pmichaud I'm trying to decide where to put release tarballs.
15:28 pmichaud I guess I can just stick them on my own server for the time being, until we have a more official place.
15:31 alester ok, I just removed the file specifying in build/gen_metaop_pir.pl, since we never use that.
15:31 ZuLuuuuuu left #perl6
15:31 alester So all those patches from me need to get applied in sequence.
15:32 pmichaud yeah, I still need to figure out a workflow for managing the queue.
15:32 dalek rakudo: d0739a3 | (Patrick R. Michaud)++ | docs/spectest-progress.csv:
15:32 dalek rakudo: spectest-progress.csv update: 314 files, 7041 passing, 0 failing
15:32 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/d​0739a3ec44be9485ae82cfc8d778fc767691252
15:33 pmichaud github makes it easy to apply commits, but not necessarily so easy to "test and then apply commits"
15:34 PerlJam pm: isn't that what branches are for?
15:34 pmichaud pj: perhaps, but I haven't seen an "easy" way to do that either.
15:34 masak pmichaud: every technological advance clears the way for new, interesting issues. :)
15:35 pmichaud masak: agreed.  I think it's simply that new advances imply new ways of working, and I haven't figured out the new way of working yet.
15:35 jnthn Meh, we didn't quite quite make 7050 for the release.
15:35 jnthn Close though.
15:35 moritz_ I usually just commit, then test, and if it doesn't work I rest --hard
15:36 pmichaud moritz_: yes, but "commit to where"?
15:36 moritz_ pmichaud: to my local repo
15:36 PerlJam pm: locallly for sure.
15:36 pmichaud so, how do I get commits out of the fork queue into my local repo?
15:36 pmichaud _that's_ the part I haven't figured out yet.
15:36 moritz_ pmichaud: git fetch git://url remote_branch; git-cherrypick $commit_sha1
15:37 pmichaud what's the url I use there?
15:37 moritz_ for example git://github.com/petdance/rakudo
15:37 moritz_ .git
15:37 moritz_ I don't know if there's a common URL for all of the queue
15:37 pmichaud so, for each item (or person) in the fork queue, I have to (manually) do a fetch?
15:38 pmichaud right, it would be nice if I could just refer to the queue itself, rather than having to ask for each submitter's branch.
15:38 jnthn Would you only have to do that once per submitter? Or one per patch you want to apply?
15:38 pmichaud once per submitter, I think.
15:38 jnthn If it's once per submitter it's not so bad.
15:39 jnthn Sure, small initial cost.
15:39 pmichaud it's still a bit more copy+paste than I'd like to be doing.
15:39 jnthn But not a huge one IMO.
15:39 jnthn Sure, but it's not like we're getting 10 new submitters a week or something.
15:39 pmichaud I suspect it's once per submitter per session.
15:39 moritz_ you can 'git remote add $url commiter_name', then you can refer to taht repo by commiter_name
15:39 jnthn oh, if it's one per submitter per session it sucks.
15:39 PerlJam "per session"?
15:39 jnthn As in, can I do the fetch one in a lifetime?
15:40 jnthn And cherry-pick patches in the future?
15:40 jnthn Without having to re-fetch to get latest stuff?
15:40 PerlJam for the lifetime of the clone, I would think so.
15:40 alester hey, pmichaud, you may also wanna cherry-pick my README fix: 88b9da2ce43c4e8583cda28ace5144e0a618d70b
15:40 alester Explains how to get a tarball w/o GIT
15:41 pmichaud PerlJam: you mean that once I do a "git fetch", I can refer to commits in that repo without having to do anything further (even if I do subsequent "git fetch" on other repos)?
15:42 PerlJam pm: I'm not exactly sure.  You may have to modify .git/config, but once that's done, yes.
15:42 PerlJam (I don't know if fetch automatically updates .git/config)
15:43 moritz_ I think git-fetch'ing doesn't remove previously fetched stuff
15:43 pmichaud I'm not thinking of "remove previously fetched stuff" as much as "maintain the association for future cherry-picks"
15:43 pmichaud but just a sec, I'll give it a try.
15:43 pmichaud alester:  applied 88b9da2, thanks
15:45 pmichaud hmmm, perhaps using the integration branches will actually work for this -- I'll have to give that a try in a bit as well.
15:45 dalek rakudo: e9a06c1 | (Andy Lester)++ | README:
15:45 dalek rakudo: Added explanation of how to get Rakudo without git. Minor punctuation fixes.
15:45 dalek rakudo: Signed-off-by: pmichaud <pmichaud@pobox.com>
15:45 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/e​9a06c1f89c8ab7e60be4427e8afa8f0a8bf5ee0
15:45 pmichaud (reaching 7050)   the release hasn't been cut yet, it's not too late to reach that goal if someone wants to pass nine more tests.
15:46 pmichaud although that might've happened already :-)
15:46 pmichaud as my spectest-progress values are always 00:00 CST
15:48 alester I'm half-considering rolling out rakudo.org w/o the backlog of blog entries converted.
15:48 alester thoughts?
15:49 pmichaud I'd be okay with that.
15:49 pmichaud especially if the blog entries can remain reachable somehow.
15:49 alester mmm, hadn't thought of that.
15:49 pmichaud from a user perspective, I don't see a big issue with keeping the existing blog entries in MT, and just putting new blog entries into dru
15:50 alester I'd make archive.rakudo.org and redirect /200[89]/ there
15:50 pmichaud sure, that'd be fine.
15:50 * moritz_ likes that idea
15:51 alester I'd just have to turn off all comments on those entries.
15:51 alester Also, we need some something to put atop dru.rakudo.org
15:51 alester with its new theme that is not the same as Parrot's
15:52 pmichaud are there some themes to select from?
15:52 alester themegarden.org
15:52 jnthn Who can draw a camel doing marshal arts, with a speech bubble "This is MY way"?
15:52 pmichaud drupal 5, 6, ...?
15:52 jnthn *martial
15:53 pmichaud we have to be careful about using camels.
15:53 jnthn yeah I know
15:53 moritz_ jnthn: camel + perl is copyrighted by O'Reilly
15:53 alester I was going with http://themegarden.org/drupal6/?q​=search/node/echo&amp;theme=deco
15:53 jnthn It wasn't an entirely serious suggestion. ;-)
15:55 alester That was Alison's 2nd choice for parrot.org, and I like it.
15:55 Matt-W jnthn: an onion doing martial arts :)
15:56 Matt-W aikido onion
15:56 pmichaud I'm fine with that for now -- we can always switch it later.
15:56 * skids annoying re-mentions the "oasis" theme meme.
15:56 alester I'm an idiot.  Idon't need another hostname.
15:56 alester I can jsut redirect /200[89]/ to /archive/200[89]/
15:56 alester and not make Google cranky
15:56 skids After all, that's the way of th Camel -- from oasis to oasis.
15:56 alester ok back to code review.
15:57 alester I love having an actual task.
15:57 pugs_svn r25590 | ruoso++ | [mildew] implementes $foo.^bar
16:10 ruoso std: my $x = 10 but Imprecise(0.1); my $y = 9.99; $y ~~ $x;
16:10 p6eval std 25590: OUTPUT«Undeclared name:␤      Imprecise used at 1 ␤ok 00:02 33m␤»
16:16 dalek joined #perl6
16:23 masak so, any consensus on the name for the Rakudo A release?
16:24 jnthn Did we choose a naming scheme?
16:24 jnthn Was minerals/precious stones the winner?
16:25 * masak doesn't know
16:25 masak but let's assume it was. :)
16:26 masak "Amethyst"?
16:27 * masak has fond memories of this precious stone from playing Robin Hood in the early '90s
16:27 masak "Conquest of the Longbow".
16:27 masak s/st/sts/
16:31 alester some time we need a "make parrotclean" target.
16:31 alester no no, stones is yucky.
16:31 alester Let's get more interesting!
16:33 alester For instance, city names are far better than stones.
16:33 * ruoso suggests Pindamonhangaba
16:33 alester City names that are also band names could do us for at least a year.
16:33 alester Chicago, Boston, Toronto, etc
16:33 alester How about cities that have hosted YAPC in the past?
16:34 alester or jsut general Perl events.
16:34 alester Houston, Belfast, Toronto, Chicago, San Diego, etc
16:35 alester BETTER STILL
16:35 alester cities with Perl Monger groups!
16:35 alester Each Rakudo release gets named after a Perl Monger group's city!
16:35 alester And then each group could "sponsor" that release by telling the world about it.
16:35 ruoso @tell pmurias the first sketch of RoleHOW is there. We need ^compose_role and ^clone on PrototypeHOW. That way we should be able to do "my $a = ::Multi.new; $a.variants.push(&some_variant)"
16:35 lambdabot Consider it noted.
16:36 Tene_ joined #perl6
16:36 alester Come on, someone love my idea with me!
16:38 pugs_svn r25591 | lwall++ | 1-ary values for chaining operators should always be True even if negated
16:41 masak alester: I'm slightly intrigued.
16:41 masak but I like stones, too.
16:45 justatheory joined #perl6
16:51 pmichaud I like the perl monger group idea.
16:51 jnthn Aye
16:51 jnthn I liked the idea of cities generally.
16:51 pmichaud but I still want to preserve the alphabetical ordering.
16:51 jnthn That's OK, there are probably enough PM groups?
16:52 jnthn To find ones starting with each letter.
16:52 jnthn I'll provide B. ;-)
16:52 pmichaud What would A be?
16:52 jnthn Amsterdam? Maybe Austin (Texas) has a PM group?
16:53 pmichaud oh, sure, I'm familiar with Austin.pm
16:53 jnthn There's gotta be more options than that. :-)
16:53 pmichaud they're even reasonably active.
16:53 pmichaud (far more active than DFW.pm, at any rate)
16:53 masak Rakudo Austin.
16:53 * masak likes
16:53 jnthn Same.
16:53 pmichaud I did like the minerals approach, though.
16:53 jnthn Yeah, I don't dislike that one.
16:54 masak well, we can't do both. :)
16:54 pmichaud we _can_
16:54 masak um.
16:54 masak probably shouldn't.
16:54 pmichaud because eventually we'll move out of "development" releases into "official" ones.
16:54 jnthn Rakudo Austin Amber
16:54 masak Rakudo Amsterdam Amethyst
16:55 pmichaud so we could do minerals for one series, and .pm groups for another
16:55 masak very well.
16:55 jnthn Aye.
16:55 masak (many releases)++
16:56 pmichaud so the question becomes ... which first?  ;-)
16:56 jnthn .pick ?
16:56 masak ooh!
16:56 jnthn Yet Rakudo choose. ;-)
16:56 khisanth_ joined #perl6
16:56 moritz_ jnthn: was about to suggest that ;-)
16:56 masak rakudo: <stones cities>.pick()[0]
16:56 p6eval rakudo e9a06c: RESULT«"cities"»
16:56 pmichaud rakudo:  <Austin Amber>.pick(1).say
16:56 masak :)
16:56 p6eval rakudo e9a06c: OUTPUT«Austin␤»
16:56 masak double!
16:57 pmichaud is there a nice list of .pm groups somewhere?
16:57 jnthn pm.org
16:57 pmichaud that has it by continent, I was hoping for something more unified.
16:57 pmichaud oh, XML! cool!
16:57 pmichaud http://www.pm.org/groups/perl_mongers.xml
16:58 * masak was just going to point out the XML file
16:58 masak it's not grouped by continent, it seems
16:58 pmichaud right, the xml appears to be 'master'
16:58 masak aye.
16:58 pmichaud okay, so finding groups is no problem.
16:58 jnthn Aye.
16:58 pmichaud I suppose we'd be starting off on the wrong foot to use AOL.pm as the first release :-P
16:58 jnthn Groups might even start volunteering once they know the scheme. ;-)
16:59 jnthn I just noticed that and was like, OH RLY?
16:59 masak pmichaud: don't you dare! :)
16:59 pmichaud okay, votes:  cities or minerals?  Rakudo already voted.
16:59 masak cities, then.
16:59 * masak is on Rakudo's side on this one
16:59 * moritz_ is for minerals, but only cares a tiny bit
17:00 pmichaud I think I'll vote cities, I like the idea of highlighting various Perl Monger groups.
17:00 jnthn Yeah, that's what clinches it for me.
17:00 pmichaud I like better the idea of getting them to compete for the privilege :-)
17:00 jnthn Aye!
17:01 jnthn cities for me
17:01 moritz_ but don't we want to keep alphabetical order
17:01 pmichaud I'm thinking the tar files will be   rakudo-200902.tar.gz   though.
17:01 pmichaud yes, keeping alphabetical order
17:01 jnthn moritz_: Yes, but there are more than one pm group per letter of the alphabet for many letters.
17:02 pmichaud so Austin, Bratislava, Chicago, DFW, ... etc
17:02 masak which would be the first problematic letter?
17:02 pmichaud oddly, Bratislava.pm doesn't appear in the xml file
17:02 masak X is problematic, right?
17:03 pmichaud in some sense I'm hoping we don't make it to X
17:03 moritz_ I didn't know there are so many .pm groups
17:03 alester wait, alphabetical?
17:03 alester Why's that?
17:03 pmichaud alester: so that people can easily determine which release is later.
17:03 namenlos joined #perl6
17:03 masak alester: increasing versions.
17:03 alester moritz_: That's part of the goal, is to bring to light the PM groups.
17:03 alester pmichaud: That seems fraught with peril.
17:03 pmichaud alester: why is that?
17:03 PerlJam pm: cities +1 from me.
17:04 alester well, eventually you'll run out.
17:04 PerlJam hopefully we'll have a perl6 by then.
17:04 pmichaud alester:  I think we'll want to switch series or numbering before we run out.
17:04 jnthn pmichaud: OH RLY?
17:04 pmichaud I'm primarily talking about the development releases at this point for A-B-C-D-...
17:04 pugs_svn r25592 | putter++ | [elfparse] Build elfrx without remains_of_Regexp_ModuleA.pm (but it's still used by t/ as a parser bypass for direct-to-IR rx engine testing).  rx_prelude: regexen changed to token's, and regex support for t/ improved.
17:04 alester And part of the idea of the cities is to get citiies vying for support.
17:04 jnthn We exist!
17:05 jnthn pmichaud: I can find it in the XML file...
17:05 alester how about Rakudo release #1: Chicago
17:05 alester Release #2: Bratislava
17:05 alester etc
17:05 jnthn erm
17:05 pmichaud I don't like going 1-2-3 at this point.
17:05 jnthn No
17:05 pmichaud makes it look too much like 1.0 2.0 3.0
17:05 alester Why?
17:05 alester hmm
17:05 jnthn I agree. Alphabetical ordering will work fine and long enough.
17:05 alester So you want sequencing without numbers
17:06 PerlJam (hints for humans)++
17:06 alester What's A going to be?
17:06 pmichaud if we want to do cities in non-alphabetical sequence, then I think we should wait until we've imposed a different ordering scheme (i.e., not for the development releases)
17:07 pmichaud I'm leaning towards "Austin" for A.  It's close by to where I am, and they have been doing some active p6 stuff lately (at least internally)
17:07 alester The "cities vying for naming" might be a non-issue anyway.
17:07 alester nobody wmight care.
17:07 alester Then yeah, go with Austin.
17:07 alester And then announce when the next one will B
17:07 pmichaud (I'm on the Austin.pm mailing list)
17:07 pmichaud I'm pretty sure we know what B will be :-)
17:07 alester and the B groups can say "We want it we want it"
17:07 alester why, what will B be?
17:07 pmichaud surprisingly, Bratislava.pm isn't in the XML file.
17:08 masak Copenhagen.pm...
17:08 alester I think groups ought to WANT it.
17:08 alester have Chicago and Copenhagen duke it out.
17:08 masak aye.
17:08 pmichaud a key member of the rakudo development team has already spoken for B
17:08 pmichaud yes, I think the C groups might be the first battle :-)
17:08 alester What, I'm not a key member? :-)
17:09 jnthn pmichaud: Bratislava.pm is there... :-|
17:09 * jnthn can find it
17:09 alester jnthn: Are you Bratislava?
17:09 pmichaud yes, you are.  But Copenhagen paid for my trip to YAPC::EU
17:09 jnthn alester: Yes
17:09 alester OK.
17:09 jnthn alester: Well, I *live* there.
17:09 alester So you have A & B, and then we can announce that C is up for grabs, and so tell us why YOUR PM group should be the C group.
17:09 pmichaud jnthn: odd -- when I search the XML for 'brata' I don't see it.
17:09 jnthn pmichaud: that's because you want to search for brat*i* ;-)
17:09 PerlJam pmichaud: because it's "brati"
17:09 alester I REALLY like this idea. :-)
17:10 alester And not just 'cause I thought of it. :-)
17:10 pmichaud sorry, "brati" doesn't find it.
17:10 ejs2 joined #perl6
17:10 PerlJam pm: in browser?  match case?
17:10 * pmichaud decides to try something other than firefox search.
17:10 PerlJam pm: found it for me.
17:10 jnthn haha!
17:10 pmichaud match case is off
17:10 masak Fx bug? :)
17:10 jnthn I'm used to people not being able to find it on the map, but in an XML file is a new one. :-)
17:11 PerlJam jnthn: heh
17:11 alester So Austin goes out today?
17:11 pmichaud apparently firefox search doesn't deal well with xml
17:11 pmichaud yes, Austin should be out today.
17:11 pmichaud I'm building a release script at the moment.
17:11 PerlJam pm: which version of FF?
17:11 alester pmichaud: Is it calendar-based?
17:11 alester will it always be the Nth day of the moth?
17:12 pmichaud it's going to be based on parrot's release schedule
17:12 alester last Th of the month?
17:12 alester based how
17:12 pmichaud generally 2-3 days after Parrot release
17:12 alester ok
17:12 alester So the third week of each month
17:12 hercynium joined #perl6
17:12 pmichaud yes, depending on week boundaries
17:12 alester why?
17:12 alester It's still always the third Tuesday + 2-3 days
17:13 pmichaud for example, the third tuesday might be followed by the fourth thursday.
17:13 alester which is still always "3rd week"
17:13 alester ok
17:13 pmichaud but yes, it's always third tuesday + ~2 days
17:13 alester So
17:13 alester you can come up with a schdule
17:13 alester or I will.
17:13 alester Want me to?
17:13 alester I'll crank it out real quick
17:13 pmichaud I'll do it -- it'll go in the announcement I'm making for the release.
17:13 alester I think it oughta be in the file.
17:13 pmichaud oh, if you just want to create a file with the schedule, that's fine.
17:13 * masak has to go now
17:13 masak have a nice release!
17:13 alester SCHEDULE?
17:13 pmichaud docs/release_guide
17:13 alester RELEASES?
17:14 pmichaud docs/release_guide.pod
17:14 pmichaud (we'll put the schedule in with the guide)
17:14 alester Oh, I was thinking it'd be in the root.
17:14 PerlJam Will the rakudo release use whatever revision parrot was at for its release?
17:15 pmichaud I'm trying to keep root clean.
17:15 alester make it MORE OBVIOUS
17:15 alester yeah, but our regular releases are a BIG WIN
17:15 pmichaud that's what things like NEWS and ChangeLog are for, then.
17:15 alester ok, docs/release_guide.pod it is
17:15 pmichaud pj:  firefox 3.0.5, fwiw
17:16 pmichaud pj:  Rakudo will use whatever revision of Parrot is appropriate for the release
17:16 pmichaud pj:  that may or may not be parrot's "head" at the time
17:16 jnthn pmichaud: I have that, but on Windows. Clearly Windows is better. :-P
17:16 pmichaud pj:  but it should always be >= parrot's monthly release
17:16 PerlJam gotcha.
17:17 pmichaud pj:  ideally I'd like it to be the revision of parrot's monthly release, which is part of the reason for doing it shortly after Parrot release
17:17 PerlJam (I used FF 3.0.6 on ubuntu and it's find worked fine for that XML)
17:17 pmichaud alester: for now, let's say "two days after planned Parrot release"
17:17 PerlJam pm: Would you say that rakudo release X is guaranteed to work for parrot release Y  (for some appropriate X and Y)?
17:17 alester ok, I was gonna say 3
17:18 alester but ok, two
17:18 PerlJam s/for/wirht/
17:18 PerlJam er, s/wirth/with/
17:18 pmichaud alester: we had a discussion about this in the conference call -- minimizing delay between parrot release and rakudo release is desirable (for functional reasons)
17:19 alester that's fine, not disagreeing.
17:19 pmichaud PerlJam: each rakudo release is intended to work with whatever version of parrot is in PARROT_REVISION
17:19 pmichaud s/release/snapshot/
17:19 pmichaud for monthly releases, we'd like PARROT_REVISION to correspond to a Parrot release.
17:19 pmichaud I'm careful about "guaranteed to work"  :-)
17:20 PerlJam clearly.
17:22 alester pushed.
17:24 moritz_ I'll probably have time to blog about a Perl 6 or Rakudo topic this coming weekend - any specific suggestions for a topic?
17:25 alester City naming. :-)
17:25 moritz_ alester: I guess that pmichaud will do that as well, so I decline :)
17:25 alester Nothing wrong with making more noise. :-)
17:27 moritz_ I can mention it.
17:27 moritz_ any more ideas?
17:28 alester mmmmm, do we have a repository of example Perl 6 code somewhere?
17:28 alester I'd really like to see one.
17:28 pmichaud there's one on github
17:28 alester That'd be a good topic.
17:28 alester I'd like to get some of that example code into the Rakudo test suite
17:28 alester and run tests against it.
17:28 pmichaud I'm not wanting the Rakudo test suite to grow very far.
17:28 alester Does ./perl6 fib.pl return "1 1 2 3 5 8 13..."
17:28 pmichaud The point of the Rakudo test suite is simply to test enough that it's working.
17:29 alester pmichaud: Because it should all be in the spectests?
17:29 pmichaud other tests belong in the official suite.
17:29 alester that's fine
17:29 alester I think it's easier to use the rakudo one for intial development and then move it over
17:29 alester if that's not a problem.
17:30 pmichaud why is it easier?
17:30 alester one repo
17:30 pmichaud I think it's easier to just push it into the pugs repo directly.
17:30 alester yeah, i can see that too
17:30 alester anyway, examples == good
17:30 alester and I'd like to publicize them
17:30 pmichaud we can certainly create more subdirectories in pugs for tests
17:30 alester for my own benefit, if nothing else, because I need more code to read. :-)
17:30 pmichaud i.e., at the level of t/spec instead of being within t/spec
17:31 alester my $pop = @array[*-1]    was entirley new to me, for example.
17:31 pmichaud that's one that I'd prefer to move out of the rakudo suite, actually.
17:31 pmichaud *-1 isn't necessary for running the test harness.
17:31 alester that's fine.
17:31 alester But I mean, the more sample code there is to see, the more of these weird differences there are to see.
17:32 alester sample code as in actual usefulness.
17:32 alester not just *.t
17:40 PerlJam when will rakudo's Makefile get an install target?
17:41 PerlJam (I have no idea what "install" really means for rakudo other than copying the fakexecutable to an appropriate place)
17:42 alester PerlJam: When there's something that's meaningful to install.
17:42 pmichaud PerlJam: it'll get an install target after Parrot's install settles down a bit more.
17:42 pmichaud eventually we're expecting to get rid of the fakecutable
17:43 PerlJam I just built rakudo from an installed parrot on feather.  It just worked.  :-)
17:45 pmichaud PerlJam: I don't quite see how.
17:46 PerlJam what do you mean?
17:46 pmichaud by "installed parrot", what do you mean?
17:46 pmichaud where did Rakudo put the perl6.so shared library?
17:46 PerlJam There's a parrot in /usr/local/bin
17:47 ejs joined #perl6
17:47 PerlJam well, that's why I asked about "install" for rakudo.   I got a perl6 binary out of the deal, but I knew that couldn't be all of it.
17:47 alester Ther'es also a lot of *parrot* around your filesystem that it shouldn't be.
17:48 pmichaud PerlJam: I'm thinking that your copy that was built didn't use the installed parrot.
17:48 pmichaud either that or you're the one that installed parrot on feather :-)
17:48 pmichaud in which case rakudo used your build copy instead of the install copy.
17:50 pmichaud looks like it.
17:50 pmichaud "/usr/local/bin/parrot_config build_dir"   reports "/home/duff/parrot"
17:50 PerlJam rakudo is just too smart then. :)
17:50 pmichaud so if you were to "make realclean" in your /home/duff/parrot, then your fakecutable will stop working.
17:50 PerlJam gotcha.
17:51 pmichaud and anyone else on feather who tries to use the /usr/local/bin copy of parrot to build rakudo will not have write permission to your /home/duff/parrot/runtime/... directory
17:51 PerlJam okay, then I won't worry about it.   (I was just seeing if the "easy" things were easy)
17:51 pmichaud (to store the shared library)
17:52 PerlJam la
17:53 Exodist joined #perl6
17:53 pmichaud for anyone who wants to try my first cut at a tarball for rakudo:  http://www.pmichaud.com/perl​6/rakudo-200902-test.tar.gz
17:54 moritz_ pmichaud: testing it right now
17:55 pmichaud I'm running off to lunch, will read scrollback when I get back
17:55 pugs_svn r25593 | lwall++ | [STD] fix post-declaration to do the re-lookups in the correct pad
18:07 [particle] joined #perl6
18:16 diakopter TimToady: it would help me to see STD's tree for each of the spectest .t files... is there a way to get it to output each one's to a file in the same dir as the .t?  perhaps filename.t.ast?
18:17 moritz_ diakopter: the html syntax hilighter does that
18:17 Psyche^ joined #perl6
18:17 diakopter moritz_: oh? cool. :)
18:17 moritz_ diakopter: you get a "tree" when you hover over a piece of code
18:18 moritz_ diakopter: see also http://perlgeek.de/blog-en/perl-6/parse-tree.html
18:19 diakopter do we have these .html autogenerated on perlcabal.org somewhere?
18:19 TimToady or just run viv on the file
18:19 diakopter (because that would be really cool)
18:20 moritz_ diakopter: yes, there is such a thing somewhere
18:20 diakopter oh!
18:20 diakopter wow, all kinds of things I've missed somewhere along the way.
18:20 moritz_ http://perlcabal.org/~azawawi/html/
18:22 pugs_svn r25594 | lwall++ | [STD] catch .[-1] error; suppress undef warning from previous patch
18:22 diakopter um, that... rocks.
18:23 diakopter what determines which colors...?
18:24 moritz_ there's a list of recognized tokens...
18:24 moritz_ and it walk from leaf to root until it finds the first recognized token
18:24 moritz_ the exact color coding doesn't adher to a particular logic
18:24 diakopter ah, cool.
18:26 diakopter so... if this were ajaxy.. one could click on a node and change stuff, and it might round-trip it to STD on the server? :P
18:27 diakopter kinda like trypugs I guess
18:28 * diakopter wonders if mod_perl could handle STD.pm
18:29 diakopter though I guess you'd want it in a separate process.
18:30 lambdabot joined #perl6
18:40 M_o_C joined #perl6
18:45 payload joined #perl6
18:50 justatheory joined #perl6
18:53 frioux joined #perl6
18:54 Ariens_Hyperion joined #perl6
19:06 schmalbe joined #perl6
19:06 pugs_svn r25595 | lwall++ | .[-1] is now a parsefail, and .[$minus_one] must fail at run time
19:08 ruoso hmm... how is the way of accessing a list backwards
19:08 ruoso ?
19:09 moritz_ *-1
19:13 ruoso hmm
19:13 PerlJam I guess if you want to programmatically index both ways you have to do  [*+$offset]  ?
19:14 ruoso PerlJam, I don't think that will work for forward access, only bacward...
19:15 PerlJam I'm not sure how you could do  $foo = *-1;  @arr[$foo] and have it work right
19:15 PerlJam (unless Whatever was really really lazy
19:15 moritz_ PerlJam: *-1 constructs a closure
19:16 PerlJam ah.  I was thinking it was syntactic
19:16 ruoso and postcircumfix:<[ ]>(Code $closure) calls it with the size of the array as the argument?
19:16 moritz_ yes
19:17 moritz_ the question is if @array[2..$-2] can be made to work
19:17 ruoso you mean 2..$_-2
19:17 moritz_ *-2
19:17 moritz_ is what I meant
19:18 ruoso hmm... good question.. how far does * contaminates?
19:19 ruoso std: my $range = 2..*-2
19:19 p6eval std 25595: OUTPUT«ok 00:02 33m␤»
19:19 ruoso let's see what it parses that into
19:20 rodi joined #perl6
19:21 ruoso std calls it VAST::Nonchaining
19:21 ruoso I'm not really aware of what that is...
19:21 ruoso but it does have the entire 2..*-2 expression into this single VAST::Nonchaining
19:22 ruoso moritz_, so I presume it would DWYM
19:23 Maghnus- joined #perl6
19:23 ruoso oh wait... it does (2)..(*-2) actually
19:24 PerlJam that still sounds like it would DTRT
19:24 ruoso hmm...
19:24 ruoso it will depends if infix:<..>(Int,Code) DTRT
19:25 PerlJam right
19:25 ruoso if it just curries the other closure, it should be ok
19:27 ruoso std: my @array = 1..100; my @slice = @array[(* * 0.5)..(* - 1)]; # stretching the concept
19:27 p6eval std 25595: OUTPUT«ok 00:02 34m␤»
19:28 ruoso but that should probably be better written as
19:28 PerlJam (* * 0.5)  is half of Whatever?
19:28 ruoso yes
19:29 mberends joined #perl6
19:29 ruoso std: my @array = 1..100; my @slice = @array[{ ($_ * 0.5)..($_ - 1) }]; # considerably more readable
19:29 p6eval std 25595: OUTPUT«ok 00:02 34m␤»
19:31 ruoso But it sure needs a very good documentation on which operations just curry the closure and which ones evaluate it
19:32 TimToady yes, that's why I was discussing whether this was a "new mistake" on p6l
19:33 TimToady but I think it's a bit like other placeholders--don't use it where it's not clear
19:33 ruoso but "* * 5" is simply weird
19:35 ruoso while I do like all the lazyness, I have to agree that this is becoming overly confusing
19:36 ruoso specially because Whatever shares the same character as the multiplication
19:37 ruoso what are other foreseen common uses of this Whatever magic?
19:37 ruoso (I mean generating closures)
19:38 payload map(* < 3, @array)
19:39 TimToady doctor, it hurts when I do this...
19:40 ruoso maybe it wouldn't be a bad idea to assume that only number operations generated closures...
19:40 pmichaud moritz_: any luck on the tarball build?
19:40 TimToady * < 3 can be fed to anything expecting a smartmatch
19:40 ruoso and I don't include .. as a number operation
19:40 TimToady * lt "A"
19:41 ruoso ok, let me rephrase it...
19:41 ruoso maybe it should never curry another closure...
19:41 ruoso I mean...
19:42 ruoso infix:<lt>(Whatever,Str) returns a closure
19:42 ruoso but
19:42 ruoso infix:<lt>(Closure,Any) doesn't
19:42 ruoso and resolves that Closure to something
19:43 ruoso this will drop the support for @a[2..*-2]
19:43 TimToady so you'd disallow * % 3 == 1
19:43 ruoso yes...
19:43 ruoso after all, it's not that all smaller than  { $_ % 3 == 1 }
19:44 TimToady ETRUENUFF
19:44 ruoso having to maintain a mental list of which operators curry another closure or invoke the closure seems like a nightmare
19:45 ruoso so this way, every operator that receives a closure, invokes the closure
19:45 ruoso every operator that receives Whatever, returns a closure
19:45 ruoso and that's all
19:45 TimToady I'd only remember the special ones, myself, like 42 xx *
19:46 TimToady well, it'll be easy enough to play with it both ways and see what works out better
19:46 ruoso because if you take that lazyness really seriously... you could think that even .[] could just return a closure
19:46 TimToady I never take anything seriously, except when I do.
19:46 TimToady and often not even then
19:47 diakopter how often do you when you do when you do?
19:48 TimToady all the time
19:51 * ruoso .oO( I think #perl6 is the channel that can keep non-senseness mental exercises longer )
19:56 pugs_svn r25596 | lwall++ | [STD] do a better job of contextualizing per-parse variables
19:56 pugs_svn r25596 | lwall++ | (tryfile was propagating errors from one file to the next)
19:56 dalek rakudo: f4d2486 | pmichaud++ | README:
19:56 dalek rakudo: More README improvements.
19:56 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/f​4d2486ba121ab204b9bbbad8bd15a75c28e2ad2
19:56 dalek rakudo: 78023fa | pmichaud++ | build/Makefile.in:
19:56 dalek rakudo: Makefile targets for creating MANIFEST and a release tarball.
19:56 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/7​8023fa519072f1e3057eb2ef9bb799c263589ad
19:56 dalek rakudo: b412361 | pmichaud++ | .gitignore:
19:56 dalek rakudo: Ignore any MANIFEST file.
19:56 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/b​41236166d0d1dae758ced0893a267f4b061776d
19:57 diakopter ruoso: well, the irclogs keep them forever ;)
19:57 moritz_ cd
19:57 moritz_ argl
19:57 TimToady or maybe we could say that only comparisons return Closure for Closure
19:58 TimToady that would give us * op 42 == 582 in general
19:59 TimToady and maybe only for the first arg, so any closurely phrase needs to start with the *
19:59 ruoso ok... that seems sane
19:59 ruoso three rules
19:59 ruoso maybe it's better not having a fourth
19:59 TimToady since most of the specials take * on the end
20:00 ruoso so the rules are:
20:00 ruoso 1) every operator is ellegible to receive Whatever, if they do, they are supposed to return a closure
20:00 TimToady which gets us +* and ~*
20:01 ruoso 2) every operator is ellegible to receive a Closure.
20:01 ruoso 3) comparison operators are allowed to curry a closure, if that is the first parameter. Every other case should invoke the closure...
20:01 TimToady with what?
20:01 ruoso with whatever makes sense to that operator
20:02 ruoso if nothing makes sense, then it shouldn't receive a closure
20:03 TimToady hmm
20:03 TimToady 1 < * < 10
20:03 TimToady they'll want it
20:03 ruoso isn't that parsed as ((1 < *) < 10)
20:03 pmichaud < is chaining.
20:03 TimToady chaining ops
20:04 TimToady even though it can also be written * ~~ 1..10 or some such
20:04 ruoso but isn't that still called as infix:«<»:(Int,Int)...
20:04 ruoso ?
20:05 TimToady sure, but its a rhs, so violates your 3rd rule
20:05 ruoso no, it doesn't... it fits the first rule
20:05 ruoso infix:«<»:(Int, Whatever)
20:05 TimToady ah, okay
20:05 ruoso infix:«<»:(Closure, Int)
20:06 TimToady interestingly, it disallows 1 < * < 5 < * < 10 rather nicely
20:07 TimToady it's even quite likely that the compiler can catch the usual errors and say "you have to write an official closure there"
20:08 TimToady given we know the multi candidate list
20:08 pmichaud alester: please please please remove "perl6-internals@perl.org" from your address book or wherever you're getting it from.  That's no longer a valid mailing list.
20:09 ruoso TimToady, indeed... I think I'm pretty happy with it
20:10 smtms joined #perl6
20:11 pmichaud so,   @a[*/2+$i]   would end up with a closure for the first operator that is immediately evaluated?
20:11 pmichaud or is postcircumfix:<[ ]>  special also?
20:11 ruoso @a[*/2 + $i] would probably fail
20:11 lambdabot Unknown command, try @list
20:11 ruoso because infix:<+> doesn't know what to do with a Closure
20:11 pmichaud 20:01 <ruoso> 2) every operator is ellegible to receive a Closure.
20:12 ruoso <ruoso> if nothing makes sense, then it shouldn't receive a closure
20:12 pmichaud except I think I can argue that   @a[*/2+$i] ought to make sense.
20:12 ruoso not to +
20:12 ruoso only to [ ]
20:13 ruoso .[ ] can indeed receive a closure
20:13 ruoso so you can @a[{ $_/2 + 1 }]
20:14 ruoso which is more readable, IMHO
20:14 TimToady could still relax it later, maybe with a pragma
20:14 ruoso it doesn't even need to be a pragma
20:14 TimToady use currying :harder
20:14 ruoso it just need to install the other variants
20:14 pmichaud @a[{ $_/2 + 1 }]   feels funny to me also... it's too similar to  @a[ $_/2 + 1 ]
20:14 lambdabot Maybe you meant: arr ask
20:15 TimToady well, probably needs to autogenerate them somehow, if user-defineds are included
20:15 pmichaud but yes, I guess we normally use the braces to delay evaluation, so perhaps the closure form isn't so bad.
20:15 ruoso that's my point
20:15 pmichaud in which case, is there huge value to the whatever form?
20:16 ruoso for the simple cases, it's still worth
20:16 ruoso map * < 3, @foo
20:16 TimToady sort +*, @list
20:16 TimToady context( *.label eq 'HERE' )
20:17 ruoso hmmm
20:17 ruoso ok... that's syntatical
20:17 TimToady current spec explicitly allows *.foo
20:18 ruoso right... and eq is comparison
20:18 pmichaud so that last one becomes equivalent to    context( { { .label } eq 'HERE' } )   ?
20:18 TimToady also very useful for list comprehensions
20:18 ruoso pmichaud, yes
20:19 pmichaud the { .label }  acts as an immediate block, then?
20:19 ruoso what do you mean by "immediate block"?
20:19 TimToady no
20:20 ruoso ah...
20:20 TimToady can't, until it knows its argument
20:20 ruoso it's really as it looks like
20:20 ruoso infix:<eq>:(Closure,Str)
20:20 ruoso that returns another Closure
20:20 TimToady which context smartmatches on
20:20 pmichaud but what does that returned closure look like?
20:21 TimToady passing the current context frame
20:21 ruoso pmichaud, it looks just like you've written
20:21 pmichaud I guess infix:<eq>  has to return   { { .label }.($_) eq 'HERE' }
20:22 ruoso ah... yes...
20:22 pmichaud because { .label } eq 'HERE'   would return another closure :-)
20:22 ruoso sure sure... I wasn't aware you were talking about the actual implementation of eq
20:24 TimToady from the standpoint of eq just returns { $closure($_) eq $y }
20:24 pmichaud okay.
20:24 ruoso it might even be :(Closure,Any) actually
20:25 pmichaud I wonder what other interesting and useful effects come from allowing the comparisons to delay closure evaluation on their parameters.  :-)
20:25 TimToady hmm, really wants the candidate list from the caller's scope though for eq
20:26 TimToady maybe it's a quasi:COMPILING to get the user's eq
20:26 ruoso TimToady, does :(Any,Any) takes that into acount to call eq:(Str,Str) after coercing to string?
20:27 TimToady good question, dunno
20:27 ruoso I'd guess not
20:27 TimToady could be a major semantic booboo
20:27 ruoso in fact..
20:27 pmichaud in Rakudo, eq does  :(Any,Any)  and coerces its arguments to strings before doing the comparison.
20:27 TimToady *which* comparison is the question
20:28 ruoso TimToady, I'm not really sure how importing different variants from different modules work
20:28 TimToady the definition of eq may differ in the user's lexical scope
20:28 TimToady we're trying to get to the point where we know the candidate list at compile time
20:28 pmichaud ah, that's tougher, yes.
20:28 TimToady but the Any,Any variant needs to call CALLER::eq somehow
20:29 ruoso hmmm... in theory it could be simple like that
20:30 ruoso sub infix:<eq> (Any $a, Any $b) { CALLER::<&eq>(~$a, ~$b)
20:30 ruoso but...
20:30 TimToady which could be a hidden parameter that passes the original candidate list down somehow
20:30 ruoso did you notice that I've just used other operator?
20:30 TimToady seems like it could get optimized to a ref to the existing candidate list, anyway
20:31 ruoso are you about to make the candidate list global?
20:31 TimToady the question is whether that has to regen the candidate list; probably it works okay
20:31 TimToady not at all
20:31 TimToady the symbol table entry found by CALLER::<&eq> presumably keeps its local candidate list
20:32 ruoso right...
20:32 ruoso but should it use CALLER for every operator?
20:32 ruoso because it does make sense, if you really think about it
20:32 TimToady then there's ~$a Ceq ~$b
20:33 TimToady but probably better to keep that explicit for now
20:33 ruoso sub infix:<eq> (Any $a, Any $b) { CALLER::<&infix:«eq»>(CALLER::prefix:<~>($a), CALLER::prefix:<~>($b)) }
20:33 TimToady use CALLER;
20:34 TimToady it's really very nearly almost a macro
20:35 ruoso I just have one thing to say about it...
20:35 ruoso gaaaaah ;)
20:35 rodi "really very nearly almost"++
20:36 TimToady looks like it could use a bit of syntactic relief in any case, but we can see what it desugars too
20:36 Tene_ TimToady: how does try { ... } differ from { ...; CATCH { $! = $^a } } ?
20:37 Tene_ Is it just sugar?
20:37 ruoso TimToady, sub infix:<eq> (Any $a, Any $b) is displaced to CALLER {...}
20:37 TimToady macro infix:<eq>(AST $a, AST $b) { quasi:COMPILING { ~$a eq ~$b } }
20:37 TimToady except for the multiness of it
20:37 TimToady try ignores control exceptions
20:37 ruoso yeah... you just ruined it :)
20:38 Tene_ TimToady: does CATCH ignore control exceptions?
20:38 TimToady really very nearly almost I did.
20:38 TimToady yes, CATCH ignroes CONTROL
20:38 TimToady s/ro/or/
20:39 ruoso TimToady, maybe it's not that absurd to have a trait that says "this code runs with the CALLER as OUTER"
20:39 TimToady pick your setting at runtime
20:39 ruoso not just that...
20:40 ruoso pick a dynamic setting at runtime
20:41 ruoso TimToady, CALLER::.eval { } ?
20:41 TimToady ENOBRANESUGAR
20:42 TimToady lunch &
20:49 TimToady basically it's a little role-ish routine that wants to instantiate itself into the caller's symbol table first time it's called, I suspect
20:50 ruoso it is installed
20:50 ruoso it wants to *run* in that scope
20:50 ruoso which is something different
20:52 TimToady you're saying basically that it instantiates the generic semantics every time; I'm saying that can be cached
20:52 ruoso maybe we actually need an "operator" keyword
20:53 ruoso "operator" is a multi sub that runs in the caller scope
20:54 TimToady why wouldn't infix/prefix etc imply that in general?
20:54 ruoso because that's just their names?
20:57 TimToady it's probably too blunt an ax, since we will probably want to pick and choose which bits come from outside the caller's scope too
20:57 ruoso do we?
20:57 TimToady unless you want a lot of accidental infinite regresses
20:57 ruoso how so?
20:57 TimToady or force a lot of calls to CORE::
20:58 TimToady or SETTING, or whatever
20:58 ruoso I don't see the problem
20:58 TimToady if op calls back into the user's space when the writer was expecting CORE::op, it could loop
20:58 ruoso the "operator" runs *on top* of the CALLER
20:59 ruoso TimToady, I'd consider erroneus to "expect" CORE::op and not call CORE::op
20:59 ruoso but why would anyone "expect" CORE::op?
20:59 ruoso isn't that the problem we're trying to solve
20:59 ruoso ?
20:59 mberends joined #perl6
21:00 TimToady here's another angle
21:01 TimToady we've pretty much reserved \op
21:01 TimToady we could say that \~$a \eq \~$b looks for the caller's version
21:02 TimToady yeah, I know...
21:02 ruoso but if you overriden Array
21:02 ruoso and one of this ops create an Array
21:02 ruoso you want that op to use the overriden Array
21:03 ruoso for instance...
21:03 ruoso infix:<..>
21:03 TimToady I just think the user will want fine-grained control of which ops come from where
21:03 ruoso if you created your custom Range
21:03 ruoso you want .. to use that
21:03 TimToady without writing everything in FOO:: form
21:04 ruoso TimToady, the problem is that Perl 6 reversed the usual way that overloading works
21:04 TimToady which way are you referring to?
21:04 ruoso usually the overload is in the object
21:04 ruoso Perl 6 puts it into the namespace
21:05 TimToady more precisely, into the language
21:05 ruoso but in the end, the overload is made by a regular scope lookup
21:05 TimToady that's what defines the lexicon
21:06 TimToady which makes me happy that it's called lexical scoping
21:06 pmichaud alester, others:  While walking kids home from school I had another idea for numbering/naming releases.
21:06 TimToady but yes, we need a better way to write generic and semi-generic operators
21:06 TimToady lemme think about it s'more
21:07 pmichaud We can do .pm cities and number rakudo releases in sequence, but let's start with #14
21:07 pmichaud thus this could be  Rakudo #14 ("Austin")
21:07 moritz_ pmichaud: btw I tested your release candidate, worked fine
21:07 pmichaud then the cities don't have to be in alphabetical order.
21:07 ruoso TimToady, but I have to say that having the "operator" routine_def really fits very well in my head...
21:08 pmichaud starting with #14 avoids any 1.0 2.0 3.0 confusion
21:08 pmichaud and emphasizes that we've already had quite a few development releases prior to this one.
21:08 ruoso TimToady, but again... if I do think sideways, that might not count much...
21:24 jnthn pmichaud: Er. 14?
21:25 pmichaud jnthn: because we've already had ~13 rakudo releases
21:25 jnthn pmichaud: Why a number?
21:26 jnthn Oh, I should read backscroll on #parrot
21:26 pmichaud I'm thinking I don't want .pm groups to have to wait months or years to see their name in lights.
21:26 pmichaud also, #14 emphasizes that we've had a history of regular releases already.
21:26 pmichaud (and that we're still in "development" mode)
21:27 jnthn Hmm.
21:27 jnthn Don't feel too strongly on it either way.
21:27 pmichaud given that we've had a number of .pm groups that have been particularly helpful (Vienna.pm comes to mind), I'd like to give them the opportunity to be earlier.
21:28 pmichaud in fact, I might go ahead and name this release "Vienna" for that reason.
21:28 jnthn Also I didn't find a .pm group starting with G. ;-)
21:28 jnthn Ooh, yes.
21:29 pmichaud waiting two years to honor Vienna.pm seems wrong somehow :-)
21:29 jnthn True!
21:29 jnthn Especially as they've helped Rakudo advance more quickly.
21:29 pmichaud exactly.
21:29 jnthn OK, I agree.
21:29 pmichaud April could be named "Oslo" then :-)
21:29 jnthn Yay!
21:30 jnthn So long as I get one named after my beloved Bratislava at some point, I'm happy. :-P
21:30 pmichaud especially since Oslo is sponsoring a good Rakudo/Parrot/Perl6 workshop.
21:30 jnthn Yeah, agree completely.
21:30 jnthn Oslo for April.
21:30 jnthn Vienna for Feb.
21:31 pmichaud fwiw, chromatic indicated he thought the system was sane also :-)
21:31 jnthn Does that mean Allison won't? <duck>
21:32 pmichaud I think she said it sounded pretty good also.
21:32 jnthn Woo.
21:32 pmichaud although she hasn't seen this latest incarnation
21:32 pmichaud (she thought the naming after cities was good)
21:32 jnthn :-)
21:32 jnthn Look forward to the release! :-)
21:32 pmichaud yes, I'm just creating a NEWS file now and then I think I'll release what I've got.
21:33 pmichaud if there are any problems with it, we can fix those in the next release.
21:33 jnthn For sure.
21:33 jnthn They're developer releases. :-)
21:33 jnthn Are we going to encourage bug reports against releases?
21:33 jnthn Or are we going to encourage people to verify with latest then report?
21:33 pmichaud I still encourage bug reports against head
21:33 jnthn OK, agree.
21:34 pmichaud and most of what I'm writing indicates that we tend to encourage downloading directly from head rather than a release.
21:34 jnthn Maybe worth noting that somewhere if you didn't already.
21:34 jnthn OK, cool. :-)
21:34 pmichaud The purpose of the release (to my thinking) is to snapshot progress, put some regular milestones in place, and start a cycle.
21:34 jnthn Aye.
21:34 pmichaud but I still would expect most people to work against 'head', and that we keep 'head' fairly stable.
21:35 pmichaud if/when we discover we can't keep 'head' stable, we'll move to 'release'
21:35 jnthn IMO, head should as best as we can always pass the spectests.
21:35 pmichaud agree.
21:39 jnthn pmichaud: So, I'm off tomorrow on my travels.
21:39 jnthn Will be only occasionally about next week.
21:40 pmichaud jnthn: okay, I'll look for you to pop in occasionally.
21:40 pmichaud jnthn: great work this week, thanks
21:40 jnthn It's been a pretty productive end to the month. :-)
21:40 pmichaud jnthn: we're likely to launch rakudo.org's redesign in the next few days, so keep an eye for that.
21:40 jnthn Sure, I will.
21:40 jnthn I got a login.
21:41 jnthn Would like to see a little box on the top of the homepage, like we have on parrot.org
21:41 jnthn That has a quick intro
21:41 jnthn To what Rakudo is
21:41 jnthn Before the latest news.
21:41 pmichaud we'll undoubtedly have that.  In fact, I expect rakudo.org home to be more static and less news-y
21:42 jnthn Yes, I'd like that.
21:42 pmichaud so yes, like parrot.org
21:43 jnthn OK, good
21:44 alester so, pmichaud, are you completely replacing what I committed earlier today?
21:45 pmichaud alester: I'll revise it, yes.
21:45 alester are you creating a new one?
21:45 alester or modifying the one I commmitted?
21:45 pmichaud haven't decided yet.
21:45 alester More specifically: Should I delete the one I have in mine?
21:45 alester ok.
21:45 pmichaud probably easier for me to just create a new one.
21:45 pmichaud I can use the text from yours that is currently in github.
21:46 pmichaud or in the rakudo branch where it was mis-applied.
21:52 pmurias joined #perl6
22:15 Whiteknight joined #perl6
22:22 pmurias ruoso: the memory leakage warnings are getting very annoying
22:26 pugs_svn r25597 | pmurias++ | [smop] [mildew]
22:26 pugs_svn r25597 | pmurias++ | hacked in an only infix:<~>
22:26 pugs_svn r25597 | pmurias++ | fixed &infix:<==>:(int,int)
22:26 pugs_svn r25597 | pmurias++ | &say takes in multiple arguments
22:26 pugs_svn r25597 | pmurias++ | moved tests which fail for a long time into midlew/ROADMAP
22:26 pugs_svn r25597 | pmurias++ | t/01-sanity/01-tap.t works correctly
22:30 alester harness_junit, what?
22:30 alester Please say no!
22:34 dalek rakudo: cdcb92c | pmichaud++ | docs/NEWS:
22:34 dalek rakudo: Initial version of NEWS for Rakudo.
22:34 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/c​dcb92cc5cf87dd0fa231561b762bbfe14386421
22:36 alester Jay Hannah: can we also vie for names like DesMoinesSucks ?
22:36 alester Jay Hannah: childish sports rivalries might spur the masses
22:36 alester I'm glad we have Jay thinking of these things. :-)
22:36 alester (Tha'ts from an AIM chat w/him)
22:36 alester Vienna?  WHy is Vienna the first one?  I thought it was Austin.
22:41 alester pmichaud: I'd like to edit and spiff up the NEWS file some, if you don't mind, and can hold on for a bit.
22:42 pmichaud alester: jonathan and I would like Vienna.pm to be first because they've been sponsoring his work.
22:43 alester oh, good move.
22:43 alester Let's put that in the NEWS
22:43 alester Let's = "I will"
22:43 pmichaud that's fine.
22:43 alester I'm putting on my reporter/writer hat.
22:43 alester building on what youv'e started.
22:43 pmichaud the release won't be for a few hours yet -- I have some family events that will be occupying my time here soon.
22:43 pmichaud I'm about to publish my version of release_guide.pod
22:44 pmichaud based loosely on what you had
22:44 alester ok. I'm updating the NEWS
22:44 alester When do you see releasing?
22:44 alester >20:00?
22:45 pmichaud definitely.  son has a soccer game at 19:30
22:45 pmichaud so likely 22h00 or thereabouts.
22:45 alester Oh, ok, great.
22:45 alester I'm going to hammer on this a bit then.
22:46 * jnthn wishes he hadn't screwed up his Rakudo build on his laptop just before having a conference to get up and fly to...
22:47 alester when did Vienna.pm start sponsoring you?
22:47 justatheory joined #perl6
22:48 jnthn alester: Let me check...
22:49 alester You can just say "summer of 2008" if you want.
22:50 jnthn alester: http://use.perl.org/~domm/journal/36228 is announcement
22:50 jnthn more like spring I guess
22:52 dalek rakudo: f45384a | pmichaud++ | docs/release_guide.pod:
22:52 dalek rakudo: First version of release_guide.pod, based on a proposed version
22:52 dalek rakudo: from (Andy Lester)++ .
22:52 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/f​45384ae464a271a4a81c1098c9bb67d555cd9d1
22:52 pmichaud jnthn: fwiw, rakudo now passing 7076 tests.
22:52 pmichaud now I suppose you wish we were passing 7100!  :-)
22:53 jnthn pmichaud: Ooh, nice!
22:53 pmichaud we're also failing one test -- I'll just mark it as todo
22:53 jnthn Yeah. :-P
22:53 jnthn Oh, fail?
22:53 jnthn Which one?
22:53 jnthn (No, I don't want to fix it. I want to sleep...)
22:53 pmichaud @a[-1]  is now a runtime error.
22:53 lambdabot Unknown command, try @list
22:53 jnthn Ah, OK.
22:53 pmichaud I'll fix it, I'm planning to work on postcircumfix:[] soon anyway
22:53 pmichaud but I'll todo it for the release.
22:54 kane_ joined #perl6
22:54 pugs_svn r25598 | pmichaud++ | t/spec:  add a ?rakudo todo marker.
22:55 jnthn pmichaud: Perhaps you can do it as part of the refactor to mvoe to has a resizable pmc array?
22:55 jnthn Also, postcircumfix needs to become a parametric role and so we really want to have it in the setting...
22:55 jnthn I guess what I'm saying is, we both have bits we want to do with that bit of the codebase.
22:56 jnthn And feel free to hack in the branch I started.
22:57 pmichaud okay, although I have quite a few other pieces I'd rather hack on (pge and pct stuff mostly)
22:58 pmichaud I'll just put in the quick-fix for slices and postcircumfix stuff for now; you can update it as appropriate.
22:58 jnthn OK sure.
22:58 jnthn If you're only planning on small tweaks rather than major overhaul, that's fine.
22:58 pmichaud yes, nothing really major.
22:58 jnthn I just didn't want us both trying something bigger at the same time. :-)
22:59 pmichaud what I'm doing should fit in to what you're doing pretty easily.   Either that or your overhaul will end up completely superceding mine, and I'm not bothered by that.
22:59 pmichaud my focus is going to be on settings, pge, pct, and public information for a while.
23:01 Caelum joined #perl6
23:03 jnthn OK
23:03 jnthn PGE things will be really great to have. :-)
23:04 skids joined #perl6
23:07 pmurias_ joined #perl6
23:09 aindilis joined #perl6
23:28 diakopter TimToady: is there an expression-level(or thereabouts) syntax for quasi chaining of anonymous results?  You know, so I don't *have* to [refactor statements to] name *anything* if I really don't want to...  as in the pastebin I'm about to nopaste.
23:31 cas_ joined #perl6
23:35 bacek_ joined #perl6
23:42 * jnthn -> sleep, night all
23:53 pugs_svn r25599 | bacek++ | [t/spec] Update reduce-le1arg to current spec.
23:53 pugs_svn r25600 | bacek++ | [t/spec] Update reduce-metaop to current spec.
23:55 wayland76 'night jnthn
23:59 hercynium_ joined #perl6

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

Perl 6 | Reference Documentation | Rakudo | Niecza | Specs