Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2009-03-04

Perl 6 | Reference Documentation | Rakudo

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

All times shown according to UTC.

Time Nick Message
00:00 japhb pmichaud: Where would one put example Perl 6 code into the Rakudo repo?  And if not there, then where?
00:01 pmichaud japhb: we're thinking it doesn't belong in the repo.  eric256 has a perl6examples repository on github.
00:02 japhb There was a time long ago when I checked some into the Pugs repo, when that was the right place, but I have not followed where it should go now ...
00:02 pmichaud but I've been thinking about opening up a separate repository for Perl 6 examples that's more "official".
00:02 japhb pmichaud: OK.
00:02 pmichaud I have a "perl6" account on github that could do it, or we could create a separate repository under the "rakudo" account.
00:03 pmichaud and the pugs repository is still a valid location for examples, iiuc
00:03 TimToady pmichaud: it's probably not there because once said I didn't want it, but I changed my mind :)
00:03 japhb Seems like the two would have different purposes -- general perl6 examples v. examples that depend on Parrot being there under the covers.
00:03 pmichaud japhb: that's a reasonable distinction.
00:04 pmichaud TimToady: I missed the antecedent... what's probably not where because you didn't want it?
00:04 pmichaud Hash.push ?
00:04 TimToady ,=
00:05 skids joined #perl6
00:05 TimToady basically they're just two different names for the same operation though
00:06 pmichaud ah.
00:06 wayland76 (backlogging) masak: Maybe insist on calling it Web.pm or something
00:07 pmichaud I have strong faith in masak and company coming up with a good name :-)
00:07 japhb pmichaud: OK, so now I've got four options for where to put Perl 6 example code ... pugs + github:{perl6examples,perl6,rakudo} .  Any thoughts on making one of those "official", as with the Pugs repo carrying the official tests?
00:08 pmichaud I've been wondering if it's worthwhile at some point to move the spectests into github (but somewhere not part of rakudo).  It would likewise have a very liberal commits policy (more)
00:08 pmichaud the advantage to pugs is that it's easy to get people commit bits.
00:09 pmichaud we can do something similar on github as well, although it won't be _quite_ as flexible as what pugs+feather offer now.
00:09 japhb pmichaud: given that you have a 'perl6' account, it seems like that's a perfect place for multiple useful repos: < spec spectests examples >
00:09 pmichaud japhb: yes, that's why I squatted the name real quickly, so it could be reserved for that purpose.
00:09 japhb :-)
00:09 TimToady call it the Six Pistols or some such...
00:10 pmichaud my dog just looked at me funny (laughed too loud, I guess)
00:10 japhb My cat ignored me.
00:10 diakopter bacek_: from yesterday, see http://github.com/casualjim/ironruby-mono-builds/tree/master for IronRuby on the DLR on mono...
00:10 pmichaud cat tend to do that.
00:10 pmichaud *cats
00:10 diakopter Matt-W: and see my msg above to bacek
00:11 pmichaud japhb: if I had to pick a place today for official examples, I'd choose pugs, because there's some momentum and it already exists for this purpose.
00:11 japhb pmichaud: I guess I was saying ... perhaps now is the right time to make use of that 'perl6' account.  You've been thinking about making the move, the topic has come up, no time like the present and all that.
00:12 pmichaud I'd rather not switch things 'by fiat', unless I get the sense that there's a groundswell of support for such a move.
00:12 wayland76 I trust masak to do the right thing with naming Web too :).  Although maybe the thing to do would be to have Web just be an interface puller, where he can go "use Web qw(opinions here MVC);"
00:12 japhb $groundswell += $japhb;
00:13 japhb Mostly because using the Pugs repo for things other than the Pugs implementation has not felt "right" for quite a while.
00:14 pmichaud yes, I did notice that there was some confusion on some mailing lists where people thought that one of the differences between Pugs and Rakudo was that Pugs was using STD.pm as its parser.
00:14 [particle]1 using it for the pugs implementation only would mean it would have been deleted long ago.
00:14 pmichaud and cited that as a reason why Rakudo hasn't yet caught up to Pugs in terms of implementation.
00:15 japhb pmichaud: right.  It's confusing, and inverts the mental model, with several things "outside" or "above" Pugs being stored "inside"
00:15 japhb Come to think of it, is it even still true that Rakudo trails Pugs?
00:16 pmichaud Depends on the definition of "trails".
00:16 pmichaud I think there's a good case to be had that Rakudo leads Pugs in most important respects these days.
00:17 japhb My sense as someone not working on either project is that they are now roughly equal in terms of "number of things that work" -- but those working things are very different, and the Pugs ones worked according to older specifications.
00:17 pmichaud japhb: I think that perception is likely close to reality.
00:19 * skids wants to know the secret to making cats ignore him.  Always in lap, getting in way of typing.
00:20 japhb pmichaud: have you had any backlash to the Rakudo move to github?  Any evidence that the Perl 6 people would be as adverse to moving pieces of the Pugs repo to github as (some of) the Parrot people were?
00:20 pmichaud japhb: no real backlash to Rakudo moving to github -- a small bit of grumbling about having to learn something new, but nothing big there.
00:21 japhb skids: Soft fleece blankets on top of high up, warm things.  With access to sunbeams and birdwatching.
00:21 pmichaud but moving stuff from Pugs is a bit different.
00:21 pmichaud Pugs has long been viewed as a very open-access repository and a history (cultural) worth preserving (more)
00:21 japhb How so?  When I ran out of free time, the Pugs repo was very easy to get access to, but the hosting sucked.
00:21 pmichaud there was some noise made that people were concerned that Rakudo would try to "take over" the spectests from Pugs, or ignore the work that the Pugs contributors had put in place.
00:21 skids japhb: the blankets do work, until a new piece of fabric is layed down, like say, someone's coat of a bath towel before a shower, and then... in seconds...
00:22 japhb skids: heh
00:22 pmichaud AFAIK I never made any statements or actions that would reasonably lead someone to believe that we would completely ignore Pugs, but the perception was there.
00:22 japhb pmichaud: I would completely understand that if the spectests repo went under the rakudo user.  I'd be more surprised to hear that if it's under the perl6 user.
00:23 japhb And heck, you can give that account to TPF or $Larry or something.
00:23 pmichaud I think it's important that implementations not be considered "the one true implementation"
00:23 TimToady well, and I don't think the pugs impl vs pugs repo has been a real stumblingblock to anyone either
00:23 pmichaud so I think the spectests belong somewhere _other_ than the rakudo account.
00:24 pmichaud and correct, the pugs impl vs pugs repo is not a current stumbling block in practice, it just causes some confusion among newcomers and people unfamiliar with the details
00:24 japhb TimToady: I find it mentally jarring.  I have to think it through every time I think about the spec and spectests ... "Which of these resides in the Pugs repo?  Why was that again?"
00:25 pmichaud since TimToady regularly uses the spectests for STD.pm development, it doesn't bug me that the spectests live in the same place.
00:25 pmichaud japhb: both the spec and spectests live in the pugs repo.
00:25 TimToady a slight barrier to entry, but anyone hanging out here gets straighted out very quickly
00:25 TimToady yes, it's one of the reasons we moved the specs over to be with the tests
00:26 pmichaud and folks working in Rakudo generally don't have to deal with the pugs repo at all -- Rakudo automatically checks it out.
00:26 pmichaud (checks out the spectests, that is)
00:26 TimToady and also so other people could hack on the specs, since it was obviously beyond me :)
00:26 japhb TimToady: that decision appears to have paid off handsomely ...
00:27 TimToady well, it has its upsides and downsides :)
00:27 pmichaud so, I see some organizational advantages to moving things out of the pugs repo and into separate github repos... but those advantages aren't sufficient for me to try to force the issue, or even strongly encourage it.
00:27 pmichaud I'm in favor of it, but I'd want to see a groundswell of support (or someone like TimToady to declare it) before I'd push to make it happen.
00:28 TimToady it does seem as though git itself, while worthy in general, does pose its own kind of barrier to entry
00:28 pmichaud TimToady: in practice it's not all that hard (more)
00:28 TimToady judging by the amount of traffic here and in #parrot
00:28 skids @how_to_add_a_test = ("understand_tests","find behavior in standard","minimize test","decide where to put it","get access to put it","put it")
00:28 lambdabot Unknown command, try @list
00:28 pmichaud TimToady: the barrier we're having now is just initial unfamiliarity and lack of sufficient documentation/practice
00:29 pmichaud granted, that's a barrier.
00:29 pmichaud but I think Rakudo will overcome it soon, and my expectation is that we'll have something documented that others can follow
00:29 japhb I guess the issue for me is that even though I try to keep general track of Parrot and Perl 6, and have even contributed to each in the past, I still find things confusing.  Perl 6 doesn't really seem to have a centralized web presence.  Instead of a hub-and-spoke graph of net-accessible Perl6 resources, it feels very much like a random collection of weakly interacting blobs.
00:29 TimToady when there's sufficient documentation, the barrier becomes finding it :)
00:29 SamB git does have an *awful* lot of commands
00:30 pmichaud japhb: many of us are looking for rakudo.org to be a coherent set of pages
00:30 japhb I've tried to explain things to friends that want to know where to look, and I have to explain a lot of stuff.
00:30 japhb pmichaud: that's good to hear.
00:30 pmichaud and if rakudo.org doesn't do it, I can do something with github.  And diakopter++ has offered to host something through WebGUI.
00:31 pmichaud we tried doing it through the Perl 6 wiki but I think the engine was just too frustrating for many of us.
00:31 japhb nodnod
00:31 japhb My perception is that there have been a lot of well-meaning attempts to reboot the net presence, each of which didn't last.
00:32 pmichaud I think rakudo.org will have some lasting power, since there's an implementation behind it.
00:32 japhb But I never knew *why*, other than some key person running out of tuits.
00:32 TimToady in some ways, loosely connect blobs is more organic and scalable
00:32 japhb TimToady: granted.  But it's hard to navigate within.
00:32 skids sub encourage_casual_contributions (@broken_down_task) {  for @_ { unless .ask("can casual contributer do this").sort{.ease} { make_it_so_they_can } } }
00:32 pmichaud in general net presence often comes down not only to tuits, but to "who has the ability to make updates"
00:32 SamB but sometimes it's better to connect them a *little* less loosely
00:32 pmichaud so I'm pushing for rakudo.org to have a liberal commit policy.
00:33 japhb pmichaud: Why is our net presence any less radically trusting than our code repos?
00:33 japhb pmichaud: good.
00:33 TimToady course, being named after an implementation, it's just the same problem as the pugs repo...
00:33 pmichaud TimToady: yes, I agree with that.
00:34 japhb Who owns perl6.org?
00:35 japhb whois says Daniel Wright, but I don't know what nick that corresponds to ...
00:35 pmichaud me either.
00:35 pmichaud However, I have perlsix.org
00:36 literal nice webgui breakage there
00:36 skids "perlsix" <-- a pure perl unix kernel :-)
00:36 pmichaud TimToady: if we could get a cname or something under the .perl.org domain, I'd be glad to set something up there.  As would diakopter++, I'm sure.
00:37 TimToady I suspect perl6.org is slightly cybersquatted, but available at not much more than "at cost", whatever that means
00:37 pmichaud I'd donate for that.
00:38 pmichaud I'd even buy it and donate it to TPF.
00:38 japhb pmichaud++
00:38 SamB TimToady: slightly ?
00:38 TimToady I think diakopter was in negotiation at one point, so check with him
00:39 pmichaud if that's the case, then I suspect that it's not easily acquired.
00:39 TimToady but that might've been perl6.com, don't recall
00:39 japhb SamB: There seems to have been an attempt to put actual useful info links there.
00:39 japhb But they've now rotted ...
00:40 TimToady maybe we could perl.musuem for legacy Perl  :P
00:40 TimToady *museum
00:40 skids Howcome these discussions always end up with the purchase of a domain name?
00:41 TimToady because it seems like progress :)
00:41 SamB skids: ... because nobody had the forethought to buy one ?
00:41 TimToady kinda like the way managers in doubt always reorganize
00:41 SamB anyway rakudo.org isn't the place for it
00:41 japhb skids: I never understood why perl6.org wasn't already owned by TPF ...
00:41 skids rakudo.org can have subhosts.
00:41 TimToady they're the foundation, not the superstructure :)
00:41 SamB sends the wrong the message to have perl6.rakudo.org
00:41 literal skids: rakudo.perl6.org sounds better
00:42 japhb literal: nod
00:42 pmichaud sure, but we don't own perl6.org, so it's somewhat moot.
00:42 SamB er. pardon the extra the. save it for a later sentence where I leave one out ;-P
00:42 literal contact the owner and make him an offer?
00:42 literal :P
00:42 pmichaud how much should I offer?
00:42 TimToady someone offered my $500 for wall.org the other day :)
00:42 literal pmichaud: or start off by just asking him for it and saying it would help the Perl 6 effort
00:43 TimToady I turned them down, of course...
00:43 literal s/he might be willing to give it away
00:43 pmichaud I can do that, but I suspect diakopter++ has already made that effort.
00:43 pmichaud and I don't mind paying a reasonable price for it.
00:43 literal I'd chip in
00:43 pmichaud TimToady: I notice that wall.com is based here in the DFW area, too :-)
00:44 pmichaud I saw a billboard with "wall.com" on it and immediately thought of you :-)
00:44 japhb It's definitely worth acquiring, if available.  'perl6.org' is the domain that fits my mental model for where to find Perl 6 info.
00:44 pmichaud japhb: I agree... but that's why I grabbed perlsix.org when I saw it was available.
00:44 TimToady perl-6.org maybe, though that reminds me of motels for some reason
00:44 pmichaud sorry, rakudoperl.org
00:44 pmichaud diakopter has perlsix.org
00:44 pmichaud I'm getting my ownerships confused :-(
00:45 pmichaud anyway, we can likely do something with perlsix.org
00:45 literal there are already some Perl 6 links on perl6.org, so the owner probably shouldn't be hard to convince, given a reasonable price
00:45 pmichaud so, what's a reasonable price?
00:46 literal offer a couple of hundred dollars and see how s/he reacts?
00:46 pmichaud the current registration is valid to 2011
00:47 japhb Like wall.org, $500 is what I've been offered for domains I've owned in the past.  Dunno why that number gets used so often.
00:47 pmichaud so the offer has to cover at least three years of domain registration.
00:47 pmichaud I can make an offer for $200, yes.
00:47 literal pmichaud: which is probably under $50
00:47 literal unless he chose a really expensive registrar
00:48 TimToady interesting, perl6.com goes to feather
00:48 japhb literal: even expensive ones won't be more than $100 or so ... and since the ads on the page are for a registrar, I'm guessing "free"
00:48 TimToady and perl6.info goes to perl6.org
00:48 pmichaud perl6.com: Jason Duke
00:49 pmichaud perl6.info:  same as perl6.org
00:49 SamB http://dwright.org/
00:49 TimToady and perl6.pl goes to kuszelas.eu
00:49 pmichaud anyway, we know that there's going to be a fair amount of effort put into rakudo.org over the next few weeks
00:50 literal so, diakopter contacted the owner of perl6.org? what was the response?
00:50 TimToady cagey, I believe
00:50 japhb SamB: It looks like he's given a couple Perl 5 talks, so clearly not a complete outsider.
00:50 pmichaud I'm not at all saying that rakudo.org should be "all things Perl 6" (alester might disagree with me there), but clearly we're going to be saying "rakudo" a lot and so it's a good central place for people to get information.
00:51 japhb pmichaud: yes, definitely.  I expect that just like the github accounts, perl6.org and rakudo.org should both be used.
00:51 pmichaud Personally, any efforts to clean up the state of Perl 6 knowledge in the world I would be very supportive of.  I don't care if it's directly tied to rakudo or not.
00:51 pmichaud japhb: perl6.org isn't an option for us at the moment.
00:51 pmichaud japhb: we can inquire, but I'm pessimistic about our chances for success.
00:52 diakopter I'm in contact with the perl6com owner
00:52 skids and perl6.tv seems free... hrm... now that would be overkill, a perl6 video site :-)
00:52 literal diakopter: ok, but not .org?
00:52 japhb pmichaud: yes, I know, I meant, that's the optimal case.
00:52 diakopter yes, I've had conversations with him over the last 2 years
00:52 wayland76 Here's an idea: have a STD repo, which contains 1) specs, 2) spectests, 3) STD.pm , and refer to that as the Spec Repo
00:52 japhb skids: I know how to serve that.  Now, actually making the videos ... not so much.
00:52 pmichaud oooh, perl6std.org  ?  :-)
00:53 diakopter I proposed exactly that for perlsix.org
00:53 japhb pmichaud: nice thought
00:53 wayland76 Then, the individuals for each implementation only have to worry about 1) their own repo, and 2) the Spec repo
00:53 pmichaud sounds like something you might get while staying at the perl-6 motel.  :-)
00:53 TimToady anybody know the Virgin Islands registrar?  we could get perl.vi
00:53 diakopter yes, I asked the owner of perl6.com to point it to feather
00:53 diakopter he said he'd point it wherever
00:53 SamB what nobody has talked to the .org owner ?
00:53 wayland76 maybe perl6spec.org
00:53 pmichaud apparently not.  as I said, I'm willing to make an offer for perl6.org .
00:53 diakopter I IMed with the owner of perl6.org; he said he's hanging onto it for a while...
00:54 pmichaud ah, there we go.
00:54 literal damn
00:54 japhb diakopter: ah, too bad.
00:54 SamB what does he want it for ?
00:54 diakopter but that he's open to listening to ideas for it
00:54 SamB ad money?
00:54 pmichaud it will undoubtedly gain value over time.
00:54 diakopter no he's part of (leads?) his PM group in Pittsburgh?
00:54 diakopter if I recall correctly?
00:54 diakopter Philadelphia?
00:54 pmichaud I have to help with son's homework -- bbl.
00:55 pmichaud I'll read scrollback later to see if any consensus arises about perl6 examples or the like.
00:55 TimToady heh, perl7.org goes to utexas.edu
00:55 japhb heh, nice
00:55 diakopter wayland76: perlsix.org is available for that.  I even have a wildcard SSL cert for it.
00:56 japhb Well, we could make perlsix.org the standard, and then if we ever acquire perl6.org, just cname it.
00:56 diakopter as I proposed to the p6c list a few weeks ago
00:56 PZt joined #perl6
00:56 skids perlthreven.org is free :-)
00:56 japhb diakopter: not surprised ... I'm guessing that's one of the lists I'm not yet on.
00:57 SamB perlsix just doesn't ... well, it doesn't stick out like perl6 does
00:57 japhb SamB: yes, I agree.
00:57 skids Maybe the perl6 owner would trade for perlsix?
00:58 diakopter doubtful :P but I'm guessing he'd point the DNS where we ask...?
00:58 pmichaud diakopter: do you still have the webgui stuff set up for perlsix.org ?
00:58 diakopter (as does the perl6.com guy)
00:58 japhb But we can always do the "you're surrounded" attack.  Own every other similar domain name we can think of, and point them all to a single other place.  Then owning the odd man out loses some value.
00:58 diakopter yeah..
00:59 SamB but he already has .net
00:59 pmichaud I'd be a bit wary of using the domains we don't own -- we might get a bunch of links on the internet point to (e.g., perl6.org), and then the owner takes the domain somewhere else.
00:59 japhb I can't believe I'm actually thinking about domain name attacks.  Sigh.
00:59 pmichaud I guess if perl6.org simply redirected to perlsix.org that'd be okay, though.
00:59 diakopter hrm, true.  except we can have... yeah.
00:59 SamB but that still looks bad :-(
01:00 diakopter :P  PerlSIX.ORG   does that look better? ;)
01:00 diakopter or PerlsIX.org
01:00 diakopter skip to 9?
01:00 literal perlXI.org
01:00 literal er...
01:00 TimToady perl.vi is available :)
01:00 literal perlVI.org even
01:00 japhb It's all about the XI flow
01:00 literal TimToady: nice one
01:01 * araujo registers perlvi.org
01:01 diakopter heh
01:02 diakopter think ahead... perlwhateverstar.org
01:02 japhb TimToady: I think you're biased as a vi user.  ;-)
01:02 * TimToady doesn't mention perlsex
01:02 * diakopter is reminded of Black Perl
01:02 japhb BlackPerl6.org
01:02 alc joined #perl6
01:03 literal TimToady: "sex" means 6 in my language, which is nice
01:03 diakopter Perl110.org
01:04 * TimToady doesn't mention Perl666 either
01:04 japhb That would make an awesome video game
01:06 japhb OK, we have perl6.com and perlsix.org.  And perl.vi perhaps.  But definitely not perl6.org.  So which one should be canonical?
01:06 TimToady maybe we could just persuade TPF to give us perl.org  :)
01:06 skids perl6th?
01:06 wayland76 And make the current perl website perl.museum :)
01:07 ascent_ perl.pl has been sold about year ago for AFAIR xx.xxx EUR, after looking at www I see they're doing something there.
01:07 diakopter I have perlblog.org too
01:07 wayland76 How do I get a commit bit for rakudo.org?
01:07 diakopter anyone want [to use] that?
01:08 diakopter drupal or git?
01:08 literal japhb: a Virgin Islands resident is needed to register perl.vi, otherwise you can only get .co.vi
01:08 ascent_ if you're interested, I can talk with current perl6.pl owner and maybe buy domain if it's rather cheap and give it to TPF
01:09 skids Hrm.  .th is Thailand
01:09 hercynium joined #perl6
01:09 japhb diakopter: I think it's a great name that we should keep in the "family" ... but my concern is that too many "perlfoo.org" domains gets awfully confusing.  "foo.perlsix.org" or "foo.perl6.com" would serve much better the idea that they are all part of the same "place"
01:10 diakopter yes, I agree
01:10 japhb damn, must go AFK for a bit ... will read back later.
01:10 TimToady I don't suppose we could get std.org from Severe Tire Damage...  :)
01:11 skids Hrm.  When did they add the .coop TLD?
01:12 TimToady nobody has chicken.coop
01:12 diakopter literal: it's not webgui "breakage"; it's just an ultra-stripped down theme. :P
01:12 diakopter with debugging turned on
01:13 ascent_ skids: Now there will be much more TLDs, ICANN accepted that. You can even get .perl, if you have big bucks.
01:14 TimToady onion6.org is available :)
01:14 diakopter 6lrep.org
01:15 diakopter gro.perl6
01:16 araujo and if we get chicken.coop?
01:18 TimToady http://freelancewebmarket.com/members/Virgin-Islands-(U.S.)/
01:18 jan joined #perl6
01:20 wayland76 btw, question for alester: What's your objection to 6pan?
01:20 diakopter virginislands.. http://www.pm.org/groups/perl_mongers.xml  (inactive)
01:21 TimToady in theory, STD.pm is available too
01:21 wayland76 Better get in now, as 6pan is mentioned in the draft S22 :)
01:21 diakopter it *was* taken when I checked
01:21 diakopter erm
01:24 TimToady ooh, STD.pm.org might work :)
01:24 ascent_ perlwiki.com is free :)
01:25 diakopter I have p6lang.org|com, p6lib.org|com, perl6lib.org|com, perlblog.org, perlsix.org|com, sixpan.org|com, usep6.org|com, usev6.org|com|net, ironperl(6).org|com|net, and some others I shouldn't have registered :P
01:25 diakopter I like "usev6" the most
01:27 TimToady p6core.org is availalbe
01:27 TimToady s/lb/bl
01:27 TimToady p6now, p6all, p6foo etc.
01:34 diakopter anyway, I suppose now's as good a time as any to non-announce my amateur efforts to build a Perl 6 implementation for the CLI
01:34 diakopter .Net 2.0, Mono 2.5
01:35 TimToady p6.org has a squatter, dunno how much $$ is wanted
01:35 diakopter see, I didn't even need to announce it.
01:37 diakopter still unsure as to whether to use the DLR
01:37 diakopter though I stole the yaml parser from IronRuby
01:38 diakopter (the parser itself wasn't dependent on IronRuby itself at all)
01:39 diakopter so anyway, TimToady, it's calling out to viv and parsing the yaml successfully.  Now to "just" create actions off all of STD's yaml events...
01:39 justatheory Why do people insist in putting things in me???
01:39 diakopter that's what she said?
01:39 diakopter (sorry)
01:40 literal justatheory: evolution, is that you?
01:40 justatheory ”In theory, yes.” Sheesh.
01:42 diakopter show of hands... who here knew that many of the testing and build teams for Microsoft's largest products use test harnesses and build systems written in Perl?
01:42 diakopter (I can't see anyone's hands, hrm)
01:44 diakopter does anyone here (other than jnthn, I already know of) work in .Net?
01:44 s1n diakopter: i did a handful of years ago
01:47 * skids starts betting pool on date first person is fired for using crude language for "==>" or "<=="
01:47 TimToady or for starting an argument between the ==> and the ==>> folks...
01:49 diakopter what was wrong with >== for reverse feed (list to block)
01:50 skids It doesn't look like a teet, that's what.
01:50 eternaleye joined #perl6
01:50 diakopter it doesn't?
01:54 eternaleye_ joined #perl6
01:54 aindilis joined #perl6
01:56 TimToady std: sub infix:<-rated> {...}; $a R-rated $b; $a X-rated $b
01:56 p6eval std 25667: OUTPUT«Potential difficulties:␤  Variable $a is not predeclared at /tmp/MQFqCqkT8m line 1:␤------> [32msub infix:<-rated> {...}; $a[31m R-rated $b; $a X-rated $b[0m␤  Variable $b is not predeclared at /tmp/MQFqCqkT8m line 1:␤------> [32msub infix:<-rated> {...}; $a R-rated $b[31m;
01:56 p6eval .....
01:57 TimToady ..... indeed
01:58 bacek_ diakopter: Hey! It was my idea to implement Perl6-on-.NET!
01:59 bacek_ std: sub infix:<-rated> {...}; my ($a,$b); $a R-rated $b; $a X-rated $b
01:59 p6eval std 25667: OUTPUT«ok 00:03 37m␤»
01:59 diakopter bacek_: well, I guess it depends on when you had the idea...
01:59 bacek_ oh...
02:00 bacek_ diakopter: yesterday.
02:00 bacek_ About 20 hours ago
02:00 diakopter yeah I know; TimToady mentioned it to me so I backlogged; I replied above (mentioned IronRuby on mono builds)
02:01 bacek_ std: sub prefix:<:-(> { ... }; open("file.txt") or :-( "no way"
02:01 p6eval std 25667: OUTPUT«ok 00:04 38m␤»
02:02 bacek_ diakopter: Yeah, I'll take a look on IronRuby
02:03 diakopter bacek_: why'd you think of using .Net?
02:06 diakopter my current plan is to source-translate to C#3... whether that's C# that uses the DLR's dynamic typing/binding/converting system (it shoehorns Ruby's and Python's type systems into .Net's) or C# that layers its own object system... I'm not sure.
02:07 diakopter well, I guess not *source*-translate
02:07 diakopter since it's getting the AST from STD/viv
02:11 bacek_ diakopter: (using .Net) Just for fun.
02:11 diakopter that was largely my reason, too.  also, for my own learning.
02:12 diakopter (where learning is fun also)
02:12 bacek_ And I actually thinks about implementing parrot-byte-code on top of CIL.
02:12 bacek_ So I can use Rakudo :)
02:12 diakopter bacek_: well, jnthn's dissertation takes it the other direction..
02:15 bacek_ diakopter: url?
02:16 bacek_ lunch &
02:16 nbrown joined #perl6
02:16 diakopter http://www.jnthn.net/vm/mydissertation.shtml
02:17 diakopter http://www.jnthn.net/papers/2006-cam-net2pir-dissertation.pdf
02:27 diakopter I'd really like to compile to ATS... since that compiles to C and seems efficient at optimization.  but maybe the bootstrapped Perl6 can do that :P
03:07 diakopter someone might be interested - NPEG on codeplex (MIT license)... packrat/peg, runtime extensible/swappable grammars supported.
03:07 diakopter that'll do nicely for a regexp engine
03:10 aindilis` joined #perl6
03:13 TimToady there is almost certainly no regex engine that is adequate, except to do the low-level matches inside something like the Cursor engine
03:15 diakopter more explanation? :?
03:20 TimToady p6 regexes need very tight control of the semantics, including backtracking and callouts to closures, not to mention LTM and just-in-time lexing transitive to subrules
03:21 TimToady p5 regexes are nowhere close to good enough
03:21 TimToady PGE is closer, but not there yet
03:22 * skids starts a betting pool on how long after the release of Perl6 some geek manages to get the technobabble in a hollyood movie or TV show to use the phrase "not to mention LTM and just-in-time lexing transitive to subrules"
03:23 skids (Not to say it's babble, but that was pretty deep jargon :-)
03:24 TimToady plus all the other stuff that STD requires in order to do operator precedence parsing and good error messages
03:26 TimToady all rules have to be able to function as methods with multiple dispatch
03:26 diakopter I didn't mean that NPEG is a pcre-ish engine; fwict it'll callout to closures/callbacks, and the nature of PEG is to do longest-match (and this can be applied to just "token"s)... if I've understood those anywhere closely, maybe could you elucidate "jit lexing transitive to subrules"
03:26 TimToady where subgrammars can mix in and override those methods
03:28 TimToady when I say <infix>, that refers to a large set of rules, not all of which come from the same grammar.  LTM must work across all those variants
03:29 TimToady when I say <a> | <b> | <c> the subrules have to expand out to all their alternatives, and all of those given the same LTM status
03:29 diakopter ok. that requires another level of indirection/lookup/dereferencing at the ruletest level.
03:30 TimToady yes, well, at some point your levels of indirection start looking a lot like STD.pmc
03:30 diakopter heh
03:33 diakopter oh, you might misunderstand (I mean, I didn't specify); I'm not suggesting using a PEG engine to parse Perl 6.. I should have said that I was envisioning using viv's AST of STD.pm to generate a PEGrammar... so yeah, I guess it would just be for the primitives at some level.  it would need some markup akin to gimme5's work, tho
03:34 diakopter gimmepeg
03:36 lambdabot joined #perl6
04:01 frooh wayland76: you here?
04:02 meppl good night
04:05 * skids wonders what a developer "twitter" would look like -- automated of course -- "diakopter views interpretor.c in parrot" "pmurias repeatedly edits grammar.pm" "frooh tries various commandline options on git"
04:05 frooh hahaha
04:07 frooh well, no one seems to be around for the most part, but maybe they'll see this later
04:07 frooh I am moving the s29 test folders to s32
04:07 frooh not all of course
04:07 frooh but the ones that need to go there
04:08 pugs_svn r25668 | pmichaud++ | [t/spec]:  Remove a spurious =begin END from pair.t
04:12 OuLouFu joined #perl6
04:13 dalek rakudo: 55fb203 | pmichaud++ | src/parser/grammar.pg:
04:13 dalek rakudo: Update pod_comment to handle =begin END, some pod errors (from STD.pm).
04:13 dalek rakudo: Remove some trailing spaces.
04:13 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/55fb2036441a64d3ee20d08bfa9c6871a9d46ebb
04:18 skids pmichaud: if you know... the branch hijacking in parrot's interpreter turn_ev_check -- is that just for trace/debug purposes or part of the generic event/scheduler model?
04:20 wayland76 I'm kinda here
04:20 frooh it's no big deal, I was just gonna let you know I am moving that stuff around
04:22 wayland76 Fine by me, I only hack the specs at the moment :)
04:22 frooh k
04:22 frooh cool
04:23 frooh anyone have thoughts on whether I should just move things like S29-array to S32-array or should I go further and do S32-container etc?
04:26 skids There's already a containers.pod ?? do you mean go further and split to Array?
04:26 wayland76 He's moving the spectests
04:26 wayland76 I'm not enough of a test expert at the moment to answer that
04:26 frooh I'll probably just change the numbers for now
04:27 wayland76 but I'd guess the right answer is to move S29-array to S32/Container/Arrat
04:27 wayland76 s/Arrat/Array/
04:27 frooh see, I'm down with that, but I'll do it in a different commit
04:27 frooh maybe?
04:28 frooh I just know that this will break everyone'
04:28 frooh s tests
04:28 wayland76 Although maybe some of the tests on array are supposed to be elsewhere :)
04:28 wayland76 yeah, I agree with separate commits :)
04:28 frooh that's true
04:28 wayland76 And you're right, you have to ensure that it still works
04:28 wayland76 Like I've been trying to get access to feather so that I can make the S32 HTML autogenerate
04:29 wayland76 But no luck so far
04:29 frooh really?
04:29 frooh huh
04:29 diakopter wayland76: you need a feather account?
04:29 frooh I figured it would be easy to get access to feather
04:29 wayland76 diakopter: Yes.  I tried e-mailing Juerd, but no response
04:29 wayland76 maye I have the wrong e-mail address
04:30 diakopter sure, privmsg me your desired account name and I'll add you..
04:30 wayland76 and I don't know Juerd's IRC handle to ping him there
04:30 diakopter he's not on irc at the moment it seems
04:30 pugs_svn r25669 | frew++ | [t] moving S29-array to S32-array
04:30 diakopter oh wait, yes he is
04:30 diakopter msg Juerd
04:31 wayland76 ok
04:31 diakopter but you should be able to get the S32 html to autogenerate by modifying smartlinks.pl in svn
04:32 wayland76 Yah, I know
04:32 wayland76 It creates the directory, but doesn't put anything there
04:32 pugs_svn r25670 | frew++ | [t] moving S29-trig to S32-trig
04:32 wayland76 And I don't know how to debug it
04:33 pugs_svn r25671 | frew++ | [t] moving S29-container to S32-container
04:33 wayland76 (without feather access anyway)
04:34 diakopter oh...
04:34 diakopter well, let me know if he doesn't reply
04:35 diakopter several of us around here have sudo ALL on feather
04:35 pugs_svn r25672 | frew++ | [t] moving S29-hash to S32-hash
04:35 diakopter feather1, that is
04:36 pugs_svn r25673 | frew++ | [t] moving S29-list to S32-list
04:36 Kimtaro joined #perl6
04:36 * frooh loves having vi keybindings in the shell
04:37 pugs_svn r25674 | frew++ | [t] moving S29-num to S32-num
04:37 * skids mumbles something about "damn vi users" :-)
04:37 frooh haha
04:38 frooh skids: what do you prefer?
04:38 skids I'm an emacs junkie.
04:38 skids Addicted to C-u-N C-x-e
04:38 frooh I have yet to actually meet an emacs person in real life
04:39 frooh I think you are all just irc bots
04:39 frooh ;-)
04:40 skids My programmer didn't give me a response to that.
04:40 frooh excellent.
04:41 frooh although, emacs bindings are more common on the console right?  like C-u to clear is emacs-y right?
04:42 pugs_svn r25675 | frew++ | [t] moving S29-scalar to S32-scalar
04:43 pugs_svn r25676 | frew++ | [t] moving S29-str to S32-str
04:43 skids bash defaults.  You have to pull teeth to get them in Firefox (every 15 years the way to do it changes) but it is possible.
04:44 frooh skids: haha, I gave up on getting bindings working in FF etc
04:44 frooh if something is serious enough for editing I just use some plugin in It's All Text
04:44 skids s/15/1.5/ Interestingly, a lot of vendor equipment has sh or even emacs bindings.  e.g. cisco switches.
04:45 frooh well in linux C-u works in all kinds of things, even gui
04:45 frooh if I ever mistype a password C-u is the way to go
04:45 skids I get very irritable if I can't CTRL-k away the tail of a URL.
04:45 frooh hahahah
04:45 frooh yeah, it doesn't work here
04:46 frooh well, in irssi it does
04:46 frooh but not gtk or firefox
04:48 pugs_svn r25677 | frew++ | [t] moving S29-time to S32-temporal
04:51 frooh what exactly are the L<S29/"Array"/=item delete> things supposed to be?
04:52 frooh should I change it to something like L<S32/Containers/"Array"/=item delete>?
04:52 frooh thoughts?
04:56 skids There's delete()/:delete on Arrays and Hashes but they will be different implementations, and need different tests.  It would be hard to test an Associative or Container for that functionality without an actual subclass under it.
04:57 frooh agreed
04:57 frooh I am more asking about the pod stuff
04:57 frooh because array is in Containers.pm now...
04:57 frooh er, .pod
04:58 skids Yeah I don't know what those strings are used for sorry.
04:59 frooh it's alright
04:59 frooh I looked through the pod doc for perl6
05:00 frooh I hate to say it, but I really wish we used something a little more standard...
05:00 frooh although I guess pod is kinda standard
05:00 frooh it's just weird to me
05:01 skids I like having the docs right there in the code, and I like that they have only the occasional <> eyesores.
05:02 * skids yawns.
05:02 frooh yeah, I guess
05:02 skids Time to collapse.
05:02 frooh rakudo: my @a = 1,2,3; @a ,= 4,5;
05:02 p6eval rakudo 55fb20: OUTPUT«get_iter() not implemented in class 'Integer'␤current instr.: 'prefix:=' pc 20533 (src/builtins/misc.pir:17)␤»
05:02 frooh night
05:02 frooh rakudo: my @a = (1,2,3); @a ,= (4,5);
05:02 p6eval rakudo 55fb20: RESULT«Method 'HOW' not found for invocant of class 'Iterator'␤current instr.: 'parrot;List;_block542' pc 27273 (src/gen_setting.pir:1575)␤»
05:02 alester joined #perl6
05:03 skids rakudo isn;t understanding ,= it thinks = is a unary.
05:03 skids good night
05:03 frooh yeah
05:03 frooh I jsut wanted to try
05:09 justatheory joined #perl6
05:11 pugs_svn r25678 | frew++ | [t] fixed pod locations for S32-array
06:13 nihiliad joined #perl6
06:14 Tene joined #perl6
06:22 japhb nopaste?
06:23 wayland76 There's one somewhere
06:24 wayland76 http://sial.org/pbot/perl6
06:25 wayland76 I'm on my way out the door, though, and others are most likely asleep.  The Euros will be awake in an hour or two though
06:25 TimToady I haven't had much luck with that one
06:25 japhb wayland76: oddly, that pastebot doesn't have #perl6 in its channel list ... I wonder if needs to be reinvited?
06:25 wayland76 Hmm.  Well, I have no control over it, sorry.  And obviously not everyone's asleep
06:25 TimToady could be, do you know the incantation?
06:26 japhb I'm guessing '/invite pasteling #perl6' ... but you need chanop to do it.
06:26 japhb ... and I no longer have that, I guess.
06:26 pasteling joined #perl6
06:27 wayland76 TimToady: Quick question.  S12 says "The C<.^methods> method returns method-descriptors containing..."
06:27 japhb That's promising
06:27 pmurias joined #perl6
06:27 TimToady there it be, arr
06:27 pasteling "japhb" at 76.191.190.8 pasted "Rakudo failure trying to run simplest OpenGL example" (20 lines, 1.5K) at http://sial.org/pbot/35337
06:27 wayland76 Does that mean that we have a MethodDescriptors role?
06:27 japhb wheee
06:27 wayland76 Or is it an array of Routine?
06:27 wayland76 (sorry, Array of Method)
06:28 wayland76 japhb++ , TimToady++ :)
06:28 TimToady that's one of the things I was gonna let the implementors flesh out
06:28 wayland76 Ok :).  Because we're wondering about it in S32/Callable :)
06:29 TimToady feel free to speculate and label it so :)
06:29 wayland76 (on p6l)
06:29 wayland76 Ok, will do :)
06:29 TimToady just keep it as simple as possible, but no simpler...
06:29 wayland76 Will try to do that too :) Anyway, I'm late  :) &
06:30 wayland76 (will backlog)
06:30 TimToady ciao
06:30 japhb Is there anyone other than pmichaud and jnthn that hack Rakudo regularly?
06:32 pmurias diakopter: one thing i think you should consider would be making the ironperl a mildew backend
06:32 TimToady I think [particle] does some now and then
06:33 aindilis joined #perl6
06:33 japhb TimToady: OK, thanks
06:48 dukeleto if you are interested in mentoring a student in the upcoming summer of code, please sign up at http://bit.ly/Hht5E
06:51 ewilhelm for those who haven't heard, dukeleto is wearing the GSoC shoes this year
06:51 dukeleto i prefer to think of it as stilts with rockets at the bottom
06:52 ewilhelm wish I had rocket stilts last year
07:16 bhumphreys joined #perl6
07:20 bacek_ perl6: my @a; my Int $a=+@a;
07:21 p6eval rakudo 55fb20: OUTPUT«Type mismatch in assignment.␤current instr.: 'die' pc 16347 (src/builtins/control.pir:204)␤»
07:21 p6eval ..pugs: RESULT«\0»
07:21 p6eval ..elf 25678: RESULT«0␤»
07:21 bacek_ rakudo-- :/
07:22 pmichaud joined #perl6
07:23 bacek_ perl6: my @a; say (+@a).WHAT
07:23 p6eval rakudo 55fb20: OUTPUT«Num␤»
07:23 p6eval ..elf 25678, pugs: OUTPUT«Int␤»
07:24 bacek_ is there spec for +@a return type?
07:25 bacek_ perl6: say (+1).WHAT; say (+1.0).WHAT
07:25 p6eval pugs: OUTPUT«Int␤Rat␤»
07:25 p6eval ..elf 25678, rakudo 55fb20: OUTPUT«Int␤Num␤»
07:28 bacek_ pugs: my @a=(1..7); @a.splice(*-2, 2); say @a
07:28 p6eval pugs: OUTPUT«34567␤»
07:29 bacek_ pugs: my @a=(1..7); @a.splice(@a-2, 2); say @a
07:29 p6eval pugs: OUTPUT«12345␤»
07:31 agentzh left #perl6
07:35 zamolxes joined #perl6
07:50 szabgab joined #perl6
08:08 miloux joined #perl6
08:16 moritz_ good morning
08:16 moritz_ bacek_: I don't think it makes sense to return a Num
08:17 bacek_ moritz_: me either. So it returns Int in my version of rakudo :)
08:19 Matt-W Morning
08:20 Khisanth joined #perl6
08:22 agentzh joined #perl6
08:45 xinming_ joined #perl6
08:56 dalek rakudo: a2f5064 | (Moritz Lenz)++ | t/spectest.data:
08:56 dalek rakudo: Track changed test file names by frew++ in t/spectest.data
08:56 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/a2f5064e7725e2a70f32041dc4b5d73a3d6f6fd7
08:58 pugs_svn r25679 | moritz++ | [t/spec] add ticket number to fudge message
09:07 pugs_svn r25680 | moritz++ | [t/spec] unfudge a passing test
09:18 M_o_C joined #perl6
09:22 pugs_svn r25681 | moritz++ | [t/spec] a bit more unfudging
09:23 mberends joined #perl6
09:26 ejs joined #perl6
09:29 DemoFreak joined #perl6
09:32 pugs_svn r25682 | moritz++ | [t/spec] more unfudges
09:40 moritz_ rakudo: q:PIR {{ print "foo" }}
09:40 p6eval rakudo a2f506: OUTPUT«foo»
09:41 Matt-W \o/
09:42 moritz_ rakudo: Q:PIR {{ print "foo" }}
09:42 p6eval rakudo a2f506: OUTPUT«foo»
09:42 cookys joined #perl6
09:53 pugs_svn r25683 | moritz++ | [t/spec] more unfudges for Rakudo
10:00 cotto joined #perl6
10:15 bacek_ moritz_: http://github.com/bacek/rakudo/commit/926b7d3f7e913f1dae8858b83351bb7ef96bef9f
10:17 moritz_ I don't understand this patch.
10:18 bacek_ moritz_: it changes +@a to be Integer
10:19 bacek_ But it broke some tests... Checking now
10:19 moritz_ then it's no good :/
10:19 moritz_ does +"2.3" still does what it should after your patch?
10:19 bacek_ can't argue with it :)
10:21 moritz_ maybe the get_number vtable method can be convinced to return an Int instead of a Num?
10:21 bacek_ moritz_: it returns Int.
10:22 bacek_ But then prefix:+ converti it to Num.
10:22 bacek_ perl6: say (+"1.01").WHAT
10:22 p6eval elf 25683, pugs, rakudo a2f506: OUTPUT«Num␤»
10:22 bacek_ perl6: say (+"1").WHAT
10:22 p6eval pugs, rakudo a2f506: OUTPUT«Num␤»
10:22 p6eval ..elf 25683: OUTPUT«Permission denied at ./elf_h line 315.␤»
10:22 bacek_ perl6: say (1+1).WHAT
10:23 p6eval elf 25683, pugs, rakudo a2f506: OUTPUT«Int␤»
10:23 moritz_ perl6: my Int $i = +"3"; say $i
10:23 bacek_ perl6: my @a; say (@a+1).WHAT
10:23 p6eval pugs, rakudo a2f506: OUTPUT«Num␤»
10:23 p6eval ..elf 25683: OUTPUT«Int␤»
10:23 p6eval rakudo a2f506: OUTPUT«Type mismatch in assignment.␤current instr.: 'die' pc 16347 (src/builtins/control.pir:204)␤»
10:23 p6eval ..elf 25683, pugs: OUTPUT«3␤»
10:24 moritz_ elf: my Int $x = "foo"
10:24 p6eval elf 25683: RESULT«"foo"␤»
10:24 moritz_ neither pugs nor elf do type checking, it seems
10:24 moritz_ (except perhaps for multi dispatch)
10:24 bacek_ moritz_: Yoda???
10:24 bacek_ :)
10:25 bacek_ perl6: my Num $i=1; my @a=(1..3); @a.splice($i,1); say ~@a
10:26 p6eval elf 25683: OUTPUT«13␤»
10:26 p6eval ..pugs, rakudo a2f506: OUTPUT«1 3␤»
10:27 bacek_ perl6: my Num $i=1; my @a=(1..3); @a.splice(@a-1,1); say ~@a
10:27 p6eval elf 25683: OUTPUT«splice() offset past end of array at ./elf_h line 173.␤123␤»
10:27 p6eval ..pugs: OUTPUT«1 2␤»
10:27 p6eval ..rakudo a2f506: OUTPUT«No applicable candidates found to dispatch to for 'splice'␤current instr.: 'parrot;P6metaclass;dispatch' pc 320 (src/classes/ClassHOW.pir:161)␤»
10:27 mberends joined #perl6
10:28 bacek_ rakudo: my @a; say (@a-1).WHAT
10:28 p6eval rakudo a2f506: OUTPUT«Num␤»
10:28 bacek_ very very strange...
10:28 bacek_ perl6: my Num $i=1; my @a=(1..3);my Num $b = @a-1; @a.splice($b,1); say ~@a
10:28 p6eval elf 25683: OUTPUT«splice() offset past end of array at ./elf_h line 173.␤123␤»
10:28 p6eval ..pugs: OUTPUT«1 2␤»
10:28 p6eval ..rakudo a2f506: OUTPUT«No applicable candidates found to dispatch to for 'splice'␤current instr.: 'parrot;P6metaclass;dispatch' pc 320 (src/classes/ClassHOW.pir:161)␤»
10:29 bacek_ perl6: my Num $i=1; my @a=(1..3);my Num $b = 2; @a.splice($b,1); say ~@a
10:29 p6eval pugs, rakudo a2f506: OUTPUT«1 2␤»
10:29 p6eval ..elf 25683: OUTPUT«12␤»
10:29 bacek_ ouch...
10:29 * bacek_ summon masak
10:45 mberends joined #perl6
11:01 riffraff joined #perl6
11:05 ruoso joined #perl6
11:08 ruoso Hello!
11:08 lambdabot ruoso: You have 1 new message. '/msg lambdabot @messages' to read it.
11:26 Matt-W hi ruoso
11:26 ruoso hi Matt-W
11:57 jeremiah_ joined #perl6
11:58 jeremiah_ left #perl6
12:37 ejs joined #perl6
12:49 meppl joined #perl6
12:51 protorom joined #perl6
12:57 protorom left #perl6
13:04 ejs joined #perl6
13:30 ejs joined #perl6
13:40 masak joined #perl6
13:45 ashizawa joined #perl6
13:49 slango joined #perl6
13:54 * masak backlogs
13:54 ashizawa joined #perl6
13:54 masak wayland76: re 'insist on calling it Web.pm or something' -- you mean as opposed to calling it 'Web'? by all means, if that's the issue.
13:56 Matt-W It's been quiet today
13:56 Tene_ joined #perl6
13:57 masak skids: re cloning me into several copies: I fully support such a course of action, but it might not have the intended effect. most of the clones would just start working on proto, druid and november, and GTD there. however, but reporting coverage would not be significantly better, and my clones would most likely compete a lot...
13:58 masak ...leading to things like 'masak2 submits rakudobug', '<masak3> dang!', '<masak11> dang!', '<masak47> dang!'.
13:58 Matt-W haha
13:58 Matt-W not to mention lock contention on the computer...
13:58 masak and Gmail.
13:58 masak if we all retained the same email address.
13:58 moritz_ you just have to have one IRC connection for all of your clones
13:58 moritz_ so that only one can chat at the same time
13:59 masak yes, there are several issues with this.
13:59 Matt-W And we'd have to feed them all as well
13:59 masak but I actually think my clones would be good at working on my Perl 6 projects together.
14:00 Matt-W if I had a clone, maybe one of me could stay at home and work on Form while the other me goes to work and bangs his head on concurrency performance issues
14:00 masak Matt-W: I think my current employer would employ a few more of me. not sure, have to ask.
14:01 Kimtaro_ joined #perl6
14:01 Matt-W Mine wouldn't
14:01 Matt-W they're very tight about new hires at the moment
14:02 alexn_org joined #perl6
14:02 mberends masak: :)
14:02 masak he says he'll hire as many as he can afford. :)
14:03 * masak likes his $JOB
14:05 * mberends likes being employer (of $self only)
14:09 masak joined #perl6
14:11 masak wayland76: re 'interface puller' -- yes, I suspect it'll be something like that.
14:12 ashizawa joined #perl6
14:15 masak the bottleneck isn't enough people submitting rakudobugs, and I'm not even close to burning out submitting as many as I do myself. the bottleneck is in people stumbling over the bugs themselves, the secret behind which is as follows: (1) write Perl 6 code on top of Rakudo.
14:15 masak (and no second step.)
14:16 masak we need as many people as possible doing that, in my opinion.
14:16 masak at least up until the bottleneck becomes something else :)
14:22 rodi joined #perl6
14:26 dalek rakudo: cc1e659 | pmichaud++ | docs/spectest-progress.csv:
14:26 dalek rakudo: spectest-progress.csv update: 256 files, 5648 passing, 0 failing
14:26 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/cc1e659a8b29aee21b99e63c239d68106cc69031
14:34 nihiliad joined #perl6
14:35 Matt-W masak: I hope to write some more Form.pm tonight, so I may find another bug
14:35 pmichaud I wonder if we should simply rename svn.pugscode.org/pugs to svn.perlsix.org/perl6  (or something like that)
14:35 alexn_org joined #perl6
14:35 pmichaud don't need to move the repo or do anything significantly different, just change the public name.
14:35 masak Matt-W: cool.
14:35 zamolxes joined #perl6
14:36 masak pmichaud: sounds reasonable.
14:36 aindilis joined #perl6
14:36 Matt-W pmichaud: that might lead people to think that pugs is 'the' perl 6
14:36 pmichaud Matt-W: I'm not too worried about that, and "pugs" disappears from the name.
14:36 Matt-W true
14:36 pmichaud we can certainly re-organize the READMEs and other items.
14:37 Matt-W It makes more sense in my head to have the spectest suite and the docs somewhere else though
14:37 pmichaud we can also move the pure-pugs components into their own subdirs.
14:37 masak I have a suspicion that announcing a price for some reasonably-sized Perl 6 task might fuel innovation. I'd do it, but unfortunately the Swedish Krona isn't worth squat nowadays.
14:37 Matt-W they're global perl 6 things, they really shouldn't be living in the same repo as any implementation
14:37 pmichaud Matt-W: perhaps we should turn that around, and say that implementations shouldn't be living in the same repo as the spec/tests
14:38 Matt-W pmichaud: maybe, but I believe pugs was there first in that case :)
14:38 pmichaud it's effectively the same, but perceptions may matter.
14:38 pmichaud anyway, I'm fine with either.
14:38 pmichaud I'm fine with the status quo, too, but I know that keeping things inside of Pugs is confusing people.
14:39 Matt-W I would like to see a repo for the Perl 6 documentation and test suite
14:39 Matt-W Because that then is the repo that contains the definition of perl 6
14:40 skids joined #perl6
14:42 diakopter I agree with all of those... I actually have the pugscode svn accounts/passwords in plaintext, so migrating accounts to another repo would be straightforward.  how about svn.perlsix.org ?
14:42 ashizawa joined #perl6
14:42 * diakopter backlogs more
14:44 diakopter ok, sounds good... though I'll need someone's help with the sysadmin side of it... (how to protect the ssl private key and such)
14:44 moritz_ but then can we please move it to git as well? ;-)
14:44 diakopter anyone around who's a *n*x/apache person
14:45 diakopter git?  really?
14:46 moritz_ I'm growing increasingly fond of it
14:47 masak aye, please do.
14:47 pmichaud I wasn't proposing that we move the repo off of feather.
14:47 pmichaud (I'm fine if we do that, but I wasn't proposing that.)
14:48 moritz_ pmichaud: if we change anything about the repo, we can also move it to feather2, which is more secure than feather1
14:48 Matt-W git is nice
14:48 rodi git++
14:49 pmichaud I'm happy to move things to git, also.... but we really need to get more consensus on that.  Especially TimToady.
14:49 Matt-W of course
14:49 masak indeed.
14:51 diakopter ok yeah, I wasn't suggesting moving off of feather either
14:51 smtms joined #perl6
14:51 pmichaud shall I post a message to p6c, inviting comment?
14:52 dalek rakudo: 8637bed | pmichaud++ | docs/spectest-progress.csv:
14:52 dalek rakudo: spectest-progress.csv correction to total spectest count
14:52 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/8637bed4561c1232f97bd23bd3790d4b6d02ede6
14:52 dalek rakudo: b60ccaf | pmichaud++ | tools/test_summary.pl:
14:52 dalek rakudo: Add S32 to test_summary.pl scanning.
14:52 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/b60ccafa5e5f736edd2aebcd0e6eef31e4f5f194
14:52 Matt-W pmichaud: that seems wise
14:52 diakopter yes, or someone else (I can) can who's not on the rakudo critical path
14:52 diakopter :P
14:52 Matt-W Don't think there's a huge huge rush to do it right now is there?
14:52 moritz_ no
14:52 pmichaud There's not a huge rush, no.
14:53 pmichaud as I said, I'm fine with the status quo also.
14:53 diakopter if the new repo does stay with subversion, I suggest making a new repo though
14:53 diakopter or even cloning the repo
14:53 diakopter if you want history retained
14:53 diakopter but I'd suggest that that's not necessary
14:54 pmichaud we want history retained, definitely.
14:54 diakopter (instead of just changing the url to the same repo)
14:54 pmichaud at least for the synopses we definitely do.
14:55 pmichaud it bugged me when I read the following in a .pm mailing list, though:  "Pugs, which is dormant,
14:55 pmichaud does a better job (I hear) of handling some/many parts of p6 grammar
14:55 pmichaud than Rakudo, that is, I gather, Larry Wall updates Std.pm which Pugs
14:55 pmichaud uses for parsing basic p6, while Rakudo has to then re-apply those
14:55 pmichaud changes elsewhere "
14:55 moritz_ that's just plain wrong.
14:55 moritz_ pugs doesn't use STD.pm at all
14:55 pmichaud I know.
14:55 diakopter yeah, confusing Pugs with the pugscode repo
14:56 Matt-W it would cause less confusion to have them separate
14:56 moritz_ anyway, this needs better planning
14:56 Matt-W yes
14:56 pmichaud okay, I'll propose a message to p6c in a bit.
14:56 pmichaud thanks all for opinions.
14:56 diakopter (as well as wrong about any implementation using STD directly, except I think one of the new elfs)
14:57 masak it isn't easy to get a good overview of the Perl 6 world from the outside, it seems.
14:57 moritz_ that's what I want to change with perl6-projects.org
14:58 Matt-W it's incredibly difficult
14:58 Matt-W I run into sheer ignorance everywhere
14:58 Matt-W And mocking, in some cases
14:59 alester My intent for rakudo.org is to be that overview as well.
14:59 Matt-W Apparently believing that Perl 6 will one day have a finished compiler is on a level with believing that the fairies at the bottom of your garden will clean your house for you if you leave a large pineapple on top of the shed for six weeks in high summer...
14:59 diakopter my shed stays clean, and I don't know how... :P
15:00 diakopter I mean, house.
15:00 masak Matt-W: I try not to care about such opinions.
15:00 diakopter well, both.
15:00 pmichaud on a slightly different topic:  turns out that I was already producing per-test-file summaries of our test results.
15:00 diakopter Matt-W: did you see my msg about the DLR
15:00 Matt-W masak: I try to correct them, but there's no point actually arguing about it
15:00 alester o/` Who lives in a pineapple under the sea? O/`
15:00 Matt-W diakopter: yes
15:00 pmichaud http://www.pmichaud.com/rakudo/rakudo-tests-2009-03-04.txt
15:00 masak Matt-W: it's the same with Esperanto. if the opinion of outsiders contradicts my experience, I choose to believe my experience.
15:01 pmichaud currently it only shows the files we attempt -- it doesn't show the ones we skip entirely.
15:01 masak Matt-W: don't wrestle with a pig, you'll only get muddy, and the pig actually likes it.
15:01 Matt-W masak: I've read contradictory things about Esperanto, so I don't have an opinion anymore :)
15:01 masak Matt-W: Esperanto is a bit contradictory. :)
15:01 masak because it's composed of a wide range of people.
15:01 masak just like Perl 6.
15:02 Matt-W :)
15:02 frioux why is comb called comb?  Is the idea that it comb's out the good stuff or something?
15:03 masak frioux: s/'//. yes.
15:03 Matt-W The misinformed opinion that really gets me is the idea that Perl 6 must be behind the times now because it's taken years to implement, as if the language spec appeared fully-formed back in 2001 and hasn't changed since
15:03 frioux hm; cool
15:04 masak Matt-W: caring about the opinions of people who are wrong on the internet is a cheap, easy, fast way to blow a fuse.
15:04 Matt-W masak: wise words to live by
15:04 diakopter "Perl 6 can be desugared to _______"
15:05 masak I'd like them not to be wrong too, but the only way to prove them wrong is to be great with Perl 6. so I try to do that instead.
15:05 pmichaud it's easy to prove them wrong.  it's hard to get them to accept (or understand) the proof.  :-)
15:05 pmichaud the same is true in public policy debates :-)
15:06 masak pmichaud: I think grammars are quite the proof, actually. PGE++
15:06 moritz_ speaking of grammars... do action stubs work at the moment?
15:06 pmichaud afaik they do, yes.
15:06 masak they ought to.
15:07 moritz_ how?
15:07 moritz_ as an additional parameter to .parse()?
15:08 masak aye.
15:08 pmichaud oh.
15:08 masak moritz_: there's a November branch doing that, if you want an example.
15:08 pmichaud yes, I think as an additional param to parse.  If that doesn't work, we can make it work.
15:08 masak I can dig up the relevant code.
15:08 moritz_ that would be increadibly cool
15:08 * masak digs
15:09 Matt-W november's code passes :action($instance_of_action_class) to TOP
15:09 Matt-W at least, the code I've seen
15:09 Matt-W not seen any that does it with .parse
15:10 * Matt-W is about to implement code that uses action stubs
15:10 moritz_ rakudo: grammar GA { TOP { <a> }; rule a { \w+ {*} }; }; class AA { method a($x) { make $x x 2 } }; say 'foo'.parse(GA, AA);
15:10 p6eval rakudo b60cca: OUTPUT«Could not find non-existent sub TOP␤current instr.: 'parrot;GA;_block20' pc 147 (EVAL_22:62)␤»
15:10 masak Matt-W: ah, you're right.
15:10 moritz_ rakudo: grammar GA { regex TOP { <a> }; token a { \w+ {*} }; }; class AA { method a($x) { make $x x 2 } }; say 'foo'.parse(GA, AA);
15:10 p6eval rakudo b60cca: OUTPUT«Method 'parse' not found for invocant of class 'Str'␤current instr.: 'parrot;P6metaclass;dispatch' pc 320 (src/classes/ClassHOW.pir:161)␤»
15:10 masak http://github.com/viklund/november/blob/d77c6c7071d1ef04b5d4cb526e70f4192b4aefc1/p6w/HTML/Template.pm#L31
15:10 moritz_ rakudo: grammar GA { regex TOP { <a> }; token a { \w+ {*} }; }; class AA { method a($x) { make $x x 2 } }; say GA.parse('foo', AA)
15:11 p6eval rakudo b60cca: OUTPUT«too many arguments passed (4) - 2 params expected␤current instr.: 'parrot;Grammar;parse' pc 10469 (src/classes/Grammar.pir:37)␤»
15:12 moritz_ the thing wtih Grammar::TOP($str, :action($act)) works right now, but I don't think it's ideomatic Perl 6
15:12 moritz_ it would be very nice to have Grammar.parse($str, :action($action_obj))
15:12 Matt-W it would
15:12 Matt-W it would make more sense
15:12 Matt-W TOP isn't the kind of thing you should really be calling directly
15:13 Matt-W anything in all-caps really
15:14 moritz_ I should reallly add that to the specs
15:14 moritz_ then tests ;-)
15:14 Matt-W and then implement it
15:16 moritz_ that's not my department :/
15:16 Psyche^ joined #perl6
15:16 moritz_ "once rockets are up, who cares where they come down; that's not my department" says Wernher von Braun -- Tom Lehrer
15:17 Ariens_Hyperion joined #perl6
15:19 masak moritz_: re what, exactly? moving Perl 6 repositories? :P
15:19 moritz_ masak: no, implementing .parse with :action
15:20 masak ah, you said "that's not my department". I see. :)
15:20 * masak likes that song too
15:20 moritz_ most of what Tom Lehrer wrote is quite cool, IMHO ;-)
15:21 masak his humour and mine are very compatible, it seems.
15:34 szabgab rakudo: for 1..10 { say $_ }
15:34 p6eval rakudo b60cca: OUTPUT«1␤2␤3␤4␤5␤6␤7␤8␤9␤10␤»
15:35 mj41 joined #perl6
15:38 hercynium joined #perl6
15:43 pmichaud I have the patch to add options to .parse(...)   testing now.
15:44 moritz_ cool. pmichaud++
15:45 Matt-W man
15:46 Matt-W pmichaud++ ++ ++
15:48 masak rakudo: my $a = 0; $a++ ++; say $a
15:48 p6eval rakudo b60cca: OUTPUT«1␤»
15:48 masak huh.
15:48 alester Hey, who was it that was aking for an acocunt on rakudo.org?
15:48 pmichaud alester: what's the official procedure for people to get accounts on rakudo.org ?
15:48 Matt-W masak: I didn't expect it'd actually parse
15:48 alester ask me.
15:49 masak std: my $a; $a++ ++;
15:49 alester well, to comment, or to make content?
15:49 pmichaud is there a way that we could get more people to be able to create accounts?
15:49 p6eval std 25683: OUTPUT«############# PARSE FAILED #############␤Can't understand next input--giving up at /tmp/C6g8FQ1AVL line 1:␤------> [32mmy $a; $a++ ++[31m;[0m␤    expecting any of:␤      noun␤   prefix or meta-prefix␤      prefix_postfix_meta_operator␤     whitespace␤FAILED 00:02 36m␤»
15:49 alester I have to get the comments working.
15:49 * masak submits rakudobug
15:49 pmichaud I'm trying to reduce the number of single-person bottlenecks involved in the overall process.
15:50 alester understood
15:52 moritz_ alester: oh, and you could give me an account as well ;-)
15:52 alester email address?
15:53 masak what are these accounts everyone is raving about? :)
15:54 alester My assumption is that if I set up an account you're going to CREATE CONTENT.
15:54 pmichaud I don't think we need such a strong assumption, fwiw.
15:54 moritz_ alester: moritz@faui2k3.org
15:54 alester moritz_: What email address?
15:54 moritz_ alester: you can be sure of it, just not about the time frame
15:54 alester pmichaud: There's no other reason to have an account.
15:55 alester What name do you want?
15:55 pmichaud alester:  we don't make assumptions about people getting commit bits to the pugs repo.
15:55 alester moritz?  Moritz Lenz?
15:55 moritz_ alester: aye
15:55 alester moritz: Whihc one?
15:55 pmichaud i.e., we don't say "by giving you this commit bit we assume you're going to make lots of commits"
15:55 alester I didn't say lots of commits.
15:56 pmichaud I was using that as an example.
15:56 pmichaud my point is that we don't make any expectations about contributing.
15:56 moritz_ alester: what do you mean by "which one"? name is 'Moritz Lenz', email 'moritz@faui2k3.org', if you need a login name please use 'moritz'
15:56 alester moritz_: ok.  I'm just saying that your login name can be "Moritz Lenz'
15:57 moritz_ make it 'moritz', I don't like typing more than necessary ;-)
15:57 alester you should have email now
15:57 alester You can change the pw I gave you
15:59 moritz_ alester: done, thanks
15:59 alester Good, now get out there and write something!
15:59 alester pmichaud may not push, but I will! :-)
15:59 skids hehe.
16:00 pmichaud I'd like to see a page on "how to become a rakudo.org contributor"  :-)
16:00 pmichaud so, write that.
16:00 moritz_ I'd like to have more contrast in the navigation bar
16:00 moritz_ light blue on dark blue is... improvable
16:00 pmichaud even better, change the existing "How to help" page to include instructions on getting a rakudo.org account.
16:01 pmichaud since the one that is there now is a bit.... bare.
16:03 alester done
16:04 alester I really like how drupal makes it butt-simple to have little tweaks like that, and eep revision history.
16:04 pmichaud is there a way we could change or eliminate the "Submitted by..." attribution on some of the pages?
16:04 alester example?
16:05 alester It's really a "last edited by"
16:05 pmichaud no, it's a "first created by"
16:05 justatheory joined #perl6
16:05 alester oh is it?
16:05 alester Huh
16:05 pmichaud http://rakudo.org/how-to-get-rakudo
16:05 pmichaud (check the revisions)
16:06 pmichaud I don't mind if it becomes a "last edited by".
16:06 pmichaud but having it always be "first created by" feels wrongish.
16:06 pmichaud I'd rather not have the attribution at all, in that case.
16:06 justatheory joined #perl6
16:07 ZuLuuuuuu joined #perl6
16:09 alester http://rakudo.org/todo-list-for-rakudo.org
16:11 twitter1 joined #perl6
16:11 dalek rakudo: 33ddc70 | pmichaud++ | src/classes/Grammar.pir:
16:11 dalek rakudo: Allow Grammar.parse() and Grammar.parsefile() to take options.
16:11 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/33ddc701ab594d7617de4dcdfeeeb4f5f4ac2761
16:11 masak wait, so an empty array isn't false in Perl 6?
16:12 moritz_ it should be, please
16:12 moritz_ perl6: say ?(,);
16:12 p6eval pugs: OUTPUT«*** ␤    Unexpected ",);"␤    expecting expression or ")"␤    at /tmp/zBBAvU07Y8 line 1, column 7␤»
16:12 p6eval ..rakudo b60cca: OUTPUT«say requires an argument at line 1, near " ?(,);"␤␤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)␤»
16:12 p6eval ..elf 25683: OUTPUT«Parse error in: /tmp/62we3XR5zE␤panic at line 1 column 0 (pos 0): Can't understand next input--giving up␤WHERE: say ?(,);␤WHERE:/\<-- HERE␤  STD_red/prelude.rb:99:in `panic'␤  STD_red/std.rb:76:in `scan_unitstopper'␤  STD_red/std.rb:224:in `comp_unit'␤  STD_red/std.rb:210:in
16:12 p6eval ..`_UN...
16:12 masak perl6: say ?[]
16:12 p6eval elf 25683: OUTPUT«1␤»
16:12 p6eval ..rakudo b60cca: OUTPUT«0␤»
16:12 p6eval ..pugs: OUTPUT«␤»
16:13 masak so, what's the answer?
16:13 moritz_ an empty list or array in boolean context is false.
16:13 * masak submits rakudobug
16:13 moritz_ where did you find a true?
16:14 masak um.
16:14 masak rakudo: my @a; my @b = 1,2,3; say (@a // @b).shift
16:14 p6eval rakudo b60cca: OUTPUT«Undefined value shifted from empty array␤␤»
16:15 masak but I now realize that I was testing for definedness.
16:15 masak so the bug is in me.
16:16 masak I should write that as (@a || @b)
16:18 twitter1 left #perl6
16:27 pugs_svn r25684 | lwall++ | [S03] deprecate TOP in favor of .parse and .parsefile
16:27 pugs_svn r25684 | lwall++ | [S12] mention restriction on calling class metamethods when there isn't a class
16:29 ascent_ hm, rakudo seems to be very lazy (perl5 real exec 0.005s, perl6 real exec 5.382s). I suppose I should blame parrot. There is already planned C-based compiler?
16:29 pmichaud ascent_: currently rakudo is slow in its parsing.
16:30 pmichaud ascent_: that should improve once we refactor parsing to have a better longest token matching system.
16:31 pmichaud there are other parts of parrot that slow us down also... but we haven't been optimizing parrot for speed yet.  The focus has primarily been on features and correctness.
16:32 moritz_ fwiw, compiling a parrot with --optimize roughly halfes the execution time
16:32 moritz_ (but doesn't work on 64 bit platforms yet)
16:32 ascent_ pmichaud: ok, sounds good. I got scared with running overhead of 0.583s.
16:34 duke_leto joined #perl6
16:34 duke_leto left #perl6
16:35 masak I've noticed that I have a tendency to forget ';' after statements that end with a block. I haven't decided if they should be there or not. so far, though, I'm leaning towards 'yes'.
16:35 pmichaud masak:  rakudo should have its block-ending issues fixed now.
16:35 masak yes, it's not about parsing failures.
16:35 pmichaud okay.
16:35 masak it's about Perl 6 being lenient with semicolons after blocks.
16:36 masak something like my $a = { ... }
16:36 masak that one doesn't need a semicolon after it.
16:36 moritz_ I usually write one anway
16:36 masak me too.
16:36 moritz_ if it's on a single line
16:36 masak but I sometimes forget.
16:36 masak moritz_: should it matter how many lines it is?
16:36 masak if it's a statement, it's a statement.
16:37 ruoso masak, it's not about the number of lines, but by the fact that it ends with a }
16:37 moritz_ masak: If it's multiple lines, then line would siimply be \s*};
16:37 moritz_ and that looks weird to me
16:37 masak ruoso: I know the rules. I'm talking about the code practices.
16:38 masak moritz_: ok.
16:38 moritz_ masak: so the question is not if it's on the same line, but if there's anything else than the } on the line
16:38 masak moritz_: personally, I find that rule of thumb unintuitive.
16:39 masak I have a local variable declaration whose RHS is a do given block. I'd like to end that declaration with a semicolon.
16:39 masak even though the last line of the statement consists of a single '}'.
16:39 TimToady superstitious semicolons are generally harmless
16:40 moritz_ not to masak's coding style intuition ;-)
16:40 masak so now I'm superstitious? hmpf. :)
16:40 ruoso but one can always implement "use masak-coding-style" and get syntax errors on that ;)
16:40 masak I'm just aiming for a simple consistency.
16:40 justatheory joined #perl6
16:41 TimToady the current rule is consistent in the face of user-defined language extensions
16:41 ruoso otherwise new prefix keywords would require an extra ; in the end
16:41 TimToady the parser doesn't have to care whether a line-final } is part of a builtin or not
16:41 moritz_ std: sub infix:<;-)> { ... }; say 2 ;-) 3
16:41 masak TimToady: I'm not complaining about the current rule. I'm asking how to adopt a coding practice in view of it.
16:41 p6eval std 25684: OUTPUT«############# PARSE FAILED #############␤Can't understand next input--giving up at /tmp/bJKZTFIqpT line 1:␤------> [32msub infix:<;-)> { ... }; say 2 ;-[31m) 3[0m␤    expecting any of:␤ noun␤   prefix or meta-prefix␤      prefix_postfix_meta_operator␤     whitespace␤FAILED
16:41 p6eval ..00:02 35m␤»
16:42 moritz_ it seems that operators beginning with ; don't participate in statement-end LTM yet
16:42 TimToady terminators are somewhat privileged currently
16:43 ruoso does STD register new multi tokens when you define a new infix?
16:43 TimToady yes
16:43 ruoso cool
16:44 ruoso TimToady, is there some place where missing clarifications in the spec are noted?
16:44 TimToady yes, they're noted by putting a clarification into the spec :)
16:45 TimToady and if you're not sure, marking it as conjectural
16:45 ruoso it's because I'm starting to forget which open spec issues I have
16:45 rafl joined #perl6
16:46 bacek joined #perl6
16:46 TimToady it's okay for the spec to say "I'm not sure here, but I think this is how it's gonna be unless someone argues with it."
16:46 skids Are the Apocolypses to be considered read-only -- if an issue is settled, but may come up again, where do we keep track of why and how it was settled?
16:46 ruoso so you suggest that I go and add my proposed solution as [CONJECTURAL: ]?
16:46 TimToady see the various [Update:...] notations
16:47 skids (stuff that would bloat the spec)
16:47 TimToady well, doesn't need to be all caps
16:47 ruoso right
16:47 ruoso actually, thinking again, you already asked me to start the spec on my first issue (captures)
16:48 TimToady you might also put your initials there so someone knows whose coffee to put the cyanide into
16:48 ruoso [Conjectural:DR: ]
16:48 ruoso (better use the nick, I think)
16:48 ruoso [Conjectural:ruoso: ]
16:48 * moritz_ prefers nicks over initials
16:48 TimToady Conjectural(ruoso): maybe
16:48 ruoso right
16:49 TimToady it's also probably worth alerting other implementors who might want to discuss it, since not everyone can follow every spec change
16:50 TimToady especially if it's one of those things that I'm putting off answering because I think the implementors should fight it out :)
16:50 bacek :conjectural<ruoso> more perlish :)
16:50 ruoso TimToady, the other issue I remember now is about wether "our method" provides a lexical name to the method object or not
16:50 TimToady could put that at the end
16:51 pmichaud [Conjectural: (ruoso) ... ]
16:51 ruoso TimToady, my proposed solution is that scope declarators' meaning depend on what they are declaring
16:51 skids Speaking of issues that crop up, if pmichaud didn't ask already there's an open question as to whether the :delete,:exists adverbs are completely replacing the .delete,.exists methods, or just replacing the delete sub form (%f.delete(...) versus delete(%f{...}) the latter of which everyone knows is going away, the former, ??)
16:52 ruoso TimToady, so 'my method' and 'our method' doesn't need to work the same way as 'my sub' and 'our sub'
16:52 pmichaud shorter version of skids' question:   do we still have   %h.delete('key')   ?
16:52 TimToady I am okay with method declarations not defaulting to "our", I think
16:52 ruoso TimToady, defaulting to what instead?
16:52 TimToady but just talking to the current metacontext
16:53 TimToady we could go as far as to make it a scope declarator
16:53 ruoso are we going to have 'public' and 'private' scope declarators?
16:54 ruoso defaulting to 'public'?
16:54 moritz_ isn't private "my"?
16:54 TimToady but I still very much want &foo ::= <mumble>; foo($obj,1,2,3) to work for some reasonable mumble
16:54 ruoso the issue is that "my" pairs to "our"
16:55 ruoso "my" makes a lexical declaration
16:55 ruoso "our" makes a lexical declaration *and* a package declaration
16:55 ruoso both doesn't fit well with methods
16:56 TimToady so "method foo" just adds the method without assuming either
16:56 masak mberends: just pushed 'update' subcommand implementation to the proto github repo. you were right, things become shared between install/update under the hood. the common name for the two operations is currently 'fetch'.
16:56 TimToady but as long as the binding semantics above work, it doesn't matter if we have aliases, provided...
16:56 ruoso TimToady, but "my method" means "private" now... not lexical...
16:56 TimToady that we name methods differently from subs
16:56 ruoso sure sure
16:57 ruoso but my question is: what is the point of having methods lexically aliased? (except if you explicitly request that)
16:58 ruoso so it's not about "scope", but "visibility"
16:58 ruoso which looks like the same, but are quire different
16:58 TimToady std: method !foo {...}
16:58 p6eval std 25684: OUTPUT«ok 00:02 34m␤»
16:58 TimToady that's what STD thinks :)
16:58 TimToady regardless of what S12 says
16:58 ruoso I'm fine with that
16:58 ruoso plain "method foo" makes a public method with no aliases
16:59 ruoso plain "method !foo" makes a private method with no aliases
16:59 mberends masak: :)    does the yaml-replacement work for you?
16:59 masak it does, as far as I can see. but it barfs a config.proto.test into my wc.
16:59 TimToady okay, lexical name for a method is then ".foo" or "!foo" without a sigil maybe
17:00 TimToady if a lexical name is installed by my
17:00 ruoso I think
17:00 TimToady or our
17:00 Util joined #perl6
17:00 ruoso adding 'my' or 'our' causes it to have the method aliased as &foo
17:00 mberends masak: oops, my bad. please remove test code.
17:00 TimToady don't want it to alias as a sub name
17:00 TimToady (I think)
17:00 masak mberends: I will. just making sure that you don't have a lock on proto.
17:00 ruoso but you'll be using it as a sub
17:01 ruoso since it is only a method while it's in a class
17:01 masak mberends: I'll do it sometime tomorrow morning.
17:01 mberends np
17:01 TimToady maybe that works, I thought there was some collision under export though...
17:02 ruoso what export does is simply to also put it into the importing package
17:02 TimToady EXPORTS::DEFAULT, say
17:02 ruoso oh right
17:02 ruoso TimToady, yes... yes...
17:02 ruoso but I now see the isse
17:02 ruoso we need the signature transforming
17:02 TimToady or we need my policy above
17:03 TimToady that any method can be called as a sub
17:03 TimToady and if called that way, just treats the invocant as first param
17:03 ruoso but that will require the dispatching code to realise how it was invoked
17:03 ruoso makes the dispatching more complex
17:03 TimToady we have a clean separation between single and multi dispatch currently
17:03 TimToady two entirely different dispatchers
17:05 TimToady but there's still an argument about whether the &foo alias represents one method or potentially a set of candidates, in which case the issue comes up again
17:05 TimToady unless we say that such an alias only ever represents a single method
17:05 TimToady (the one currently being declared, presumably)
17:06 ruoso &foo represents, in abstract, all the variants
17:06 TimToady not any of its ancestral namesakes
17:06 skids Or, if you want a single dispatch version, supply it separately and do not my/our your methods.
17:06 TimToady all the multi variants, at least
17:06 ruoso yes, all the multi variants seen by this scope
17:06 ruoso as each new declaration clones the variants from the outer
17:06 ruoso but not the outer declarations themselves
17:07 ruoso I could argue that any lexical aliasing of a method would imply in having the transformed signature
17:07 TimToady are you saying that the &foo alias should then add all its .*foo variants as multis?
17:08 ruoso I wasn't saying that
17:08 TimToady I want to make the transformation unnecessary
17:08 ruoso but that's certainly an important question
17:08 ruoso TimToady, but that only defer the complexity from the compile/init time to runtime
17:09 ruoso the transformation needs to happen at some point
17:09 ruoso since you have a Code with ($a: $b, $c) signature
17:09 ruoso and you're going to call it with ($a, $b, $c)
17:09 TimToady the : is just a fancy comma
17:10 ruoso sintatically, yes
17:10 ruoso semantically, no
17:10 TimToady that tells the parser it doesn't need to add an implicit $self
17:10 TimToady methods are just compiled as ordinary subs that expect their first arg to be an invocant, that's all
17:11 ruoso while I do understand that is a possible solution
17:11 TimToady it's the dispatcher that decides which of those to call as a method or as a multi
17:13 TimToady but all such dispatcher-to-code calls happens as simple function calls
17:14 * ruoso need to leave for a meeting...
17:15 TimToady have the appropriate amount of fun :)
17:15 ruoso but I think the current semantics are just fine
17:15 ruoso they're more useful than the benefit from removing the signature transforming, IMNSHO
17:16 ruoso and I think we can assume that both "my", "our" and "is export" generate the different signatures..
17:17 TimToady I think it's fine if a sub sig shows up with $a: in it
17:17 ruoso as long as you invoke it with a($a: $b, $c)
17:17 TimToady there we will disagreee
17:18 ruoso implicitly transforming the first positional argument into the invocant doesn't look good
17:18 TimToady the colon picks the dispatcher
17:18 ruoso not really
17:18 TimToady yes, really
17:18 ruoso the colon just says that is the invocant in that capture
17:18 ruoso it doesn't say what you're going to do with it
17:18 TimToady it picks the dipatcher
17:18 TimToady s//s/
17:19 japhb pmichaud: have you already sent the email re: repo changes to p6c?
17:19 pmichaud japhb: not yet, I want to wait until after today's perl 6 conference call to do it.
17:19 pmichaud but I'll do it immediately following that call.
17:19 ruoso TimToady, you can say "my $capture = \($a: $b, $c);"
17:19 ruoso there's no dispatch ther
17:19 ruoso it just composes the capture
17:19 rafl joined #perl6
17:20 TimToady yes, but that's neither here nor there
17:20 ruoso exactly... the capture is not the dispatch
17:20 japhb pmichaud: ok, I wanted to add myself to p6c before your sent that, so I could join the conversation there, but on rakudo.org where it says 'And also join the perl6-compiler mailing list.' there's no link.  Where is the join UI?
17:20 ruoso how you use the capture that makes the dispatch
17:20 pmichaud japhb:  just a sec
17:21 japhb pmichaud: ok, thanks
17:21 pmichaud http://dev.perl.org/perl6/lists/
17:21 * ruoso really needs to leave now... will backlog...
17:21 TimToady if you say foo(|$capture) it does the right thing either way
17:22 pmichaud ...and rakudo.org now has the link.
17:23 ruoso TimToady, a capture used in list context includes the invocant?
17:23 ruoso I don't think so
17:24 TimToady there's no list context there, and yes, it does include it
17:25 TimToady as a positional
17:27 duke_leto joined #perl6
17:27 duke_leto left #perl6
17:27 japhb OK, with any luck, I'm no subscribed.
17:27 japhb And now for my problem from last night:
17:27 japhb "japhb" at 76.191.190.8 pasted "Rakudo failure trying to run simplest OpenGL example" (20 lines, 1.5K) at http://sial.org/pbot/35337
17:28 Tene joined #perl6
17:28 japhb pmichaud: How do I even get started figuring out what went wrong there?
17:29 pmichaud since the error came from 'is_type', the problem is something to do with the class itself.
17:29 Tene pmichaud: any thoughts on what's involved in getthing this to work: my &foo = infix:</>; ?
17:29 Tene &infix:</>, even
17:30 pmichaud Tene: I need to do some odd patches to the grammar and parser to get that to work.
17:30 pmichaud Tene: i.e., to be able to translate the infix:</> form into PCT's   "infix:/" form.
17:30 japhb pmichaud: but there's no OO in that code at all.
17:30 Tene But not part of any specific planned work, and doesn't rely on any other work, as far as you know?
17:31 pmichaud Tene: there's two parts
17:31 japhb Closest I can see is calling subs with full package names
17:31 pmichaud Tene: part 1 is just patching something into Rakudo to get it to work
17:31 pmichaud that part is temporary
17:31 pmichaud part 2 is updating PGE and the parser to recognize protoregexes and (perhaps) LTM
17:31 pmichaud that's the _real_ answer to the problem.
17:31 pmichaud it does depend on some parser improvements, at any rate.
17:33 pmichaud japhb: where does OpenGL.pm (or its equivalent) live?
17:33 japhb runtime/parrot/library
17:33 japhb pmichaud: that's why I had to cd to that directory and run the command with all of those ../../
17:34 japhb Because otherwise rakudo complains that it's not in @INC
17:34 pmichaud japhb: I think Rakudo isn't recognizing OpenGL as a valid symbol.  (more)
17:34 japhb hmmm
17:34 pmichaud it used to be that Rakudo would treat any identifier beginning with an uppercase letter as a typename
17:35 pmichaud but we've since fixed that so that it looks directly for the associated type
17:35 pmichaud that's what "is_type" does.
17:35 japhb ah
17:35 pmichaud and in the "is_type" routine we have now, it's asking for a property and complaining about the null PMC that gets returned.
17:35 japhb So how do I register a PIR library to Rakudo?
17:35 pmichaud we don't have a good way to do that yet -- I'm working on that.
17:35 japhb (sorry if that question was ahead of your explanation)
17:35 japhb Oh, OK.
17:36 pmichaud it's most likely going to be     use OpenGL:from<parrot>;
17:36 masak mberends: http://gist.github.com/73914
17:36 pmichaud where the :from<parrot> will be the clue that we need to import some symbols from the library.
17:36 japhb Well, I just got confirmation from the MLM that I'm subscribed to p6*, so please either ping me here, or send an email to one of those when that works, because I'm very interested in getting started with the Perl6 OpenGL code
17:36 japhb pmichaud: makes total sense.
17:37 japhb This is pretty much by blocking feature.  ;-)
17:38 Tene Yes, "can load the OpenGL library" would be  ablocker for using OpenGL. ;)
17:38 mberends masak++ # proto update works, including dependencies
17:38 masak mberends: I was surprised too! :)
17:39 masak we need tests, though. like, really soon.
17:39 DemoFreak joined #perl6
17:39 masak need to factor out and mock the file system.
17:39 japhb Earlier someone was complaining about there not being enough Perl 6 code written ... I can help fix that, but it's a bit less fun if the very first operation is guaranteed to fail.
17:39 * masak goes swimming
17:40 pmichaud japhb: well, writing Perl 6 code is one thing.  Being able to connect to non-Perl6 libraries still needs some work.
17:40 * japhb heads off to prepare for $day_job.conference_call()
17:41 eric256 joined #perl6
17:41 japhb pmichaud: nodnod.  I was merely attempting to provide the mildly ungentle pressure that you have said can shift Rakudo priorities.  :-)  And FWIW, before the typename hack was "unbroken", I was at least able to do a little OpenGL work (I was running into other bugs, but at least I could hack a bit)
17:41 japhb Anyway, AFK for real
17:42 pmichaud japhb: noted, I'll see what I can do for the external library support.
17:42 pmichaud (and yes, the pressure helps.)
17:46 schmalbe joined #perl6
17:52 Ariens_Hyperion joined #perl6
17:55 ejs joined #perl6
17:58 * eric256 is amazed how fast the months flow by
17:59 eric256 rakudo.org remodel++
18:00 eric256 although it wont let me login or create an account to make comments
18:01 szabgab joined #perl6
18:03 skids pmichaud: he never did answer, did he?  It's like pulling teeth :-)
18:05 moritz_ rakudo: grammar A { token TOP { \w+ {*} } }; class B { method TOP(*@foo) { make "bla" } }; say A.parse('foo', :action(B.new));
18:05 TimToady I think we're going to need to clean up the various specced bits that attach extra semantic baggage to item context
18:05 p6eval rakudo 33ddc7: OUTPUT«Method 'result_object' not found for invocant of class 'Failure'␤current instr.: 'make' pc 19731 (src/builtins/match.pir:39)␤»
18:05 TimToady an object in item context should never be anything other than itself
18:06 TimToady this includes Match and Capture objects
18:07 TimToady and attaching result objects to Matches as an invocant is a mistake
18:08 TimToady if there's an invocant, it's just the first positional, specially marked
18:09 ilogger2 joined #perl6
18:10 Psyche^ joined #perl6
18:21 justatheory joined #perl6
18:34 tuxdna_ joined #perl6
18:45 mikehh joined #perl6
18:53 Ariens_Hyperion joined #perl6
18:58 protorom joined #perl6
18:59 protorom left #perl6
19:04 rodi joined #perl6
19:05 zamolxes joined #perl6
19:08 mberends_ joined #perl6
19:16 frioux rakudo: my $f = 1; given ($f) { when (1) { say 'frew'; } }
19:16 p6eval rakudo 33ddc7: OUTPUT«frew␤»
19:16 frioux rakudo: my $f = 1; given $f { when 1 { say 'frew'; } }
19:16 p6eval rakudo 33ddc7: OUTPUT«frew␤»
19:18 * frioux pines for perl6 at work
19:18 PerlJam frioux: so start using it
19:19 PerlJam (that's what I'm planning on doing)
19:19 frioux I will for one off things
19:19 frioux but I kinda need database access
19:19 PerlJam well, not only planning.   That's what I'm doing on small things where I can.
19:19 frioux yeah
19:20 frioux but I mostly do web dev
19:20 frioux so like, yeah I can do some sysadmin stuff, but that's not what I do really
19:21 pugs_svn r25685 | lwall++ | Simplify meaning of Capture and Match in item context to preserve sanity
19:21 pugs_svn r25685 | lwall++ |     (an object in item context is always just itself, never a subpart)
19:21 pugs_svn r25685 | lwall++ | Result objects now come though $/{''}, although they may still be created with
19:21 pugs_svn r25685 | lwall++ |     'make' and accessed with $().  (This is already how STD works, btw.)
19:21 pugs_svn r25685 | lwall++ | The invocant (if any) of a Capture is now always considered 1st positional.
19:21 pugs_svn r25685 | lwall++ | Clarify that foo(|$capture) delays choice of dispatcher
19:21 pugs_svn r25685 | lwall++ | ruoso++ for forcing me to rethink all this
19:26 pugs_svn r25686 | lwall++ | [STD] clobber .text and .item in line with new capture notions
19:36 ZuLuuuuuu left #perl6
19:38 c9s_ joined #perl6
19:52 jan_ joined #perl6
19:53 Unf99 joined #perl6
19:53 pugs_svn r25687 | moritz++ | [docs] added perl6-projects.org
20:00 TimToady phone
20:05 oskie It works!
20:07 Matt-W pmichaud++
20:12 Matt-W rakudo: enum EN<a b c>; sub foo { EN::a; }; say "alive";
20:12 p6eval rakudo 33ddc7: OUTPUT«alive␤»
20:12 Matt-W rakudo: enum EN<a b c>; sub foo { EN::a; }; say "alive"; foo;
20:12 p6eval rakudo 33ddc7: OUTPUT«alive␤»
20:12 Matt-W rakudo: sub foo { EN::a; }; say "alive";
20:12 p6eval rakudo 33ddc7: OUTPUT«alive␤»
20:12 moritz_ rakudo: enum EN<a b c>; sub foo { EN::a; }; say foo
20:12 p6eval rakudo 33ddc7: OUTPUT«0␤»
20:12 Matt-W rakudo: sub foo { EN::a; }; say "alive"; foo;
20:12 p6eval rakudo 33ddc7: OUTPUT«alive␤Null PMC access in invoke()␤current instr.: 'foo' pc 130 (EVAL_17:62)␤»
20:12 Matt-W there you go
20:12 moritz_ Matt-W: submit!
20:13 Matt-W I think that's actually two bugs
20:15 moritz_ why?
20:16 Matt-W if foo's body is never executed, then it never notices that I tried to use something that doesn't exist
20:16 Matt-W or is that expected behaviour
20:16 moritz_ well, you do execute foo.
20:17 Matt-W rakudo: sub foo { EN::a; }; say "alive";
20:17 p6eval rakudo 33ddc7: OUTPUT«alive␤»
20:17 Matt-W not there I didn't
20:17 moritz_ that's OK
20:17 Matt-W okay
20:17 Matt-W I cna never remember the bug address
20:17 moritz_ full qualified sub names don't need to be pre-declared, I think
20:17 moritz_ rakudobug@perl.org
20:18 Matt-W is EN::a the appropriate way to access an enum member
20:18 moritz_ it is
20:18 moritz_ just like Bool::True
20:18 moritz_ when there's no ambiguty you can also use the short name (a or True)
20:19 Matt-W but if there is it just silently hides the enum?
20:19 Matt-W bug sent
20:19 moritz_ if there is, it's a compile-time error I think
20:20 Matt-W ick
20:20 Matt-W rakudo: enum EN<a b c>; sub a { 1; }
20:20 p6eval rakudo 33ddc7: RESULT«{ ... }»
20:21 moritz_ rakudo: enum EN<a b c>; sub a { 1; }; say a;
20:21 p6eval rakudo 33ddc7: OUTPUT«0␤»
20:21 moritz_ rakudo: enum EN<a b c>; sub a { 1; }; say b;
20:21 p6eval rakudo 33ddc7: OUTPUT«1␤»
20:21 moritz_ so it picks the enum over the sub
20:22 moritz_ don't think it's correct
20:22 moritz_ but not sure
20:22 Matt-W I would expect it to pick the sub, because the enum's got a more qualified name available
20:22 moritz_ good point
20:23 moritz_ I'm looking for a nice design for perl6-projects.org
20:23 moritz_ It shouldn't waste too much space on navigation, because I don't think there will be any
20:23 Matt-W I'm not good with web designs
20:24 Matt-W I'm bad at using other people's, bad at writing my own, but I'm good at criticising ones other people have done
20:24 moritz_ ;)
20:24 rodi moritz_: can you briefly describe what will be on the site?
20:24 moritz_ I'm hoping with more than 100 people in the channel that *somebody* is good, or at least has a recommendation ;-)
20:25 moritz_ rodi: basically one page with short link lists, diveded into cathegories
20:25 moritz_ s/th/t/
20:27 moritz_ it's supposed to be something that you link to when you want to say "here you can find all Perl 6 projects"
20:30 rodi moritz_: makes sense- you thinking of doing it wiki-style, or something a little more conservatively managed?
20:31 moritz_ rodi: it's a plain HTML page (+ optional css) in a subversion repository
20:36 rodi moritz_: at risk of sounding like a rogue project manager, any thought of redirecting that domain to a page on the Perl 6 wiki for the short-term, at least?
20:38 moritz_ rodi: I won't, because working short term solutions turn into long term solutions :/
20:38 moritz_ and I haven't really advertised the page (just announced that it'll exist some day), so no  need to produce something shiny in short term
20:39 [particle]2 joined #perl6
20:39 moritz_ http://www.opendesigns.org/preview/?template=15 maybe something like the upper half of that template?
20:41 moritz_ perhaps with less striking background colors
20:42 japhb joined #perl6
20:42 alester moritz_: What are you using as your CMS?
20:42 rodi It's pretty # /me isn't even good at criticising designs ;)
20:43 moritz_ alester: svn ;-)
20:43 rodi moritz_: vi, or emacs ;_)
20:43 moritz_ vim then ;-)
20:45 moritz_ the one thing I don't like about that design is that it's pixel based
20:53 alester moritz_: Have you thought about doing it in a CMS like Drupal?
20:53 moritz_ alester: too much hassle to set up and maintain
20:53 moritz_ IMHO
20:54 moritz_ and I don't even want to activate PHP or Perl on that server for the moement
20:54 alester moritz_: What if I let you do it under the rakudo.org install?
20:54 alester just vhost it
20:54 moritz_ hm, I have to think about that
20:56 alester If ya want.
20:56 alester maybe after you post some stuff on rakudo.org, get a feel for it, you'll have a better idea.
20:56 alester I'm no cheerleader.  I jsut figure the more time I spend writiting and the less time worrying about a web page, the better.
20:57 [particle]1 alester: do i have a rakudo.org account?
20:57 alester Did you get an email?
20:57 alester I don't think I set it up for you.
20:57 [particle]1 not to the best of my recollection
20:57 alester but it's trivial.
20:58 alester user name?  email address?
20:58 alester you can be "Jerry Gay" instead of "particle" if you want.
20:59 Tene Can I be "Jerry Gay"?
20:59 alester No.
20:59 Tene Man, you don't let me be anyone.
20:59 rodi Tene: you can be rodi.
20:59 alester You can be yourself.
20:59 alester I love you just the way you are.
20:59 alester It's you I like.
20:59 alester It's not the clothes you wear.
20:59 alester It's not the way you do your hair,
20:59 alester but it's you I like.
21:01 alester oh, particle....
21:08 literal is there a list somewhere (online or in one of your heads) of some Perl 5 modules that would be useful to port to Perl 6?
21:08 alester look in the ext directory for pugs
21:08 alester look at the Perl 5 core list
21:09 moritz_ literal: it might be a good thing to start such a list as a wiki page
21:09 moritz_ I'd happily contribute some ideas ;-)
21:09 alester so start it.
21:09 literal does Perl 6 or Rakudo have an "official" wiki?
21:10 literal the only thing I can think of is the TPF one
21:10 alester probably start with the Rakudo one on github for now.
21:10 alester since that's where we're doing dev work.
21:10 skids http://www.perlfoundation.org/perl6/index.cgi
21:10 alester http://wiki.github.com/rakudo/rakudo/steps-to-create-a-patch
21:10 literal no, I mean a wiki to put such information, not wiki software
21:12 alester yes, I know
21:12 alester http://wiki.github.com/rakudo/rakudo/perl-5-modules-to-port-to-perl-6
21:14 alester reload http://wiki.github.com/rakudo/rakudo/perl-5-modules-to-port-to-perl-6 for the link to the pugs repo
21:14 literal oh, I didn't know github had wikis
21:16 literal hm, isn't Rakudo IO too lacking to implement the File:: modules listed there?
21:17 moritz_ perhaps
21:18 moritz_ but a not-so-safe File::Temp could already be done
21:18 moritz_ and then later augmented with concurrency safe implementation
21:19 literal I might make a go at Term::ANSIColor
21:29 pugs_svn r25688 | moritz++ | [docs] some meta stuff, add style
21:30 pugs_svn r25689 | moritz++ | [docs] more meta stuff
21:31 eric256 wow, cool to see perl6 functions implemented in perl6
21:33 _jaldhar joined #perl6
21:34 jaldhar To read from STDIN if an argument is not given to the program, this should work shouldn't it?
21:34 jaldhar my $file = open( @*ARGS[0] ) // $*IN;
21:35 Ariens_Hyperion joined #perl6
21:35 jaldhar only on rakudo 14 it doesn't
21:36 jaldhar it says
21:36 jaldhar Use of uninitialized value
21:36 jaldhar Unable to open filehandle
21:36 jaldhar if you try and read from STDIN
21:38 moritz_ jaldhar: it looks like there's a bug somewhere, but I'm not sure yet where
21:39 jaldhar moritz_: in my code or in rakudo?
21:39 moritz_ jaldhar: in rakudo
21:39 moritz_ as a workaround this does the trick: my $file = @*ARGS ?? open(@*ARGS[0]) !! $*IN
21:40 jaldhar ah I see.  ok will use the workaround for now
21:44 eric256 rakudo: open(@*ARGS[0]).perl
21:44 p6eval rakudo 33ddc7: OUTPUT«Use of uninitialized value␤Unable to open filehandle␤current instr.: 'open' pc 3605 (src/classes/Positional.pir:100)␤»
21:44 moritz_ a failed open() seems to throw an exception atm
21:44 moritz_ don't think that's specced this way
21:45 moritz_ http://perl6-projects.org/ has a very simple CSS now. Feedback welcome.
21:45 eric256 i dunno, fatal open sounds nice ;) better error would be good, "Failed to open 'undef': invalid file name" or something
21:45 literal can things be exported in rakudo?
21:45 moritz_ eric256: it should probably fail(), which is an exception under 'use fatal;'
21:46 eric256 ahh cool
21:46 literal i.e. for modules with a functional interface
21:47 moritz_ Date:   Sun Mar 1 20:42:14 2009 -0600
21:47 moritz_ Initial version of importing setting exports into global namespace. Has a few problems dealing with multimethods -- will get jnthn++ to help.
21:47 moritz_ so "maybe a bit"
21:49 literal hm, where do I read up on how it works?
21:49 literal I heard "is export" was gone, or is that not true?
21:50 moritz_ S10 or S11 I think
21:51 literal ok
21:53 Ariens_Hyperion thare are four Perl6 implementationg already?
21:54 literal more than that, I think...
21:54 Ariens_Hyperion are we heading for conditional compilation madness?
21:54 literal no, they all target the same specification
21:54 rodi Ariens_Hyperion: yeah, just plain old madness.
21:54 Ariens_Hyperion I hope so
21:54 literal that's what makes them "Perl 6"
22:04 rodi anyone here played around with src/setting/* in rakudo yet?
22:04 literal http://sial.org/pbot/35345 # shouldn't this work?
22:05 pmichaud correct, open should not die by default.  Fixing.
22:06 moritz_ rodi: I implemented some of the methods there
22:06 pmichaud I plan to be moving lots of methods to setting today+tomorrow
22:06 pmichaud that will give us a lot more examples to work from.
22:06 wayland76 joined #perl6
22:06 moritz_ literal: I think it should
22:07 pmichaud Rakudo knows how to parse "is export" and place it in the namespace, it doesn't do importing into local lexical table yet.
22:07 eric256 so does it compile those .pm files?
22:07 eric256 the settings ones ;)
22:07 pmichaud yes, it compiles the .pm files
22:07 pugs_svn r25690 | putter++ | [elfparse] Additional EXPR porting and support (all untested).
22:07 rodi moritz_, pmichaud: cool, I may wait another day to dive in, if there are going to be a few more examples soon...
22:07 pmichaud it first concatenates them into one big .pm file, then converts it to .pir, then recompiles perl6.pbc with the additional .pir file
22:07 literal pmichaud: can I work around it somehow? aliasing maybe?
22:09 pmichaud literal:  perhaps    my &foo := &TERM::ANSIColor::EXPORT::DEFAULT::foo;
22:09 pmichaud I'm not entirely sure that works yet, though.
22:09 moritz_ the simplest workaround is not to declare a package in the module
22:09 pmichaud getting import to work is very high on my priority list right now.
22:09 moritz_ like Test.pm does it
22:09 pmichaud importing into a lexical scope is a bit challenging in Parrot at th emoment.
22:10 moritz_ pmichaud: don't know if you noticed, make() doesn't work on action methods in Rakudo yet
22:11 pmichaud moritz_: wouldn't surprise me too much.  There are some issues surrounding item context on Match objects.
22:11 pmichaud let's just say that Pugs r25685 is going to cause a lot of internal changes to PGE, PCT, and Rakudo.
22:11 pmichaud (necessary changes, but big ones)
22:12 moritz_ rakudo: class A { token TOP { \w+ } }; class B { method TOP($f) { make $f x 2 } }; say A.parse('foo', :action(B.new));
22:12 p6eval rakudo 33ddc7: OUTPUT«Could not locate a method 'parse' to invoke on class 'A'.␤current instr.: 'die' pc 16351 (src/builtins/control.pir:204)␤»
22:12 moritz_ rakudo: grammar A { token TOP { \w+ } }; class B { method TOP($f) { make $f x 2 } }; say A.parse('foo', :action(B.new));
22:12 p6eval rakudo 33ddc7: OUTPUT«foo␤»
22:12 pmichaud moritz_: oh.  You didn't give the method a $/
22:12 pmichaud make operates on $/
22:12 pmichaud (perhaps it operates on contextual $/ -- if so, we don't have that yet.)
22:12 moritz_ rakudo: grammar A { token TOP { \w+ } }; class B { method TOP($/) { $/.make("foo") } }; say A.parse('foo', :action(B.new));
22:13 p6eval rakudo 33ddc7: OUTPUT«foo␤»
22:13 moritz_ rakudo: grammar A { token TOP { \w+ } }; class B { method TOP($/) { $/.make("foo") } }; say A.parse('bar', :action(B.new));
22:13 literal moritz_: where' the Test.pm that Rakudo uses?
22:13 p6eval rakudo 33ddc7: OUTPUT«bar␤»
22:13 moritz_ literal: in the rakudo repo
22:13 moritz_ literal: at top level
22:13 moritz_ pmichaud++
22:13 pmichaud literal: the key point is that Test.pm doesn't have a module or class name in it.  So all of its functions appear at the top-level scope.
22:14 literal yeah
22:14 literal sounds good enough, for now
22:14 pmichaud again, I'll work on import in the next day or so.  I might have to go with non-lexical import as an interim.
22:15 eric256 perl6
22:15 eric256 err wrong window ;(
22:20 skids pmichaud: who should I grill over on #parrot about the scheduler and stack handler as I try to wrap my head around it?
22:21 pmichaud skids: my guess would be allison.
22:21 skids thanks.
22:23 lisppaste3 joined #perl6
22:24 wknight8111 joined #perl6
22:26 pugs_svn r25691 | moritz++ | [t/spec] tests for action stubs in grammars
22:27 pugs_svn r25692 | moritz++ | [t/spec] set svn attribs, moritz-- for forgetting it in the first place
22:30 pugs_svn r25693 | lwall++ | clarify enum vs sub for moritz++
22:32 moritz_ TimToady++
22:35 TimToady pmichaud: .<*> is probably bad, since .{*} parses and means something else
22:35 TimToady maybe .<$> or some such, where .{$} would not compile
22:35 moritz_ isn't .<*> more like .{'*'}?
22:36 TimToady yes, we're trying for something other than a null key to hold the result object
22:36 TimToady pm suggested * on the phone call, but it occurred to me that it had a problem
22:36 moritz_ ah
22:37 moritz_ what about a simple, non-fancy accessor?
22:37 TimToady <?> <!> <+> <-> would all work
22:37 TimToady that would work too
22:37 TimToady but we still have to store it somewhere :)
22:37 TimToady next you'll be suggesting an ordinary object attribute :)
22:38 moritz_ that would be too esoteric, I guess ;-)
22:39 pmichaud I'm okay if we have a normal method call also, if it can be kept short.
22:39 TimToady but we'll be using it many times as we cons the tree, so it needs to be huffmanly
22:39 moritz_ .obj
22:39 TimToady .() remains a possibility, though perhaps there's unforeseen difficulty
22:39 pmichaud as I said in my reply to the call meeting notes (just sent), I'm only half-serious about the *, but hoping it sparks a good idea.
22:39 skids ._?
22:40 moritz_ ._... morse code ;-)
22:40 TimToady ._ is another I thought of, but it does semi-conflict with what the user might do, since it's alpha-ish
22:40 pmichaud and it's a little hard to see.
22:40 pmichaud and easy to miss.
22:40 TimToady that was my other quibble
22:41 TimToady $/<a>() ain't so bad
22:41 pmichaud $<bar>._
22:41 pmichaud I'm not so keen on overloading the function invoke syntax for some reason.
22:41 TimToady bothers me too, but at least it would shorten to $() nicely
22:42 pmichaud I don't see much value in the $() shortening.  and as mentioned in my reply,  $<*>   looks good for that (module the fact that it's a *)
22:42 pmichaud *modulo
22:42 diakopter .$_
22:42 TimToady speaking of modulo, I did consider $% for the OO value of $/
22:43 moritz_ that comes with a hash association that I don't like
22:43 pmichaud I have to go pick up kids' dinner, then take my son to soccer practice.
22:43 pmichaud I'll bbl and read scrollback.
22:43 TimToady as I said above the problem is if you misspell it ${*}
22:43 pmichaud I agree with the issue of ${*}
22:43 eric256 O/O = % .... cute lol
22:44 pugs_svn r25694 | moritz++ | [t/spec] tests for enum/sub name conflicts
22:44 pmichaud $<O>   # too close to zero
22:45 * [particle]1 wants the colon
22:45 TimToady $<:> isn't so bad
22:45 pmichaud make $<expr><:>
22:45 pmichaud or, more likely:    make $<expr><:>;
22:46 pmichaud at least in PCT's ast generation, we tend to do  $<expr>...mumble...   more than operator on $/ directly.
22:46 TimToady $</>
22:46 pmichaud s/operator/operate/
22:46 [particle]1 make dollar-less-than-e-x-p-r-greater-than-less-than-colon-greater-than-semicolon
22:47 pmichaud i.e., generally we're asking for the result object for a submatch, not the result object of the current match.
22:47 pmichaud gotta split.
22:47 dalek rakudo: 086b4ba | (Moritz Lenz)++ | t/spectest.data:
22:47 dalek rakudo: we pass action-stubs.t, add it to spectest.data
22:47 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/086b4ba8f5a217cbfe6c58cfdb670156f4866c8a
22:47 [particle]1 for some reason $</> looks like "gotta split" to me
22:47 TimToady $<.>
22:48 [particle]1 $<_>
22:48 moritz_ $<;-)>
22:48 TimToady that would be too confusing with the infix
22:48 [particle]1 $<=>
22:49 Tene What is it you're discussing an API for?
22:49 [particle]1 returning the result object from a Match
22:50 diakopter ./
22:50 rkendall joined #perl6
22:50 eric256 $<result> is no good i'm guessing ;)
22:50 * moritz_ still votes for $/.obj
22:50 [particle]1 rule result { ... }
22:51 eric256 show off
22:51 eric256 lol
22:51 diakopter $/_
22:52 TimToady _\|/_
22:52 diakopter beat me to it
22:52 diakopter ^/|\^
22:52 TimToady _\o/_  # help, I'm drowning
22:52 diakopter die_with_prejudice()
22:53 diakopter I like dollarslashdot
22:53 TimToady <o> wouldnt be so bad though
22:53 diakopter but that's matcher o?
22:54 TimToady yes
22:54 * diakopter redubs patterns matchmakers
22:55 diakopter "matchmaker matchmaker..."
22:55 diakopter (that's unlikely to be novel... sorry :P)
22:55 moritz_ make matches, not war
22:57 TimToady <?> is pretty easy to type
22:57 * diakopter looks for a unicode matchstick symbol
22:58 diakopter is </> taken?
22:58 TimToady no, but {/} doesn't guarantee an immediate parsefail
22:59 eric256 left #perl6
23:01 TimToady I think I'll go with <?> for now
23:02 [particle]1 <?>++
23:06 pugs_svn r25695 | lwall++ | tweak result object from {''} into {'?'}
23:07 TimToady now doubtless someone will write postfix:<?>
23:07 moritz_ really? ;-)
23:07 TimToady ?!?!?!
23:07 lambdabot Unknown command, try @list
23:08 TimToady try it your own self
23:08 diakopter std: ...
23:08 p6eval std 25694: OUTPUT«ok 00:02 34m␤»
23:08 diakopter std: ,,,
23:08 p6eval std 25694: OUTPUT«############# PARSE FAILED #############␤Can't understand next input--giving up at /tmp/SgIGruX4BG line 1:␤------> [32m[31m,,,[0m␤    expecting any of:␤  prefix or noun␤   statement end␤    statement list␤   whitespace␤FAILED 00:02 33m␤»
23:09 diakopter std: !!!
23:09 p6eval std 25694: OUTPUT«ok 00:02 34m␤»
23:09 diakopter std: ???
23:09 p6eval std 25694: OUTPUT«ok 00:02 34m␤»
23:09 TimToady std: !?!?!?!?!!!
23:09 p6eval std 25694: OUTPUT«############# PARSE FAILED #############␤Can't understand next input--giving up at /tmp/57eW4UT1TK line 0:␤------> [32m[31m[0m␤    expecting noun␤FAILED 00:02 35m␤»
23:10 TimToady hmm
23:10 rkendall alester: You should be able to allow people to create accounts on rakudo.org here: http://rakudo.org/admin/user/settings
23:10 TimToady std: !? !!!
23:10 p6eval std 25695: OUTPUT«############# PARSE FAILED #############␤Can't understand next input--giving up at /tmp/ovrisjQWvA line 0:␤------> [32m[31m[0m␤    expecting noun␤FAILED 00:02 35m␤»
23:10 alester ioh look I can!
23:10 TimToady std: !? ???
23:10 p6eval std 25695: OUTPUT«############# PARSE FAILED #############␤Can't understand next input--giving up at /tmp/WHYEVBXgiq line 0:␤------> [32m[31m[0m␤    expecting noun␤FAILED 00:02 35m␤»
23:11 TimToady std: !? ???()
23:11 p6eval std 25695: OUTPUT«ok 00:02 35m␤»
23:11 TimToady std: !? ???;
23:11 p6eval std 25695: OUTPUT«############# PARSE FAILED #############␤Can't understand next input--giving up at /tmp/uMQH08SVlK line 1:␤------> [32m!? ???[31m;[0m␤    expecting any of:␤      noun␤   prefix or meta-prefix␤      prefix_postfix_meta_operator␤     whitespace␤FAILED 00:02 35m␤»
23:11 alester rkendall: But what about default privs?
23:11 TimToady std: !? ...
23:11 p6eval std 25695: OUTPUT«ok 00:02 35m␤»
23:12 rkendall alester: You'll find that here: http://rakudo.org/admin/user/permissions
23:12 alester so "authenticated" is what they start out as?
23:12 diakopter TimToady: if viv encounters a string eval in a top-ish level, in which lexical scope do things declared in the string eval program live?  the scope of the eval call or a new/child scope?  and can they lift up?
23:13 diakopter erm, remove viv from that question
23:13 diakopter if Perl 6
23:13 pugs_svn r25696 | moritz++ | [t/spec] exercise bare "oh I feel so Haskell" sigils in signatures
23:13 rkendall alester: Yep, also, you can add extra 'roles' here: http://rakudo.org/admin/user/roles (for granting extended permissions)
23:13 alester yeah, I have two set up there: Author and Blogger
23:14 rkendall ...so just have to tick a few boxes
23:14 alester yeah workin' on it
23:17 rkendall also, I suspect the unwanted "Submitted by" lines are due to the various pages being created as the 'Story' content type
23:17 alester right
23:17 alester but I wanted people to be able to comment on the pages.
23:17 alester But maybe that's not good.
23:17 alester It doesn't seem that I can change a Story to a Page, can I?
23:19 rkendall no, they are stuck as 'Stories'
23:19 alester maybe I'll change 'em now while I can.
23:19 alester and it's not too painful./
23:20 alester can you create an account?
23:20 TimToady diakopter: the outside of the eval functions as the setting of the eval, so everything declared in the eval is in its own lexical scope
23:20 alester Be my guinea pig for that?
23:20 rkendall but you can disable the "Submitted by" anyway, just means it won't show on newsy items
23:20 rkendall Just did :-)
23:20 alester ok how
23:20 rkendall ..just a sec
23:21 alester oh I see
23:21 rkendall all the settings for the different content types are here: http://rakudo.org/admin/content/types
23:21 rkendall (guess you found it)
23:22 [particle]1 timtoady: does lift work across eval?
23:22 alester So do we want Story or Page?
23:22 alester I can see that "how to contribute" should be a page, but should it?
23:24 rkendall I'd use "Page" for pages that you put in the menu, and keep updated.  For news items that get listed on the front page, I'd use "Story" - these wouldn't normally get updated, so that's why the 'submitted info is useful
23:25 TimToady lift is unnecessary across eval
23:25 diakopter TimToady: ok, thanks. remind me (again?) the list of items that (eventually) should cause STD to pause parsing and "evaluate" up to that point...?
23:25 rkendall ...but you don't have to do it that way, cause you can change the behaviour (and name) of any of it
23:25 alester but then what do we want Blog Entry for?
23:25 alester It sounds like we don't.
23:26 alester If we put out a new release, it should be a Story, not a Blog Entry.
23:26 diakopter why is lift unnecessary?
23:26 rkendall most people have there own 'blogs' anyway, so I guess I agree
23:26 TimToady because it's already in that lexical scope, so would see the same set of operators
23:26 [particle]1 TimToady: sorry, i meant "will it work properly", and it sounds like "yes"
23:27 alester ok, that's what I'll do then.
23:27 TimToady BEGIN and true macros
23:27 alester I'm locking out Blog Entry, and anything Bloggy is really Story, and individual pages are Pages.
23:27 diakopter "backpedal"
23:28 rkendall just turn off the 'blog' module
23:28 TimToady constant folding, in a way
23:28 alester Can I do that, rkendall?
23:29 Limbic_Region joined #perl6
23:29 rkendall yes, but you may need to copy blog content into stories first
23:29 * diakopter bumps my q above to TT
23:29 TimToady bumped up or down or sideways?
23:30 diakopter in?
23:30 TimToady into where?
23:30 diakopter a new compilation unit?
23:31 diakopter a lazy one, even.
23:32 pmichaud would things like my use.perl journal posts go onto rakudo.org as blogs or stories?
23:32 TimToady there's nothing that forces "evaluation up to this point"; forced evals are always subisidiary scopes/exps
23:32 [particle]1 pmichaud: blogs, i suspect.
23:32 [particle]1 but, since you're lead developer, some may fit into stories.
23:32 rkendall you can agregate external blogs, so there would be no need to re-post
23:33 [particle]1 aggregate++
23:33 alester Blog on rakudo.org is going away.
23:33 alester What you would think of as Blog will go into Story.
23:33 pmichaud including things like use.perl posts?
23:33 pmichaud or do those simply not go onto rakudo.org ?
23:33 alester Hmm.
23:33 alester Hadn't thought of that.
23:33 alester like what?
23:34 diakopter TimToady: I guess I'm trying to force the issue of STD ever emitting partial ASTs
23:34 pmichaud best example I can think of is where I made the announcement asking people to help decide svn versus git
23:34 moritz_ (perl 5) how do I check if the input file of <> changed?
23:34 pmichaud that feels more like "blog post" than "story"
23:34 moritz_ I remember there was a neat trick, but I forgot how it worked :(
23:35 alester pmichaud: That still feels like story.
23:35 alester "We're looking for your input on svn vs. git.  Please let us know your thoughts."
23:35 alester I guesS "Blog" to me sounds like "a single person is saying it"
23:35 pmichaud how about jonathan's progress reports?
23:35 diakopter or even, some interpreter invoked by viv/STD returning an altered/augmented symbol tree to STD
23:35 rkendall the only real difference between blog and story is that 'blog' is personal
23:35 alester story
23:35 alester Yeah, and I don't think we want personal.
23:37 pmichaud anyway, gotta head off to soccer practice.  Back later.
23:37 diakopter just the basic string eval use case is what I'm getting at.  The interpreter needs to build the string and then callback to the parser for the AST of the string, with a possibly modified symbol table resulting from the string building.
23:38 diakopter .. (and of course do whatever else the program instructs up to the eval)
23:38 rkendall alsester: You could also add extra info here: http://rakudo.org/admin/settings/site-information (the 'mission' shows at the top on the front page only, and might be good for a breif summary/intro)
23:39 diakopter can STD serialize/marshal its state somewhere?
23:39 diakopter or does the interpreter need to interact directly with that state? or keep passing it back and forth?
23:41 TimToady the eval cannot modify its OUTER::
23:41 diakopter erm, did I miss something about .parse*
23:43 diakopter ok, that makes sense. but eval( "..."~eval("...").eval())
23:43 TimToady the parser never calls eval
23:45 TimToady not unless some AST it's running calls eval
23:45 diakopter ok.  newly declared/effected rules that have eval
23:46 TimToady eval parses a string that knows its end.  the parser doesn't deal in that, or it would be doing two-pass parsing, which is evil
23:46 TimToady the parser will have some way of executing AST however
23:47 TimToady or it can't define macros, or call BEGIN or use
23:47 TimToady or define enums properly for that matter
23:48 TimToady basically, declarations may need to run various bits of code
23:48 dalek rakudo: 412cbe9 | (Moritz Lenz)++ | t/spectest.data:
23:48 dalek rakudo: [t/spectest] add new S06-signature/positional.t
23:48 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/412cbe95b09fdb881b07e3c76075233ed79faffd
23:48 diakopter okay, that's what I was trying to ask earlier, macro application, BEGIN, enum, what other compilation unit end markers are there
23:48 TimToady those are not compilation unit end markes
23:48 TimToady markers
23:48 TimToady they do not force evaluation of everything-up-to-here
23:49 diakopter alright; the interpreter then needs to know in what order to evaluate the various blocks.
23:49 TimToady if use has to evaluate code for its arguments, it doesn't force evaluation of everyting before the use
23:50 diakopter so use always must be at the top level?
23:50 TimToady top level of what?
23:50 diakopter (or else what would be the point of including it inside some possibly unreachable block)
23:51 TimToady { use warnings; ...} what's so strange about that?
23:52 TimToady I think you must be using "eval" very differently from me
23:53 TimToady I never use "eval" to talk about the code the compiler is executing
23:53 diakopter but a use that adds in new rules whose efficacies are dependent on code evaluated in some argument
23:53 TimToady so don't apply anything I said to "eval" as talking about BEGIN semantics
23:53 diakopter then, the parser must pause
23:54 TimToady well, sure, it must pause, and that code can influence what language is being parsed, and mess with MY::
23:54 diakopter I was trying to use "eval" as string-eval() and "evaluat..." as compile/interpret/execute
23:55 TimToady but when you say "eval" I only use that word for run-time eval of a string
23:55 diakopter I was trying to use "eval" as string-eval().  I was trying to use "evaluat..." as compile/interpret/execute.
23:55 TimToady code that the compiler runs can basically do anything it wants, though we try to guide it away from error
23:56 TimToady the difference is that while the compiler is running there is a COMPILING:: scope that is being constructed.  there is no such thing while eval-string is running,since it's OUTER:: is already compiled
23:57 TimToady so anyway, I still don't know what you're asking...
23:57 diakopter ok; I think I'm following so far.  I'm trying to get at the mechanics of the callback interface between an interpreter and the parser...
23:58 diakopter using a "use something;" statement as a use case. pun intended, sort of.
23:59 TimToady use is a bit complicated, actually
23:59 TimToady take instead something like: my $a = BEGIN { 1 + 2 };

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

Perl 6 | Reference Documentation | Rakudo