pugscode.org/ planetsix.perl.org/ feather.perl6.nl/syn/ perlcabal.org/svn/pugs/log github.com/rakudo/rakudo | nopaste: sial.org/pbot/perl6 | evalbot: "perl6: say 3;" | irclog: irc.pugscode.org/ | Rakudo.org www.perlfoundation.org/perl6/index.cgi?smop perl.net.au/wiki/Elf |~300 days 'til Xmas Set by mncharity1 on 25 February 2009. |
|||
japhb | pmichaud: Where would one put example Perl 6 code into the Rakudo repo? And if not there, then where? | 00:00 | |
pmichaud | japhb: we're thinking it doesn't belong in the repo. eric256 has a perl6examples repository on github. | 00:01 | |
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". | ||
japhb | pmichaud: OK. | ||
pmichaud | I have a "perl6" account on github that could do it, or we could create a separate repository under the "rakudo" account. | ||
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 :) | ||
japhb | Seems like the two would have different purposes -- general perl6 examples v. examples that depend on Parrot being there under the covers. | ||
pmichaud | japhb: that's a reasonable distinction. | ||
TimToady: I missed the antecedent... what's probably not where because you didn't want it? | 00:04 | ||
Hash.push ? | |||
TimToady | ,= | ||
00:05
skids joined
|
|||
TimToady | basically they're just two different names for the same operation though | 00:05 | |
pmichaud | ah. | 00:06 | |
wayland76 | (backlogging) masak: Maybe insist on calling it Web.pm or something | ||
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? | ||
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 | |
the advantage to pugs is that it's easy to get people commit bits. | |||
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 > | ||
pmichaud | japhb: yes, that's why I squatted the name real quickly, so it could be reserved for that purpose. | ||
japhb | :-) | ||
TimToady | call it the Six Pistols or some such... | ||
pmichaud | my dog just looked at me funny (laughed too loud, I guess) | 00:10 | |
japhb | My cat ignored me. | ||
diakopter | bacek_: from yesterday, see github.com/casualjim/ironruby-mono-...ree/master for IronRuby on the DLR on mono... | ||
pmichaud | cat tend to do that. | ||
*cats | |||
diakopter | Matt-W: and see my msg above to bacek | ||
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. | ||
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);" | ||
japhb | $groundswell += $japhb; | ||
Mostly because using the Pugs repo for things other than the Pugs implementation has not felt "right" for quite a while. | 00:13 | ||
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. | ||
pmichaud | and cited that as a reason why Rakudo hasn't yet caught up to Pugs in terms of implementation. | ||
japhb | pmichaud: right. It's confusing, and inverts the mental model, with several things "outside" or "above" Pugs being stored "inside" | 00:15 | |
Come to think of it, is it even still true that Rakudo trails Pugs? | |||
pmichaud | Depends on the definition of "trails". | 00:16 | |
I think there's a good case to be had that Rakudo leads Pugs in most important respects these days. | |||
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. | ||
skids wants to know the secret to making cats ignore him. Always in lap, getting in way of typing. | 00:19 | ||
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. | ||
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. | ||
Pugs has long been viewed as a very open-access repository and a history (cultural) worth preserving (more) | |||
japhb | How so? When I ran out of free time, the Pugs repo was very easy to get access to, but the hosting sucked. | ||
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. | ||
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 | ||
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. | ||
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. | ||
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" | ||
TimToady | well, and I don't think the pugs impl vs pugs repo has been a real stumblingblock to anyone either | ||
pmichaud | so I think the spectests belong somewhere _other_ than the rakudo account. | ||
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?" | ||
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 | |
japhb: both the spec and spectests live in the pugs repo. | |||
TimToady | a slight barrier to entry, but anyone hanging out here gets straighted out very quickly | ||
yes, it's one of the reasons we moved the specs over to be with the tests | |||
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 | |
(checks out the spectests, that is) | |||
TimToady | and also so other people could hack on the specs, since it was obviously beyond me :) | ||
japhb | TimToady: that decision appears to have paid off handsomely ... | ||
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. | ||
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. | |||
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) | ||
TimToady | judging by the amount of traffic here and in #parrot | ||
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") | ||
lambdabot | Unknown command, try @list | ||
pmichaud | TimToady: the barrier we're having now is just initial unfamiliarity and lack of sufficient documentation/practice | ||
granted, that's a barrier. | 00:29 | ||
but I think Rakudo will overcome it soon, and my expectation is that we'll have something documented that others can follow | |||
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. | ||
TimToady | when there's sufficient documentation, the barrier becomes finding it :) | ||
SamB | git does have an *awful* lot of commands | ||
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. | ||
pmichaud: that's good to hear. | |||
pmichaud | and if rakudo.org doesn't do it, I can do something with github. And diakopter++ has offered to host something through WebGUI. | ||
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 | ||
My perception is that there have been a lot of well-meaning attempts to reboot the net presence, each of which didn't last. | |||
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. | ||
TimToady | in some ways, loosely connect blobs is more organic and scalable | ||
japhb | TimToady: granted. But it's hard to navigate within. | ||
skids | sub encourage_casual_contributions (@broken_down_task) { for @_ { unless .ask("can casual contributer do this").sort{.ease} { make_it_so_they_can } } } | ||
pmichaud | in general net presence often comes down not only to tuits, but to "who has the ability to make updates" | ||
SamB | but sometimes it's better to connect them a *little* less loosely | ||
pmichaud | so I'm pushing for rakudo.org to have a liberal commit policy. | ||
japhb | pmichaud: Why is our net presence any less radically trusting than our code repos? | 00:33 | |
pmichaud: good. | |||
TimToady | course, being named after an implementation, it's just the same problem as the pugs repo... | ||
pmichaud | TimToady: yes, I agree with that. | ||
japhb | Who owns perl6.org? | 00:34 | |
whois says Daniel Wright, but I don't know what nick that corresponds to ... | 00:35 | ||
pmichaud | me either. | ||
However, I have perlsix.org | |||
literal | nice webgui breakage there | 00:36 | |
skids | "perlsix" <-- a pure perl unix kernel :-) | ||
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. | ||
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. | ||
I'd even buy it and donate it to TPF. | 00:38 | ||
japhb | pmichaud++ | ||
SamB | TimToady: slightly ? | ||
TimToady | I think diakopter was in negotiation at one point, so check with him | ||
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 | ||
japhb | SamB: There seems to have been an attempt to put actual useful info links there. | ||
But they've now rotted ... | |||
TimToady | maybe we could perl.musuem for legacy Perl :P | 00:40 | |
*museum | |||
skids | Howcome these discussions always end up with the purchase of a domain name? | ||
TimToady | because it seems like progress :) | 00:41 | |
SamB | skids: ... because nobody had the forethought to buy one ? | ||
TimToady | kinda like the way managers in doubt always reorganize | ||
SamB | anyway rakudo.org isn't the place for it | ||
japhb | skids: I never understood why perl6.org wasn't already owned by TPF ... | ||
skids | rakudo.org can have subhosts. | ||
TimToady | they're the foundation, not the superstructure :) | ||
SamB | sends the wrong the message to have perl6.rakudo.org | ||
literal | skids: rakudo.perl6.org sounds better | ||
japhb | literal: nod | 00:42 | |
pmichaud | sure, but we don't own perl6.org, so it's somewhat moot. | ||
SamB | er. pardon the extra the. save it for a later sentence where I leave one out ;-P | ||
literal | contact the owner and make him an offer? | ||
:P | |||
TimToady | someone offered my $500 for wall.org the other day :) | ||
pmichaud | how much should I offer? | ||
literal | pmichaud: or start off by just asking him for it and saying it would help the Perl 6 effort | ||
TimToady | I turned them down, of course... | 00:43 | |
literal | s/he might be willing to give it away | ||
pmichaud | I can do that, but I suspect diakopter++ has already made that effort. | ||
and I don't mind paying a reasonable price for it. | |||
literal | I'd chip in | ||
pmichaud | TimToady: I notice that wall.com is based here in the DFW area, too :-) | ||
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. | ||
pmichaud | japhb: I agree... but that's why I grabbed perlsix.org when I saw it was available. | ||
TimToady | perl-6.org maybe, though that reminds me of motels for some reason | ||
pmichaud | sorry, rakudoperl.org | ||
diakopter has perlsix.org | |||
I'm getting my ownerships confused :-( | |||
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 | ||
pmichaud | so, what's a reasonable price? | ||
literal | offer a couple of hundred dollars and see how s/he reacts? | 00:46 | |
pmichaud | the current registration is valid to 2011 | ||
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. | ||
I can make an offer for $200, yes. | |||
literal | pmichaud: which is probably under $50 | ||
unless he chose a really expensive registrar | |||
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" | ||
TimToady | and perl6.info goes to perl6.org | ||
pmichaud | perl6.com: Jason Duke | ||
perl6.info: same as perl6.org | 00:49 | ||
SamB | dwright.org/ | ||
TimToady | and perl6.pl goes to kuszelas.eu | ||
pmichaud | anyway, we know that there's going to be a fair amount of effort put into rakudo.org over the next few weeks | ||
literal | so, diakopter contacted the owner of perl6.org? what was the response? | 00:50 | |
TimToady | cagey, I believe | ||
japhb | SamB: It looks like he's given a couple Perl 5 talks, so clearly not a complete outsider. | ||
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. | ||
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. | ||
japhb: perl6.org isn't an option for us at the moment. | |||
japhb: we can inquire, but I'm pessimistic about our chances for success. | |||
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 :-) | ||
literal | diakopter: ok, but not .org? | ||
japhb | pmichaud: yes, I know, I meant, that's the optimal case. | ||
diakopter | yes, I've had conversations with him over the last 2 years | ||
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 | ||
japhb | skids: I know how to serve that. Now, actually making the videos ... not so much. | ||
pmichaud | oooh, perl6std.org ? :-) | ||
diakopter | I proposed exactly that for perlsix.org | 00:53 | |
japhb | pmichaud: nice thought | ||
wayland76 | Then, the individuals for each implementation only have to worry about 1) their own repo, and 2) the Spec repo | ||
pmichaud | sounds like something you might get while staying at the perl-6 motel. :-) | ||
TimToady | anybody know the Virgin Islands registrar? we could get perl.vi | ||
diakopter | yes, I asked the owner of perl6.com to point it to feather | ||
he said he'd point it wherever | |||
SamB | what nobody has talked to the .org owner ? | ||
wayland76 | maybe perl6spec.org | ||
pmichaud | apparently not. as I said, I'm willing to make an offer for perl6.org . | ||
diakopter | I IMed with the owner of perl6.org; he said he's hanging onto it for a while... | ||
pmichaud | ah, there we go. | 00:54 | |
literal | damn | ||
japhb | diakopter: ah, too bad. | ||
SamB | what does he want it for ? | ||
ad money? | |||
diakopter | but that he's open to listening to ideas for it | ||
pmichaud | it will undoubtedly gain value over time. | ||
diakopter | no he's part of (leads?) his PM group in Pittsburgh? | ||
if I recall correctly? | |||
Philadelphia? | |||
pmichaud | I have to help with son's homework -- bbl. | ||
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 | ||
japhb | heh, nice | ||
diakopter | wayland76: perlsix.org is available for that. I even have a wildcard SSL cert for it. | ||
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
|
|||
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. | ||
SamB | perlsix just doesn't ... well, it doesn't stick out like perl6 does | 00:57 | |
japhb | SamB: yes, I agree. | ||
skids | Maybe the perl6 owner would trade for perlsix? | ||
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 ? | ||
diakopter | (as does the perl6.com guy) | ||
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. | ||
diakopter | yeah.. | ||
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. | ||
japhb | I can't believe I'm actually thinking about domain name attacks. Sigh. | ||
pmichaud | I guess if perl6.org simply redirected to perlsix.org that'd be okay, though. | ||
diakopter | hrm, true. except we can have... yeah. | ||
SamB | but that still looks bad :-( | ||
diakopter | :P PerlSIX.ORG does that look better? ;) | 01:00 | |
or PerlsIX.org | |||
skip to 9? | |||
literal | perlXI.org | ||
er... | |||
TimToady | perl.vi is available :) | ||
literal | perlVI.org even | ||
japhb | It's all about the XI flow | ||
literal | TimToady: nice one | ||
araujo registers perlvi.org | 01:01 | ||
diakopter | heh | ||
think ahead... perlwhateverstar.org | 01:02 | ||
japhb | TimToady: I think you're biased as a vi user. ;-) | ||
TimToady doesn't mention perlsex | |||
diakopter is reminded of Black Perl | |||
japhb | BlackPerl6.org | ||
01:02
alc joined
|
|||
literal | TimToady: "sex" means 6 in my language, which is nice | 01:03 | |
diakopter | Perl110.org | ||
TimToady doesn't mention Perl666 either | 01:04 | ||
japhb | That would make an awesome video game | ||
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 :) | ||
skids | perl6th? | ||
wayland76 | And make the current perl website perl.museum :) | ||
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 | ||
wayland76 | How do I get a commit bit for rakudo.org? | ||
diakopter | anyone want [to use] that? | ||
drupal or git? | 01:08 | ||
literal | japhb: a Virgin Islands resident is needed to register perl.vi, otherwise you can only get .co.vi | ||
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 | ||
skids | Hrm. .th is Thailand | 01:09 | |
01:09
hercynium joined
|
|||
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:09 | |
diakopter | yes, I agree | 01:10 | |
japhb | damn, must go AFK for a bit ... will read back later. | ||
TimToady | I don't suppose we could get std.org from Severe Tire Damage... :) | ||
skids | Hrm. When did they add the .coop TLD? | 01:11 | |
TimToady | nobody has chicken.coop | 01:12 | |
diakopter | literal: it's not webgui "breakage"; it's just an ultra-stripped down theme. :P | ||
with debugging turned on | |||
ascent_ | skids: Now there will be much more TLDs, ICANN accepted that. You can even get .perl, if you have big bucks. | 01:13 | |
TimToady | onion6.org is available :) | 01:14 | |
diakopter | 6lrep.org | ||
gro.perl6 | 01:15 | ||
araujo | and if we get chicken.coop? | 01:16 | |
TimToady | freelancewebmarket.com/members/Virg...ds-(U.S.)/ | 01:18 | |
01:18
jan joined
|
|||
wayland76 | btw, question for alester: What's your objection to 6pan? | 01:20 | |
diakopter | virginislands.. www.pm.org/groups/perl_mongers.xml (inactive) | ||
TimToady | in theory, STD.pm is available too | 01:21 | |
wayland76 | Better get in now, as 6pan is mentioned in the draft S22 :) | ||
diakopter | it *was* taken when I checked | ||
erm | |||
TimToady | ooh, STD.pm.org might work :) | 01:24 | |
ascent_ | perlwiki.com is free :) | ||
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 | |
I like "usev6" the most | |||
TimToady | p6core.org is availalbe | 01:27 | |
s/lb/bl | |||
p6now, p6all, p6foo etc. | |||
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 | |
.Net 2.0, Mono 2.5 | |||
TimToady | p6.org has a squatter, dunno how much $$ is wanted | 01:35 | |
diakopter | see, I didn't even need to announce it. | ||
still unsure as to whether to use the DLR | 01:37 | ||
though I stole the yaml parser from IronRuby | |||
(the parser itself wasn't dependent on IronRuby itself at all) | 01:38 | ||
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??? | ||
diakopter | that's what she said? | ||
(sorry) | |||
literal | justatheory: evolution, is that you? | 01:40 | |
justatheory | āIn theory, yes.ā Sheesh. | ||
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 | |
(I can't see anyone's hands, hrm) | |||
does anyone here (other than jnthn, I already know of) work in .Net? | 01:44 | ||
s1n | diakopter: i did a handful of years ago | ||
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... | ||
diakopter | what was wrong with >== for reverse feed (list to block) | 01:49 | |
skids | It doesn't look like a teet, that's what. | 01:50 | |
01:50
eternaleye joined
|
|||
diakopter | it doesn't? | 01:50 | |
01:54
eternaleye_ joined,
aindilis joined
|
|||
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:ā¤------> sub infix:<-rated> {...}; $a R-rated $b; $a X-rated $bā¤ Variable $b is not predeclared at /tmp/MQFqCqkT8m line 1:ā¤------> sub infix:<-rated> {...}; $a R-rated $b; | ||
..... | |||
TimToady | ..... indeed | 01:57 | |
bacek_ | diakopter: Hey! It was my idea to implement Perl6-on-.NET! | 01:58 | |
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ā¤Ā» | ||
bacek_ | oh... | ||
diakopter | bacek_: well, I guess it depends on when you had the idea... | ||
bacek_ | diakopter: yesterday. | 02:00 | |
About 20 hours ago | |||
diakopter | yeah I know; TimToady mentioned it to me so I backlogged; I replied above (mentioned IronRuby on mono builds) | ||
bacek_ | std: sub prefix:<:-(> { ... }; open("file.txt") or :-( "no way" | 02:01 | |
p6eval | std 25667: OUTPUTĀ«ok 00:04 38mā¤Ā» | ||
bacek_ | diakopter: Yeah, I'll take a look on IronRuby | 02:02 | |
diakopter | bacek_: why'd you think of using .Net? | 02:03 | |
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:06 | ||
well, I guess not *source*-translate | 02:07 | ||
since it's getting the AST from STD/viv | |||
bacek_ | diakopter: (using .Net) Just for fun. | 02:11 | |
diakopter | that was largely my reason, too. also, for my own learning. | ||
(where learning is fun also) | 02:12 | ||
bacek_ | And I actually thinks about implementing parrot-byte-code on top of CIL. | ||
So I can use Rakudo :) | |||
diakopter | bacek_: well, jnthn's dissertation takes it the other direction.. | ||
bacek_ | diakopter: url? | 02:15 | |
lunch & | 02:16 | ||
02:16
nbrown joined
|
|||
diakopter | www.jnthn.net/vm/mydissertation.shtml | 02:16 | |
www.jnthn.net/papers/2006-cam-net2p...tation.pdf | 02:17 | ||
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 | 02:27 | ||
someone might be interested - NPEG on codeplex (MIT license)... packrat/peg, runtime extensible/swappable grammars supported. | 03:07 | ||
that'll do nicely for a regexp engine | |||
03:10
aindilis` joined
|
|||
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:13 | |
diakopter | more explanation? :? | 03:15 | |
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:20 | |
p5 regexes are nowhere close to good enough | 03:21 | ||
PGE is closer, but not there yet | |||
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:22 | ||
(Not to say it's babble, but that was pretty deep jargon :-) | 03:23 | ||
TimToady | plus all the other stuff that STD requires in order to do operator precedence parsing and good error messages | 03:24 | |
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" | ||
TimToady | where subgrammars can mix in and override those methods | ||
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:28 | ||
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. | ||
TimToady | yes, well, at some point your levels of indirection start looking a lot like STD.pmc | 03:30 | |
diakopter | heh | ||
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:33 | ||
gimmepeg | 03:34 | ||
03:36
lambdabot joined
|
|||
frooh | wayland76: you here? | 04:01 | |
meppl | good night | 04:02 | |
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 | ||
well, no one seems to be around for the most part, but maybe they'll see this later | 04:07 | ||
I am moving the s29 test folders to s32 | |||
not all of course | |||
but the ones that need to go there | |||
pugs_svn | r25668 | pmichaud++ | [t/spec]: Remove a spurious =begin END from pair.t | 04:08 | |
04:12
OuLouFu joined
|
|||
dalek | kudo: 55fb203 | pmichaud++ | src/parser/grammar.pg: Update pod_comment to handle =begin END, some pod errors (from STD.pm). |
04:13 | |
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:18 | |
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 | ||
wayland76 | Fine by me, I only hack the specs at the moment :) | 04:22 | |
frooh | k | ||
cool | |||
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:23 | ||
skids | There's already a containers.pod ?? do you mean go further and split to Array? | 04:26 | |
wayland76 | He's moving the spectests | ||
I'm not enough of a test expert at the moment to answer that | |||
frooh | I'll probably just change the numbers for now | ||
wayland76 | but I'd guess the right answer is to move S29-array to S32/Container/Arrat | 04:27 | |
s/Arrat/Array/ | |||
frooh | see, I'm down with that, but I'll do it in a different commit | ||
maybe? | |||
I just know that this will break everyone' | 04:28 | ||
s tests | |||
wayland76 | Although maybe some of the tests on array are supposed to be elsewhere :) | ||
yeah, I agree with separate commits :) | |||
frooh | that's true | ||
wayland76 | And you're right, you have to ensure that it still works | ||
Like I've been trying to get access to feather so that I can make the S32 HTML autogenerate | |||
But no luck so far | 04:29 | ||
frooh | really? | ||
huh | |||
diakopter | wayland76: you need a feather account? | ||
frooh | I figured it would be easy to get access to feather | ||
wayland76 | diakopter: Yes. I tried e-mailing Juerd, but no response | ||
maye I have the wrong e-mail address | |||
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 | ||
diakopter | he's not on irc at the moment it seems | ||
pugs_svn | r25669 | frew++ | [t] moving S29-array to S32-array | ||
diakopter | oh wait, yes he is | ||
msg Juerd | |||
wayland76 | ok | 04:31 | |
diakopter | but you should be able to get the S32 html to autogenerate by modifying smartlinks.pl in svn | ||
wayland76 | Yah, I know | 04:32 | |
It creates the directory, but doesn't put anything there | |||
pugs_svn | r25670 | frew++ | [t] moving S29-trig to S32-trig | ||
wayland76 | And I don't know how to debug it | ||
pugs_svn | r25671 | frew++ | [t] moving S29-container to S32-container | 04:33 | |
wayland76 | (without feather access anyway) | ||
diakopter | oh... | 04:34 | |
well, let me know if he doesn't reply | |||
several of us around here have sudo ALL on feather | 04:35 | ||
pugs_svn | r25672 | frew++ | [t] moving S29-hash to S32-hash | ||
diakopter | feather1, that is | ||
pugs_svn | r25673 | frew++ | [t] moving S29-list to S32-list | 04:36 | |
04:36
Kimtaro joined
|
|||
frooh loves having vi keybindings in the shell | 04:36 | ||
pugs_svn | r25674 | frew++ | [t] moving S29-num to S32-num | 04:37 | |
skids mumbles something about "damn vi users" :-) | |||
frooh | haha | ||
skids: what do you prefer? | 04:38 | ||
skids | I'm an emacs junkie. | ||
Addicted to C-u-N C-x-e | |||
frooh | I have yet to actually meet an emacs person in real life | ||
I think you are all just irc bots | 04:39 | ||
;-) | |||
skids | My programmer didn't give me a response to that. | 04:40 | |
frooh | excellent. | ||
although, emacs bindings are more common on the console right? like C-u to clear is emacs-y right? | 04:41 | ||
pugs_svn | r25675 | frew++ | [t] moving S29-scalar to S32-scalar | 04:42 | |
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. | ||
frooh | skids: haha, I gave up on getting bindings working in FF etc | 04:44 | |
if something is serious enough for editing I just use some plugin in It's All Text | |||
skids | s/15/1.5/ Interestingly, a lot of vendor equipment has sh or even emacs bindings. e.g. cisco switches. | ||
frooh | well in linux C-u works in all kinds of things, even gui | 04:45 | |
if I ever mistype a password C-u is the way to go | |||
skids | I get very irritable if I can't CTRL-k away the tail of a URL. | ||
frooh | hahahah | ||
yeah, it doesn't work here | |||
well, in irssi it does | 04:46 | ||
but not gtk or firefox | |||
pugs_svn | r25677 | frew++ | [t] moving S29-time to S32-temporal | 04:48 | |
frooh | what exactly are the L<S29/"Array"/=item delete> things supposed to be? | 04:51 | |
should I change it to something like L<S32/Containers/"Array"/=item delete>? | 04:52 | ||
thoughts? | |||
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:56 | |
frooh | agreed | ||
I am more asking about the pod stuff | 04:57 | ||
because array is in Containers.pm now... | |||
er, .pod | |||
skids | Yeah I don't know what those strings are used for sorry. | 04:58 | |
frooh | it's alright | 04:59 | |
I looked through the pod doc for perl6 | |||
I hate to say it, but I really wish we used something a little more standard... | 05:00 | ||
although I guess pod is kinda standard | |||
it's just weird to me | |||
skids | I like having the docs right there in the code, and I like that they have only the occasional <> eyesores. | 05:01 | |
skids yawns. | 05:02 | ||
frooh | yeah, I guess | ||
rakudo: my @a = 1,2,3; @a ,= 4,5; | |||
skids | Time to collapse. | ||
p6eval | rakudo 55fb20: OUTPUTĀ«get_iter() not implemented in class 'Integer'ā¤current instr.: 'prefix:=' pc 20533 (src/builtins/misc.pir:17)ā¤Ā» | ||
frooh | night | ||
rakudo: my @a = (1,2,3); @a ,= (4,5); | |||
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
|
|||
skids | rakudo isn;t understanding ,= it thinks = is a unary. | 05:03 | |
good night | |||
frooh | yeah | ||
I jsut wanted to try | |||
05:09
justatheory joined
|
|||
pugs_svn | r25678 | frew++ | [t] fixed pod locations for S32-array | 05:11 | |
06:13
nihiliad joined
06:14
Tene joined
|
|||
japhb | nopaste? | 06:22 | |
wayland76 | There's one somewhere | 06:23 | |
sial.org/pbot/perl6 | 06:24 | ||
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 | ||
japhb | wayland76: oddly, that pastebot doesn't have #perl6 in its channel list ... I wonder if needs to be reinvited? | ||
wayland76 | Hmm. Well, I have no control over it, sorry. And obviously not everyone's asleep | ||
TimToady | could be, do you know the incantation? | ||
japhb | I'm guessing '/invite pasteling #perl6' ... but you need chanop to do it. | 06:26 | |
... and I no longer have that, I guess. | |||
06:26
TimToady sets mode: +o japhb,
pasteling joined
|
|||
wayland76 | TimToady: Quick question. S12 says "The C<.^methods> method returns method-descriptors containing..." | 06:27 | |
japhb | That's promising | ||
06:27
pmurias joined
|
|||
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 sial.org/pbot/35337 | ||
wayland76 | Does that mean that we have a MethodDescriptors role? | ||
japhb | wheee | ||
wayland76 | Or is it an array of Routine? | ||
(sorry, Array of Method) | |||
japhb++ , TimToady++ :) | 06:28 | ||
TimToady | that's one of the things I was gonna let the implementors flesh out | ||
wayland76 | Ok :). Because we're wondering about it in S32/Callable :) | ||
TimToady | feel free to speculate and label it so :) | 06:29 | |
wayland76 | (on p6l) | ||
Ok, will do :) | |||
TimToady | just keep it as simple as possible, but no simpler... | ||
wayland76 | Will try to do that too :) Anyway, I'm late :) & | ||
(will backlog) | 06:30 | ||
TimToady | ciao | ||
japhb | Is there anyone other than pmichaud and jnthn that hack Rakudo regularly? | ||
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
|
|||
japhb | TimToady: OK, thanks | 06:33 | |
dukeleto | if you are interested in mentoring a student in the upcoming summer of code, please sign up at bit.ly/Hht5E | 06:48 | |
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 | ||
ewilhelm | wish I had rocket stilts last year | 06:52 | |
07:16
bhumphreys joined
|
|||
bacek_ | perl6: my @a; my Int $a=+@a; | 07:20 | |
p6eval | rakudo 55fb20: OUTPUTĀ«Type mismatch in assignment.ā¤current instr.: 'die' pc 16347 (src/builtins/control.pir:204)ā¤Ā» | 07:21 | |
..pugs: RESULTĀ«\0Ā» | |||
..elf 25678: RESULTĀ«0ā¤Ā» | |||
bacek_ | rakudo-- :/ | ||
07:22
pmichaud joined
|
|||
bacek_ | perl6: my @a; say (+@a).WHAT | 07:23 | |
p6eval | rakudo 55fb20: OUTPUTĀ«Numā¤Ā» | ||
..elf 25678, pugs: OUTPUTĀ«Intā¤Ā» | |||
bacek_ | is there spec for +@a return type? | 07:24 | |
perl6: say (+1).WHAT; say (+1.0).WHAT | 07:25 | ||
p6eval | pugs: OUTPUTĀ«Intā¤Ratā¤Ā» | ||
..elf 25678, rakudo 55fb20: OUTPUTĀ«Intā¤Numā¤Ā» | |||
bacek_ | pugs: my @a=(1..7); @a.splice(*-2, 2); say @a | 07:28 | |
p6eval | pugs: OUTPUTĀ«34567ā¤Ā» | ||
bacek_ | pugs: my @a=(1..7); @a.splice(@a-2, 2); say @a | 07:29 | |
p6eval | pugs: OUTPUTĀ«12345ā¤Ā» | ||
07:35
zamolxes joined
07:50
szabgab joined
08:08
miloux joined
|
|||
moritz_ | good morning | 08:16 | |
bacek_: I don't think it makes sense to return a Num | |||
bacek_ | moritz_: me either. So it returns Int in my version of rakudo :) | 08:17 | |
Matt-W | Morning | 08:19 | |
08:20
Khisanth joined
08:22
agentzh joined
08:45
xinming_ joined
|
|||
dalek | kudo: a2f5064 | (Moritz Lenz)++ | t/spectest.data: Track changed test file names by frew++ in t/spectest.data |
08:56 | |
pugs_svn | r25679 | moritz++ | [t/spec] add ticket number to fudge message | 08:58 | |
r25680 | moritz++ | [t/spec] unfudge a passing test | 09:07 | ||
09:18
M_o_C joined
|
|||
pugs_svn | r25681 | moritz++ | [t/spec] a bit more unfudging | 09:22 | |
09:23
mberends joined
09:26
ejs joined
09:29
DemoFreak joined
|
|||
pugs_svn | r25682 | moritz++ | [t/spec] more unfudges | 09:32 | |
moritz_ | rakudo: q:PIR {{ print "foo" }} | 09:40 | |
p6eval | rakudo a2f506: OUTPUTĀ«fooĀ» | ||
Matt-W | \o/ | 09:41 | |
moritz_ | rakudo: Q:PIR {{ print "foo" }} | 09:42 | |
p6eval | rakudo a2f506: OUTPUTĀ«fooĀ» | ||
09:42
cookys joined
|
|||
pugs_svn | r25683 | moritz++ | [t/spec] more unfudges for Rakudo | 09:53 | |
10:00
cotto joined
|
|||
bacek_ | moritz_: github.com/bacek/rakudo/commit/926b...7ef96bef9f | 10:15 | |
moritz_ | I don't understand this patch. | 10:17 | |
bacek_ | moritz_: it changes +@a to be Integer | 10:18 | |
But it broke some tests... Checking now | 10:19 | ||
moritz_ | then it's no good :/ | ||
does +"2.3" still does what it should after your patch? | |||
bacek_ | can't argue with it :) | ||
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. | ||
But then prefix:+ converti it to Num. | 10:22 | ||
perl6: say (+"1.01").WHAT | |||
p6eval | elf 25683, pugs, rakudo a2f506: OUTPUTĀ«Numā¤Ā» | ||
bacek_ | perl6: say (+"1").WHAT | ||
p6eval | pugs, rakudo a2f506: OUTPUTĀ«Numā¤Ā» | ||
..elf 25683: OUTPUTĀ«Permission denied at ./elf_h line 315.ā¤Ā» | |||
bacek_ | perl6: say (1+1).WHAT | ||
p6eval | elf 25683, pugs, rakudo a2f506: OUTPUTĀ«Intā¤Ā» | 10:23 | |
bacek_ | perl6: my @a; say (@a+1).WHAT | ||
moritz_ | perl6: my Int $i = +"3"; say $i | ||
p6eval | pugs, rakudo a2f506: OUTPUTĀ«Numā¤Ā» | ||
..elf 25683: OUTPUTĀ«Intā¤Ā» | |||
rakudo a2f506: OUTPUTĀ«Type mismatch in assignment.ā¤current instr.: 'die' pc 16347 (src/builtins/control.pir:204)ā¤Ā» | |||
..elf 25683, pugs: OUTPUTĀ«3ā¤Ā» | |||
moritz_ | elf: my Int $x = "foo" | 10:24 | |
p6eval | elf 25683: RESULTĀ«"foo"ā¤Ā» | ||
moritz_ | neither pugs nor elf do type checking, it seems | ||
(except perhaps for multi dispatch) | |||
bacek_ | moritz_: Yoda??? | ||
:) | |||
perl6: my Num $i=1; my @a=(1..3); @a.splice($i,1); say ~@a | 10:25 | ||
p6eval | elf 25683: OUTPUTĀ«13ā¤Ā» | 10:26 | |
..pugs, rakudo a2f506: OUTPUTĀ«1 3ā¤Ā» | |||
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ā¤Ā» | ||
..pugs: OUTPUTĀ«1 2ā¤Ā» | |||
..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
|
|||
bacek_ | rakudo: my @a; say (@a-1).WHAT | 10:28 | |
p6eval | rakudo a2f506: OUTPUTĀ«Numā¤Ā» | ||
bacek_ | very very strange... | ||
perl6: my Num $i=1; my @a=(1..3);my Num $b = @a-1; @a.splice($b,1); say ~@a | |||
p6eval | elf 25683: OUTPUTĀ«splice() offset past end of array at ./elf_h line 173.ā¤123ā¤Ā» | ||
..pugs: OUTPUTĀ«1 2ā¤Ā» | |||
..rakudo a2f506: OUTPUTĀ«No applicable candidates found to dispatch to for 'splice'ā¤current instr.: 'parrot;P6metaclass;dispatch' pc 320 (src/classes/ClassHOW.pir:161)ā¤Ā» | |||
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ā¤Ā» | ||
..elf 25683: OUTPUTĀ«12ā¤Ā» | |||
bacek_ | ouch... | ||
bacek_ summon masak | |||
10:45
mberends joined
11:01
riffraff joined
11:05
ruoso joined
|
|||
ruoso | Hello! | 11:08 | |
lambdabot | ruoso: You have 1 new message. '/msg lambdabot @messages' to read it. | ||
Matt-W | hi ruoso | 11:26 | |
ruoso | hi Matt-W | ||
11:57
jeremiah_ joined
11:58
jeremiah_ left
12:37
ejs joined
12:49
meppl joined
12:51
protorom joined
12:57
protorom left
13:04
ejs joined
13:30
ejs joined
13:40
masak joined
13:45
ashizawa joined
13:49
slango joined
|
|||
masak backlogs | 13:54 | ||
13:54
ashizawa joined
|
|||
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:54 | |
Matt-W | It's been quiet today | 13:56 | |
13:56
Tene_ joined
|
|||
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:57 | |
...leading to things like 'masak2 submits rakudobug', '<masak3> dang!', '<masak11> dang!', '<masak47> dang!'. | 13:58 | ||
Matt-W | haha | ||
not to mention lock contention on the computer... | |||
masak | and Gmail. | ||
if we all retained the same email address. | |||
moritz_ | you just have to have one IRC connection for all of your clones | ||
so that only one can chat at the same time | |||
masak | yes, there are several issues with this. | 13:59 | |
Matt-W | And we'd have to feed them all as well | ||
masak | but I actually think my clones would be good at working on my Perl 6 projects together. | ||
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
|
|||
Matt-W | Mine wouldn't | 14:01 | |
they're very tight about new hires at the moment | |||
14:02
alexn_org joined
|
|||
mberends | masak: :) | 14:02 | |
masak | he says he'll hire as many as he can afford. :) | ||
masak likes his $JOB | 14:03 | ||
mberends likes being employer (of $self only) | 14:05 | ||
14:09
masak joined
|
|||
masak | wayland76: re 'interface puller' -- yes, I suspect it'll be something like that. | 14:11 | |
14:12
ashizawa joined
|
|||
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 | |
(and no second step.) | |||
we need as many people as possible doing that, in my opinion. | 14:16 | ||
at least up until the bottleneck becomes something else :) | |||
14:22
rodi joined
|
|||
dalek | kudo: cc1e659 | pmichaud++ | docs/spectest-progress.csv: spectest-progress.csv update: 256 files, 5648 passing, 0 failing |
14:26 | |
14:34
nihiliad joined
|
|||
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
|
|||
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
|
|||
masak | pmichaud: sounds reasonable. | 14:36 | |
14:36
aindilis joined
|
|||
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. | ||
Matt-W | true | ||
pmichaud | we can certainly re-organize the READMEs and other items. | ||
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. | ||
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. | ||
Matt-W | they're global perl 6 things, they really shouldn't be living in the same repo as any implementation | ||
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 | ||
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. | ||
anyway, I'm fine with either. | |||
I'm fine with the status quo, too, but I know that keeping things inside of Pugs is confusing people. | |||
Matt-W | I would like to see a repo for the Perl 6 documentation and test suite | 14:39 | |
Because that then is the repo that contains the definition of perl 6 | |||
14:40
skids joined
|
|||
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 | |
14:42
ashizawa joined
|
|||
diakopter backlogs more | 14:42 | ||
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? ;-) | ||
diakopter | anyone around who's a *n*x/apache person | ||
git? really? | 14:45 | ||
moritz_ | I'm growing increasingly fond of it | 14:46 | |
masak | aye, please do. | 14:47 | |
pmichaud | I wasn't proposing that we move the repo off of feather. | ||
(I'm fine if we do that, but I wasn't proposing that.) | |||
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 | ||
rodi | git++ | ||
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 | ||
masak | indeed. | ||
diakopter | ok yeah, I wasn't suggesting moving off of feather either | 14:51 | |
14:51
smtms joined
|
|||
pmichaud | shall I post a message to p6c, inviting comment? | 14:51 | |
dalek | kudo: 8637bed | pmichaud++ | docs/spectest-progress.csv: spectest-progress.csv correction to total spectest count |
14:52 | |
kudo: b60ccaf | pmichaud++ | tools/test_summary.pl: Add S32 to test_summary.pl scanning. |
|||
Matt-W | pmichaud: that seems wise | ||
diakopter | yes, or someone else (I can) can who's not on the rakudo critical path | ||
:P | |||
Matt-W | Don't think there's a huge huge rush to do it right now is there? | ||
pmichaud | There's not a huge rush, no. | ||
moritz_ | no | ||
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 | ||
or even cloning the repo | |||
if you want history retained | |||
but I'd suggest that that's not necessary | |||
pmichaud | we want history retained, definitely. | 14:54 | |
diakopter | (instead of just changing the url to the same repo) | ||
pmichaud | at least for the synopses we definitely do. | ||
it bugged me when I read the following in a .pm mailing list, though: "Pugs, which is dormant, | 14:55 | ||
does a better job (I hear) of handling some/many parts of p6 grammar | |||
than Rakudo, that is, I gather, Larry Wall updates Std.pm which Pugs | |||
uses for parsing basic p6, while Rakudo has to then re-apply those | |||
changes elsewhere " | |||
moritz_ | that's just plain wrong. | ||
pugs doesn't use STD.pm at all | |||
pmichaud | I know. | ||
diakopter | yeah, confusing Pugs with the pugscode repo | ||
Matt-W | it would cause less confusion to have them separate | 14:56 | |
moritz_ | anyway, this needs better planning | ||
Matt-W | yes | ||
pmichaud | okay, I'll propose a message to p6c in a bit. | ||
thanks all for opinions. | |||
diakopter | (as well as wrong about any implementation using STD directly, except I think one of the new elfs) | ||
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 | ||
Matt-W | it's incredibly difficult | 14:58 | |
I run into sheer ignorance everywhere | |||
And mocking, in some cases | |||
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... | ||
diakopter | my shed stays clean, and I don't know how... :P | ||
I mean, house. | 15:00 | ||
masak | Matt-W: I try not to care about such opinions. | ||
diakopter | well, both. | ||
pmichaud | on a slightly different topic: turns out that I was already producing per-test-file summaries of our test results. | ||
diakopter | Matt-W: did you see my msg about the DLR | ||
Matt-W | masak: I try to correct them, but there's no point actually arguing about it | ||
alester | o/` Who lives in a pineapple under the sea? O/` | ||
Matt-W | diakopter: yes | ||
pmichaud | www.pmichaud.com/rakudo/rakudo-test...-03-04.txt | ||
masak | Matt-W: it's the same with Esperanto. if the opinion of outsiders contradicts my experience, I choose to believe my experience. | ||
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. | ||
Matt-W | masak: I've read contradictory things about Esperanto, so I don't have an opinion anymore :) | ||
masak | Matt-W: Esperanto is a bit contradictory. :) | ||
because it's composed of a wide range of people. | |||
just like Perl 6. | |||
Matt-W | :) | 15:02 | |
frioux | why is comb called comb? Is the idea that it comb's out the good stuff or something? | ||
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 | ||
frioux | hm; cool | ||
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 | ||
diakopter | "Perl 6 can be desugared to _______" | ||
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. :-) | ||
the same is true in public policy debates :-) | |||
masak | pmichaud: I think grammars are quite the proof, actually. PGE++ | 15:06 | |
moritz_ | speaking of grammars... do action stubs work at the moment? | ||
pmichaud | afaik they do, yes. | ||
masak | they ought to. | ||
moritz_ | how? | 15:07 | |
as an additional parameter to .parse()? | |||
masak | aye. | 15:08 | |
pmichaud | oh. | ||
masak | moritz_: there's a November branch doing that, if you want an example. | ||
pmichaud | yes, I think as an additional param to parse. If that doesn't work, we can make it work. | ||
masak | I can dig up the relevant code. | ||
moritz_ | that would be increadibly cool | ||
masak digs | |||
Matt-W | november's code passes :action($instance_of_action_class) to TOP | 15:09 | |
at least, the code I've seen | |||
not seen any that does it with .parse | |||
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); | ||
p6eval | rakudo b60cca: OUTPUTĀ«Could not find non-existent sub TOPā¤current instr.: 'parrot;GA;_block20' pc 147 (EVAL_22:62)ā¤Ā» | ||
masak | Matt-W: ah, you're right. | ||
moritz_ | rakudo: grammar GA { regex TOP { <a> }; token a { \w+ {*} }; }; class AA { method a($x) { make $x x 2 } }; say 'foo'.parse(GA, AA); | ||
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)ā¤Ā» | ||
masak | github.com/viklund/november/blob/d7...ate.pm#L31 | ||
moritz_ | rakudo: grammar GA { regex TOP { <a> }; token a { \w+ {*} }; }; class AA { method a($x) { make $x x 2 } }; say GA.parse('foo', AA) | ||
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:11 | |
moritz_ | the thing wtih Grammar::TOP($str, :action($act)) works right now, but I don't think it's ideomatic Perl 6 | 15:12 | |
it would be very nice to have Grammar.parse($str, :action($action_obj)) | |||
Matt-W | it would | ||
it would make more sense | |||
TOP isn't the kind of thing you should really be calling directly | |||
anything in all-caps really | 15:13 | ||
moritz_ | I should reallly add that to the specs | 15:14 | |
then tests ;-) | |||
Matt-W | and then implement it | ||
moritz_ | that's not my department :/ | 15:16 | |
15:16
Psyche^ joined
|
|||
moritz_ | "once rockets are up, who cares where they come down; that's not my department" says Wernher von Braun -- Tom Lehrer | 15:16 | |
15:17
Ariens_Hyperion joined
|
|||
masak | moritz_: re what, exactly? moving Perl 6 repositories? :P | 15:19 | |
moritz_ | masak: no, implementing .parse with :action | ||
masak | ah, you said "that's not my department". I see. :) | 15:20 | |
masak likes that song too | |||
moritz_ | most of what Tom Lehrer wrote is quite cool, IMHO ;-) | ||
masak | his humour and mine are very compatible, it seems. | 15:21 | |
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
15:38
hercynium joined
|
|||
pmichaud | I have the patch to add options to .parse(...) testing now. | 15:43 | |
moritz_ | cool. pmichaud++ | 15:44 | |
Matt-W | man | 15:45 | |
pmichaud++ ++ ++ | 15:46 | ||
masak | rakudo: my $a = 0; $a++ ++; say $a | 15:48 | |
p6eval | rakudo b60cca: OUTPUTĀ«1ā¤Ā» | ||
masak | huh. | ||
alester | Hey, who was it that was aking for an acocunt on rakudo.org? | ||
pmichaud | alester: what's the official procedure for people to get accounts on rakudo.org ? | ||
Matt-W | masak: I didn't expect it'd actually parse | ||
alester | ask me. | ||
masak | std: my $a; $a++ ++; | 15:49 | |
alester | well, to comment, or to make content? | ||
pmichaud | is there a way that we could get more people to be able to create accounts? | ||
p6eval | std 25683: OUTPUTĀ«############# PARSE FAILED #############ā¤Can't understand next input--giving up at /tmp/C6g8FQ1AVL line 1:ā¤------> my $a; $a++ ++;ā¤ expecting any of:ā¤ nounā¤ prefix or meta-prefixā¤ prefix_postfix_meta_operatorā¤ whitespaceā¤FAILED 00:02 36mā¤Ā» | ||
alester | I have to get the comments working. | ||
masak submits rakudobug | |||
pmichaud | I'm trying to reduce the number of single-person bottlenecks involved in the overall process. | ||
alester | understood | 15:50 | |
moritz_ | alester: oh, and you could give me an account as well ;-) | 15:52 | |
alester | email address? | ||
masak | what are these accounts everyone is raving about? :) | 15:53 | |
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. | ||
alester | moritz_: What email address? | ||
moritz_ | alester: [email@hidden.address] | ||
alester: you can be sure of it, just not about the time frame | |||
alester | pmichaud: There's no other reason to have an account. | ||
What name do you want? | 15:55 | ||
pmichaud | alester: we don't make assumptions about people getting commit bits to the pugs repo. | ||
alester | moritz? Moritz Lenz? | ||
moritz_ | alester: aye | ||
alester | moritz: Whihc one? | ||
pmichaud | i.e., we don't say "by giving you this commit bit we assume you're going to make lots of commits" | ||
alester | I didn't say lots of commits. | ||
pmichaud | I was using that as an example. | 15:56 | |
my point is that we don't make any expectations about contributing. | |||
moritz_ | alester: what do you mean by "which one"? name is 'Moritz Lenz', email [email@hidden.address] if you need a login name please use 'moritz' | ||
alester | moritz_: ok. I'm just saying that your login name can be "Moritz Lenz' | ||
moritz_ | make it 'moritz', I don't like typing more than necessary ;-) | 15:57 | |
alester | you should have email now | ||
You can change the pw I gave you | |||
moritz_ | alester: done, thanks | 15:59 | |
alester | Good, now get out there and write something! | ||
pmichaud may not push, but I will! :-) | |||
skids | hehe. | ||
pmichaud | I'd like to see a page on "how to become a rakudo.org contributor" :-) | 16:00 | |
so, write that. | |||
moritz_ | I'd like to have more contrast in the navigation bar | ||
light blue on dark blue is... improvable | |||
pmichaud | even better, change the existing "How to help" page to include instructions on getting a rakudo.org account. | ||
since the one that is there now is a bit.... bare. | 16:01 | ||
alester | done | 16:03 | |
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? | ||
alester | example? | ||
It's really a "last edited by" | 16:05 | ||
pmichaud | no, it's a "first created by" | ||
16:05
justatheory joined
|
|||
alester | oh is it? | 16:05 | |
Huh | |||
pmichaud | rakudo.org/how-to-get-rakudo | ||
(check the revisions) | |||
I don't mind if it becomes a "last edited by". | 16:06 | ||
but having it always be "first created by" feels wrongish. | |||
I'd rather not have the attribution at all, in that case. | |||
16:06
justatheory joined
16:07
moritz_ sets mode: +o pmichaud,
ZuLuuuuuu joined
|
|||
alester | rakudo.org/todo-list-for-rakudo.org | 16:09 | |
16:11
twitter1 joined
|
|||
dalek | kudo: 33ddc70 | pmichaud++ | src/classes/Grammar.pir: Allow Grammar.parse() and Grammar.parsefile() to take options. |
16:11 | |
masak | wait, so an empty array isn't false in Perl 6? | ||
moritz_ | it should be, please | 16:12 | |
perl6: say ?(,); | |||
p6eval | pugs: OUTPUTĀ«*** ā¤ Unexpected ",);"ā¤ expecting expression or ")"ā¤ at /tmp/zBBAvU07Y8 line 1, column 7ā¤Ā» | ||
..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)ā¤Ā» | |||
..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 | |||
..`_UN... | |||
masak | perl6: say ?[] | ||
p6eval | elf 25683: OUTPUTĀ«1ā¤Ā» | ||
..rakudo b60cca: OUTPUTĀ«0ā¤Ā» | |||
..pugs: OUTPUTĀ«ā¤Ā» | |||
masak | so, what's the answer? | 16:13 | |
moritz_ | an empty list or array in boolean context is false. | ||
masak submits rakudobug | |||
moritz_ | where did you find a true? | ||
masak | um. | 16:14 | |
rakudo: my @a; my @b = 1,2,3; say (@a // @b).shift | |||
p6eval | rakudo b60cca: OUTPUTĀ«Undefined value shifted from empty arrayā¤ā¤Ā» | ||
masak | but I now realize that I was testing for definedness. | 16:15 | |
so the bug is in me. | |||
I should write that as (@a || @b) | 16:16 | ||
16:18
twitter1 left
|
|||
pugs_svn | r25684 | lwall++ | [S03] deprecate TOP in favor of .parse and .parsefile | 16:27 | |
r25684 | lwall++ | [S12] mention restriction on calling class metamethods when there isn't a class | |||
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. | ||
ascent_: that should improve once we refactor parsing to have a better longest token matching system. | 16:30 | ||
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:31 | ||
moritz_ | fwiw, compiling a parrot with --optimize roughly halfes the execution time | 16:32 | |
(but doesn't work on 64 bit platforms yet) | |||
ascent_ | pmichaud: ok, sounds good. I got scared with running overhead of 0.583s. | ||
16:34
duke_leto joined,
duke_leto left
|
|||
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. | ||
masak | yes, it's not about parsing failures. | ||
pmichaud | okay. | ||
masak | it's about Perl 6 being lenient with semicolons after blocks. | ||
something like my $a = { ... } | 16:36 | ||
that one doesn't need a semicolon after it. | |||
moritz_ | I usually write one anway | ||
masak | me too. | ||
moritz_ | if it's on a single line | ||
masak | but I sometimes forget. | ||
moritz_: should it matter how many lines it is? | |||
if it's a statement, it's a statement. | |||
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*}; | ||
and that looks weird to me | |||
masak | ruoso: I know the rules. I'm talking about the code practices. | ||
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 | ||
masak | moritz_: personally, I find that rule of thumb unintuitive. | ||
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 | ||
even though the last line of the statement consists of a single '}'. | |||
TimToady | superstitious semicolons are generally harmless | ||
moritz_ | not to masak's coding style intuition ;-) | 16:40 | |
masak | so now I'm superstitious? hmpf. :) | ||
ruoso | but one can always implement "use masak-coding-style" and get syntax errors on that ;) | ||
masak | I'm just aiming for a simple consistency. | ||
16:40
justatheory joined
|
|||
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 | ||
TimToady | the parser doesn't have to care whether a line-final } is part of a builtin or not | ||
moritz_ | std: sub infix:<;-)> { ... }; say 2 ;-) 3 | ||
masak | TimToady: I'm not complaining about the current rule. I'm asking how to adopt a coding practice in view of it. | ||
p6eval | std 25684: OUTPUTĀ«############# PARSE FAILED #############ā¤Can't understand next input--giving up at /tmp/bJKZTFIqpT line 1:ā¤------> sub infix:<;-)> { ... }; say 2 ;-) 3ā¤ expecting any of:ā¤ nounā¤ prefix or meta-prefixā¤ prefix_postfix_meta_operatorā¤ whitespaceā¤FAILED | ||
..00:02 35mā¤Ā» | |||
moritz_ | it seems that operators beginning with ; don't participate in statement-end LTM yet | 16:42 | |
TimToady | terminators are somewhat privileged currently | ||
ruoso | does STD register new multi tokens when you define a new infix? | 16:43 | |
TimToady | yes | ||
ruoso | cool | ||
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 :) | ||
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
16:46
bacek joined
|
|||
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? | ||
ruoso | so you suggest that I go and add my proposed solution as [CONJECTURAL: ]? | ||
TimToady | see the various [Update:...] notations | ||
skids | (stuff that would bloat the spec) | 16:47 | |
TimToady | well, doesn't need to be all caps | ||
ruoso | right | ||
actually, thinking again, you already asked me to start the spec on my first issue (captures) | |||
TimToady | you might also put your initials there so someone knows whose coffee to put the cyanide into | 16:48 | |
ruoso | [Conjectural:DR: ] | ||
(better use the nick, I think) | |||
[Conjectural:ruoso: ] | |||
moritz_ prefers nicks over initials | |||
TimToady | Conjectural(ruoso): maybe | ||
ruoso | right | ||
TimToady | it's also probably worth alerting other implementors who might want to discuss it, since not everyone can follow every spec change | 16:49 | |
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 :) | ||
ruoso | TimToady, the other issue I remember now is about wether "our method" provides a lexical name to the method object or not | ||
TimToady | could put that at the end | ||
pmichaud | [Conjectural: (ruoso) ... ] | 16:51 | |
ruoso | TimToady, my proposed solution is that scope declarators' meaning depend on what they are declaring | ||
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, ??) | ||
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') ? | ||
TimToady | I am okay with method declarations not defaulting to "our", I think | ||
ruoso | TimToady, defaulting to what instead? | ||
TimToady | but just talking to the current metacontext | ||
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? | ||
defaulting to 'public'? | 16:54 | ||
moritz_ | isn't private "my"? | ||
TimToady | but I still very much want &foo ::= <mumble>; foo($obj,1,2,3) to work for some reasonable mumble | ||
ruoso | the issue is that "my" pairs to "our" | ||
"my" makes a lexical declaration | 16:55 | ||
"our" makes a lexical declaration *and* a package declaration | |||
both doesn't fit well with methods | |||
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'. | ||
TimToady | but as long as the binding semantics above work, it doesn't matter if we have aliases, provided... | ||
ruoso | TimToady, but "my method" means "private" now... not lexical... | ||
TimToady | that we name methods differently from subs | ||
ruoso | sure sure | ||
but my question is: what is the point of having methods lexically aliased? (except if you explicitly request that) | 16:57 | ||
so it's not about "scope", but "visibility" | 16:58 | ||
which looks like the same, but are quire different | |||
TimToady | std: method !foo {...} | ||
p6eval | std 25684: OUTPUTĀ«ok 00:02 34mā¤Ā» | ||
TimToady | that's what STD thinks :) | ||
regardless of what S12 says | |||
ruoso | I'm fine with that | ||
plain "method foo" makes a public method with no aliases | |||
plain "method !foo" makes a private method with no aliases | 16:59 | ||
mberends | masak: :) does the yaml-replacement work for you? | ||
masak | it does, as far as I can see. but it barfs a config.proto.test into my wc. | ||
TimToady | okay, lexical name for a method is then ".foo" or "!foo" without a sigil maybe | ||
if a lexical name is installed by my | 17:00 | ||
ruoso | I think | ||
TimToady | or our | ||
17:00
Util joined
|
|||
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. | ||
TimToady | don't want it to alias as a sub name | ||
(I think) | |||
masak | mberends: I will. just making sure that you don't have a lock on proto. | ||
ruoso | but you'll be using it as a sub | ||
since it is only a method while it's in a class | 17:01 | ||
masak | mberends: I'll do it sometime tomorrow morning. | ||
mberends | np | ||
TimToady | maybe that works, I thought there was some collision under export though... | ||
ruoso | what export does is simply to also put it into the importing package | 17:02 | |
TimToady | EXPORTS::DEFAULT, say | ||
ruoso | oh right | ||
TimToady, yes... yes... | |||
but I now see the isse | |||
we need the signature transforming | |||
TimToady | or we need my policy above | ||
that any method can be called as a sub | 17:03 | ||
and if called that way, just treats the invocant as first param | |||
ruoso | but that will require the dispatching code to realise how it was invoked | ||
makes the dispatching more complex | |||
TimToady | we have a clean separation between single and multi dispatch currently | ||
two entirely different dispatchers | |||
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 | ||
unless we say that such an alias only ever represents a single method | |||
(the one currently being declared, presumably) | |||
ruoso | &foo represents, in abstract, all the variants | 17:06 | |
TimToady | not any of its ancestral namesakes | ||
skids | Or, if you want a single dispatch version, supply it separately and do not my/our your methods. | ||
TimToady | all the multi variants, at least | ||
ruoso | yes, all the multi variants seen by this scope | ||
as each new declaration clones the variants from the outer | |||
but not the outer declarations themselves | |||
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? | ||
ruoso | I wasn't saying that | 17:08 | |
TimToady | I want to make the transformation unnecessary | ||
ruoso | but that's certainly an important question | ||
TimToady, but that only defer the complexity from the compile/init time to runtime | |||
the transformation needs to happen at some point | 17:09 | ||
since you have a Code with ($a: $b, $c) signature | |||
and you're going to call it with ($a, $b, $c) | |||
TimToady | the : is just a fancy comma | ||
ruoso | sintatically, yes | 17:10 | |
semantically, no | |||
TimToady | that tells the parser it doesn't need to add an implicit $self | ||
methods are just compiled as ordinary subs that expect their first arg to be an invocant, that's all | |||
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 | ||
but all such dispatcher-to-code calls happens as simple function calls | 17:13 | ||
ruoso need to leave for a meeting... | 17:14 | ||
TimToady | have the appropriate amount of fun :) | 17:15 | |
ruoso | but I think the current semantics are just fine | ||
they're more useful than the benefit from removing the signature transforming, IMNSHO | |||
and I think we can assume that both "my", "our" and "is export" generate the different signatures.. | 17:16 | ||
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) | ||
TimToady | there we will disagreee | ||
ruoso | implicitly transforming the first positional argument into the invocant doesn't look good | 17:18 | |
TimToady | the colon picks the dispatcher | ||
ruoso | not really | ||
TimToady | yes, really | ||
ruoso | the colon just says that is the invocant in that capture | ||
it doesn't say what you're going to do with it | |||
TimToady | it picks the dipatcher | ||
s//s/ | |||
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. | ||
but I'll do it immediately following that call. | |||
ruoso | TimToady, you can say "my $capture = \($a: $b, $c);" | ||
there's no dispatch ther | |||
it just composes the capture | |||
17:19
rafl joined
|
|||
TimToady | yes, but that's neither here nor there | 17:20 | |
ruoso | exactly... the capture is not the dispatch | ||
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? | ||
ruoso | how you use the capture that makes the dispatch | ||
pmichaud | japhb: just a sec | ||
japhb | pmichaud: ok, thanks | 17:21 | |
pmichaud | dev.perl.org/perl6/lists/ | ||
ruoso really needs to leave now... will backlog... | |||
TimToady | if you say foo(|$capture) it does the right thing either way | ||
pmichaud | ...and rakudo.org now has the link. | 17:22 | |
ruoso | TimToady, a capture used in list context includes the invocant? | 17:23 | |
I don't think so | |||
TimToady | there's no list context there, and yes, it does include it | 17:24 | |
as a positional | 17:25 | ||
17:27
duke_leto joined,
duke_leto left
|
|||
japhb | OK, with any luck, I'm no subscribed. | 17:27 | |
And now for my problem from last night: | |||
"japhb" at 76.191.190.8 pasted "Rakudo failure trying to run simplest OpenGL example" (20 lines, 1.5K) at sial.org/pbot/35337 | |||
17:28
Tene joined
|
|||
japhb | pmichaud: How do I even get started figuring out what went wrong there? | 17:28 | |
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:</>; ? | ||
&infix:</>, even | |||
pmichaud | Tene: I need to do some odd patches to the grammar and parser to get that to work. | 17:30 | |
Tene: i.e., to be able to translate the infix:</> form into PCT's "infix:/" form. | |||
japhb | pmichaud: but there's no OO in that code at all. | ||
Tene | But not part of any specific planned work, and doesn't rely on any other work, as far as you know? | ||
pmichaud | Tene: there's two parts | 17:31 | |
japhb | Closest I can see is calling subs with full package names | ||
pmichaud | Tene: part 1 is just patching something into Rakudo to get it to work | ||
that part is temporary | |||
part 2 is updating PGE and the parser to recognize protoregexes and (perhaps) LTM | |||
that's the _real_ answer to the problem. | |||
it does depend on some parser improvements, at any rate. | |||
japhb: where does OpenGL.pm (or its equivalent) live? | 17:33 | ||
japhb | runtime/parrot/library | ||
pmichaud: that's why I had to cd to that directory and run the command with all of those ../../ | |||
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) | ||
japhb | hmmm | ||
pmichaud | it used to be that Rakudo would treat any identifier beginning with an uppercase letter as a typename | ||
but we've since fixed that so that it looks directly for the associated type | 17:35 | ||
that's what "is_type" does. | |||
japhb | ah | ||
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. | ||
japhb | So how do I register a PIR library to Rakudo? | ||
pmichaud | we don't have a good way to do that yet -- I'm working on that. | ||
japhb | (sorry if that question was ahead of your explanation) | ||
Oh, OK. | |||
pmichaud | it's most likely going to be use OpenGL:from<parrot>; | 17:36 | |
masak | mberends: gist.github.com/73914 | ||
pmichaud | where the :from<parrot> will be the clue that we need to import some symbols from the library. | ||
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 | ||
pmichaud: makes total sense. | |||
This is pretty much by blocking feature. ;-) | 17:37 | ||
Tene | Yes, "can load the OpenGL library" would be ablocker for using OpenGL. ;) | 17:38 | |
mberends | masak++ # proto update works, including dependencies | ||
masak | mberends: I was surprised too! :) | ||
we need tests, though. like, really soon. | 17:39 | ||
17:39
DemoFreak joined
|
|||
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. | ||
masak goes swimming | |||
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
|
|||
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 | |
Anyway, AFK for real | |||
pmichaud | japhb: noted, I'll see what I can do for the external library support. | 17:42 | |
(and yes, the pressure helps.) | |||
17:46
schmalbe joined
17:52
Ariens_Hyperion joined
17:55
ejs joined
|
|||
eric256 is amazed how fast the months flow by | 17:58 | ||
rakudo.org remodel++ | 17:59 | ||
although it wont let me login or create an account to make comments | 18:00 | ||
18:01
szabgab joined
|
|||
skids | pmichaud: he never did answer, did he? It's like pulling teeth :-) | 18:03 | |
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 | ||
p6eval | rakudo 33ddc7: OUTPUTĀ«Method 'result_object' not found for invocant of class 'Failure'ā¤current instr.: 'make' pc 19731 (src/builtins/match.pir:39)ā¤Ā» | ||
TimToady | an object in item context should never be anything other than itself | ||
this includes Match and Capture objects | 18:06 | ||
and attaching result objects to Matches as an invocant is a mistake | 18:07 | ||
if there's an invocant, it's just the first positional, specially marked | 18:08 | ||
18:09
ilogger2 joined
18:10
Psyche^ joined
18:21
justatheory joined
18:26
Psyche^ is now known as Patterner
18:34
tuxdna_ joined
18:45
mikehh joined
18:53
Ariens_Hyperion joined
18:58
protorom joined
18:59
protorom left
19:03
Ariens_Hyperion left
19:04
rodi joined
19:05
zamolxes joined
19:08
mberends_ joined
19:09
mberends_ left
|
|||
frioux | rakudo: my $f = 1; given ($f) { when (1) { say 'frew'; } } | 19:16 | |
p6eval | rakudo 33ddc7: OUTPUTĀ«frewā¤Ā» | ||
frioux | rakudo: my $f = 1; given $f { when 1 { say 'frew'; } } | ||
p6eval | rakudo 33ddc7: OUTPUTĀ«frewā¤Ā» | ||
frioux pines for perl6 at work | 19:18 | ||
PerlJam | frioux: so start using it | ||
(that's what I'm planning on doing) | 19:19 | ||
frioux | I will for one off things | ||
but I kinda need database access | |||
PerlJam | well, not only planning. That's what I'm doing on small things where I can. | ||
frioux | yeah | ||
but I mostly do web dev | 19:20 | ||
so like, yeah I can do some sysadmin stuff, but that's not what I do really | |||
pugs_svn | r25685 | lwall++ | Simplify meaning of Capture and Match in item context to preserve sanity | 19:21 | |
r25685 | lwall++ | (an object in item context is always just itself, never a subpart) | |||
r25685 | lwall++ | Result objects now come though $/{''}, although they may still be created with | |||
r25685 | lwall++ | 'make' and accessed with $(). (This is already how STD works, btw.) | |||
r25685 | lwall++ | The invocant (if any) of a Capture is now always considered 1st positional. | |||
r25685 | lwall++ | Clarify that foo(|$capture) delays choice of dispatcher | |||
r25685 | lwall++ | ruoso++ for forcing me to rethink all this | |||
19:24
tuxdna_ left
|
|||
pugs_svn | r25686 | lwall++ | [STD] clobber .text and .item in line with new capture notions | 19:26 | |
19:33
zamolxes left
19:38
c9s_ joined
19:52
jan_ joined
19:53
Unf99 joined
|
|||
pugs_svn | r25687 | moritz++ | [docs] added perl6-projects.org | 19:53 | |
TimToady | phone | 20:00 | |
oskie | It works! | 20:05 | |
Matt-W | pmichaud++ | 20:07 | |
rakudo: enum EN<a b c>; sub foo { EN::a; }; say "alive"; | 20:12 | ||
p6eval | rakudo 33ddc7: OUTPUTĀ«aliveā¤Ā» | ||
Matt-W | rakudo: enum EN<a b c>; sub foo { EN::a; }; say "alive"; foo; | ||
p6eval | rakudo 33ddc7: OUTPUTĀ«aliveā¤Ā» | ||
Matt-W | rakudo: sub foo { EN::a; }; say "alive"; | ||
p6eval | rakudo 33ddc7: OUTPUTĀ«aliveā¤Ā» | ||
moritz_ | rakudo: enum EN<a b c>; sub foo { EN::a; }; say foo | ||
p6eval | rakudo 33ddc7: OUTPUTĀ«0ā¤Ā» | ||
Matt-W | rakudo: sub foo { EN::a; }; say "alive"; foo; | ||
p6eval | rakudo 33ddc7: OUTPUTĀ«aliveā¤Null PMC access in invoke()ā¤current instr.: 'foo' pc 130 (EVAL_17:62)ā¤Ā» | ||
Matt-W | there you go | ||
moritz_ | Matt-W: submit! | ||
Matt-W | I think that's actually two bugs | 20:13 | |
moritz_ | why? | 20:15 | |
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 | |
or is that expected behaviour | |||
moritz_ | well, you do execute foo. | ||
Matt-W | rakudo: sub foo { EN::a; }; say "alive"; | ||
p6eval | rakudo 33ddc7: OUTPUTĀ«aliveā¤Ā» | 20:17 | |
Matt-W | not there I didn't | ||
moritz_ | that's OK | ||
Matt-W | okay | ||
I cna never remember the bug address | |||
moritz_ | full qualified sub names don't need to be pre-declared, I think | ||
[email@hidden.address] | |||
Matt-W | is EN::a the appropriate way to access an enum member | 20:18 | |
moritz_ | it is | ||
just like Bool::True | |||
when there's no ambiguty you can also use the short name (a or True) | |||
Matt-W | but if there is it just silently hides the enum? | 20:19 | |
bug sent | |||
moritz_ | if there is, it's a compile-time error I think | ||
Matt-W | ick | 20:20 | |
rakudo: enum EN<a b c>; sub a { 1; } | |||
p6eval | rakudo 33ddc7: RESULTĀ«{ ... }Ā» | ||
moritz_ | rakudo: enum EN<a b c>; sub a { 1; }; say a; | 20:21 | |
p6eval | rakudo 33ddc7: OUTPUTĀ«0ā¤Ā» | ||
moritz_ | rakudo: enum EN<a b c>; sub a { 1; }; say b; | ||
p6eval | rakudo 33ddc7: OUTPUTĀ«1ā¤Ā» | ||
moritz_ | so it picks the enum over the sub | ||
don't think it's correct | 20:22 | ||
but not sure | |||
Matt-W | I would expect it to pick the sub, because the enum's got a more qualified name available | ||
moritz_ | good point | ||
I'm looking for a nice design for perl6-projects.org | 20:23 | ||
It shouldn't waste too much space on navigation, because I don't think there will be any | |||
Matt-W | I'm not good with web designs | ||
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_ | ;) | ||
rodi | moritz_: can you briefly describe what will be on the site? | ||
moritz_ | I'm hoping with more than 100 people in the channel that *somebody* is good, or at least has a recommendation ;-) | ||
rodi: basically one page with short link lists, diveded into cathegories | 20:25 | ||
s/th/t/ | |||
it's supposed to be something that you link to when you want to say "here you can find all Perl 6 projects" | 20:27 | ||
rodi | moritz_: makes sense- you thinking of doing it wiki-style, or something a little more conservatively managed? | 20:30 | |
moritz_ | rodi: it's a plain HTML page (+ optional css) in a subversion repository | 20:31 | |
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:36 | |
moritz_ | rodi: I won't, because working short term solutions turn into long term solutions :/ | 20:38 | |
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
|
|||
moritz_ | www.opendesigns.org/preview/?template=15 maybe something like the upper half of that template? | 20:39 | |
perhaps with less striking background colors | 20:41 | ||
20:42
japhb joined
|
|||
alester | moritz_: What are you using as your CMS? | 20:42 | |
rodi | It's pretty # /me isn't even good at criticising designs ;) | ||
moritz_ | alester: svn ;-) | 20:43 | |
rodi | moritz_: vi, or emacs ;_) | ||
moritz_ | vim then ;-) | ||
the one thing I don't like about that design is that it's pixel based | 20:45 | ||
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 | ||
IMHO | |||
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? | ||
just vhost it | |||
moritz_ | hm, I have to think about that | ||
alester | If ya want. | 20:56 | |
maybe after you post some stuff on rakudo.org, get a feel for it, you'll have a better idea. | |||
I'm no cheerleader. I jsut figure the more time I spend writiting and the less time worrying about a web page, the better. | |||
[particle]1 | alester: do i have a rakudo.org account? | 20:57 | |
alester | Did you get an email? | ||
I don't think I set it up for you. | |||
[particle]1 | not to the best of my recollection | ||
alester | but it's trivial. | ||
user name? email address? | 20:58 | ||
you can be "Jerry Gay" instead of "particle" if you want. | |||
Tene | Can I be "Jerry Gay"? | 20:59 | |
alester | No. | ||
Tene | Man, you don't let me be anyone. | ||
rodi | Tene: you can be rodi. | ||
alester | You can be yourself. | ||
I love you just the way you are. | |||
It's you I like. | |||
It's not the clothes you wear. | |||
It's not the way you do your hair, | |||
but it's you I like. | |||
oh, particle.... | 21:01 | ||
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 | ||
look at the Perl 5 core list | |||
moritz_ | literal: it might be a good thing to start such a list as a wiki page | 21:09 | |
I'd happily contribute some ideas ;-) | |||
alester | so start it. | ||
literal | does Perl 6 or Rakudo have an "official" wiki? | ||
the only thing I can think of is the TPF one | 21:10 | ||
alester | probably start with the Rakudo one on github for now. | ||
since that's where we're doing dev work. | |||
skids | www.perlfoundation.org/perl6/index.cgi | ||
alester | wiki.github.com/rakudo/rakudo/steps...te-a-patch | ||
literal | no, I mean a wiki to put such information, not wiki software | ||
alester | yes, I know | 21:12 | |
wiki.github.com/rakudo/rakudo/perl-...-to-perl-6 | |||
reload wiki.github.com/rakudo/rakudo/perl-...-to-perl-6 for the link to the pugs repo | 21:14 | ||
literal | oh, I didn't know github had wikis | ||
hm, isn't Rakudo IO too lacking to implement the File:: modules listed there? | 21:16 | ||
moritz_ | perhaps | 21:17 | |
but a not-so-safe File::Temp could already be done | 21:18 | ||
and then later augmented with concurrency safe implementation | |||
literal | I might make a go at Term::ANSIColor | 21:19 | |
pugs_svn | r25688 | moritz++ | [docs] some meta stuff, add style | 21:29 | |
r25689 | moritz++ | [docs] more meta stuff | 21:30 | ||
eric256 | wow, cool to see perl6 functions implemented in perl6 | 21:31 | |
21:33
_jaldhar joined,
_jaldhar is now known as jaldhar
|
|||
jaldhar | To read from STDIN if an argument is not given to the program, this should work shouldn't it? | 21:34 | |
my $file = open( @*ARGS[0] ) // $*IN; | |||
21:35
Ariens_Hyperion joined
|
|||
jaldhar | only on rakudo 14 it doesn't | 21:35 | |
it says | 21:36 | ||
Use of uninitialized value | |||
Unable to open filehandle | |||
if you try and read from STDIN | |||
moritz_ | jaldhar: it looks like there's a bug somewhere, but I'm not sure yet where | 21:38 | |
jaldhar | moritz_: in my code or in rakudo? | 21:39 | |
moritz_ | jaldhar: in rakudo | ||
as a workaround this does the trick: my $file = @*ARGS ?? open(@*ARGS[0]) !! $*IN | |||
jaldhar | ah I see. ok will use the workaround for now | 21:40 | |
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)ā¤Ā» | ||
moritz_ | a failed open() seems to throw an exception atm | ||
don't think that's specced this way | |||
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 | ||
literal | can things be exported in rakudo? | ||
moritz_ | eric256: it should probably fail(), which is an exception under 'use fatal;' | ||
eric256 | ahh cool | 21:46 | |
literal | i.e. for modules with a functional interface | ||
moritz_ | Date: Sun Mar 1 20:42:14 2009 -0600 | 21:47 | |
Initial version of importing setting exports into global namespace. Has a few problems dealing with multimethods -- will get jnthn++ to help. | |||
so "maybe a bit" | |||
literal | hm, where do I read up on how it works? | 21:49 | |
I heard "is export" was gone, or is that not true? | |||
moritz_ | S10 or S11 I think | 21:50 | |
literal | ok | 21:51 | |
Ariens_Hyperion | thare are four Perl6 implementationg already? | 21:53 | |
literal | more than that, I think... | 21:54 | |
Ariens_Hyperion | are we heading for conditional compilation madness? | ||
literal | no, they all target the same specification | ||
rodi | Ariens_Hyperion: yeah, just plain old madness. | ||
Ariens_Hyperion | I hope so | ||
literal | that's what makes them "Perl 6" | ||
rodi | anyone here played around with src/setting/* in rakudo yet? | 22:04 | |
literal | sial.org/pbot/35345 # shouldn't this work? | ||
pmichaud | correct, open should not die by default. Fixing. | 22:05 | |
moritz_ | rodi: I implemented some of the methods there | 22:06 | |
pmichaud | I plan to be moving lots of methods to setting today+tomorrow | ||
that will give us a lot more examples to work from. | |||
22:06
wayland76 joined
|
|||
moritz_ | literal: I think it should | 22:06 | |
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? | ||
the settings ones ;) | |||
pmichaud | yes, it compiles the .pm files | ||
pugs_svn | r25690 | putter++ | [elfparse] Additional EXPR porting and support (all untested). | ||
rodi | moritz_, pmichaud: cool, I may wait another day to dive in, if there are going to be a few more examples soon... | ||
pmichaud | it first concatenates them into one big .pm file, then converts it to .pir, then recompiles perl6.pbc with the additional .pir file | ||
literal | pmichaud: can I work around it somehow? aliasing maybe? | ||
pmichaud | literal: perhaps my &foo := &TERM::ANSIColor::EXPORT::DEFAULT::foo; | 22:09 | |
I'm not entirely sure that works yet, though. | |||
moritz_ | the simplest workaround is not to declare a package in the module | ||
pmichaud | getting import to work is very high on my priority list right now. | ||
moritz_ | like Test.pm does it | ||
pmichaud | importing into a lexical scope is a bit challenging in Parrot at th emoment. | ||
moritz_ | pmichaud: don't know if you noticed, make() doesn't work on action methods in Rakudo yet | 22:10 | |
pmichaud | moritz_: wouldn't surprise me too much. There are some issues surrounding item context on Match objects. | 22:11 | |
let's just say that Pugs r25685 is going to cause a lot of internal changes to PGE, PCT, and Rakudo. | |||
(necessary changes, but big ones) | |||
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)ā¤Ā» | ||
moritz_ | rakudo: grammar A { token TOP { \w+ } }; class B { method TOP($f) { make $f x 2 } }; say A.parse('foo', :action(B.new)); | ||
p6eval | rakudo 33ddc7: OUTPUTĀ«fooā¤Ā» | ||
pmichaud | moritz_: oh. You didn't give the method a $/ | ||
make operates on $/ | |||
(perhaps it operates on contextual $/ -- if so, we don't have that yet.) | |||
moritz_ | rakudo: grammar A { token TOP { \w+ } }; class B { method TOP($/) { $/.make("foo") } }; say A.parse('foo', :action(B.new)); | ||
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)); | ||
literal | moritz_: where' the Test.pm that Rakudo uses? | ||
p6eval | rakudo 33ddc7: OUTPUTĀ«barā¤Ā» | ||
moritz_ | literal: in the rakudo repo | ||
literal: at top level | |||
pmichaud++ | |||
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. | ||
literal | yeah | 22:14 | |
sounds good enough, for now | |||
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. | ||
eric256 | perl6 | 22:15 | |
err wrong window ;( | |||
22:16
rodi left
|
|||
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:20 | |
pmichaud | skids: my guess would be allison. | 22:21 | |
skids | thanks. | ||
22:23
lisppaste3 joined
22:24
wknight8111 joined
|
|||
pugs_svn | r25691 | moritz++ | [t/spec] tests for action stubs in grammars | 22:26 | |
r25692 | moritz++ | [t/spec] set svn attribs, moritz-- for forgetting it in the first place | 22:27 | ||
r25693 | lwall++ | clarify enum vs sub for moritz++ | 22:30 | ||
moritz_ | TimToady++ | 22:32 | |
TimToady | pmichaud: .<*> is probably bad, since .{*} parses and means something else | 22:35 | |
maybe .<$> or some such, where .{$} would not compile | |||
moritz_ | isn't .<*> more like .{'*'}? | ||
TimToady | yes, we're trying for something other than a null key to hold the result object | 22:36 | |
pm suggested * on the phone call, but it occurred to me that it had a problem | |||
moritz_ | ah | ||
what about a simple, non-fancy accessor? | 22:37 | ||
TimToady | <?> <!> <+> <-> would all work | ||
that would work too | |||
but we still have to store it somewhere :) | |||
next you'll be suggesting an ordinary object attribute :) | |||
moritz_ | that would be too esoteric, I guess ;-) | 22:38 | |
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 | ||
moritz_ | .obj | ||
TimToady | .() remains a possibility, though perhaps there's unforeseen difficulty | ||
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. | ||
skids | ._? | ||
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 | ||
pmichaud | and it's a little hard to see. | ||
and easy to miss. | |||
TimToady | that was my other quibble | ||
$/<a>() ain't so bad | 22:41 | ||
pmichaud | $<bar>._ | ||
I'm not so keen on overloading the function invoke syntax for some reason. | |||
TimToady | bothers me too, but at least it would shorten to $() nicely | ||
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 | |
*modulo | |||
diakopter | .$_ | ||
TimToady | speaking of modulo, I did consider $% for the OO value of $/ | ||
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. | ||
I'll bbl and read scrollback. | |||
TimToady | as I said above the problem is if you misspell it ${*} | ||
pmichaud | I agree with the issue of ${*} | ||
eric256 | O/O = % .... cute lol | ||
pugs_svn | r25694 | moritz++ | [t/spec] tests for enum/sub name conflicts | 22:44 | |
pmichaud | $<O> # too close to zero | ||
[particle]1 wants the colon | 22:45 | ||
TimToady | $<:> isn't so bad | ||
pmichaud | make $<expr><:> | ||
or, more likely: make $<expr><:>; | |||
at least in PCT's ast generation, we tend to do $<expr>...mumble... more than operator on $/ directly. | 22:46 | ||
TimToady | $</> | ||
pmichaud | s/operator/operate/ | ||
[particle]1 | make dollar-less-than-e-x-p-r-greater-than-less-than-colon-greater-than-semicolon | ||
pmichaud | i.e., generally we're asking for the result object for a submatch, not the result object of the current match. | 22:47 | |
gotta split. | |||
dalek | kudo: 086b4ba | (Moritz Lenz)++ | t/spectest.data: we pass action-stubs.t, add it to spectest.data |
||
[particle]1 | for some reason $</> looks like "gotta split" to me | ||
TimToady | $<.> | ||
[particle]1 | $<_> | 22:48 | |
moritz_ | $<;-)> | ||
TimToady | that would be too confusing with the infix | ||
[particle]1 | $<=> | ||
Tene | What is it you're discussing an API for? | 22:49 | |
[particle]1 | returning the result object from a Match | ||
diakopter | ./ | 22:50 | |
22:50
rkendall joined
|
|||
eric256 | $<result> is no good i'm guessing ;) | 22:50 | |
moritz_ still votes for $/.obj | |||
[particle]1 | rule result { ... } | ||
eric256 | show off | 22:51 | |
lol | |||
diakopter | $/_ | ||
TimToady | _\|/_ | 22:52 | |
diakopter | beat me to it | ||
^/|\^ | |||
TimToady | _\o/_ # help, I'm drowning | ||
diakopter | die_with_prejudice() | ||
TimToady | <o> wouldnt be so bad though | 22:53 | |
diakopter | I like dollarslashdot | ||
but that's matcher o? | |||
TimToady | yes | 22:54 | |
diakopter redubs patterns matchmakers | |||
"matchmaker matchmaker..." | 22:55 | ||
(that's unlikely to be novel... sorry :P) | |||
moritz_ | make matches, not war | ||
TimToady | <?> is pretty easy to type | 22:57 | |
diakopter looks for a unicode matchstick symbol | |||
is </> taken? | 22:58 | ||
TimToady | no, but {/} doesn't guarantee an immediate parsefail | ||
I think I'll go with <?> for now | 23:01 | ||
[particle]1 | <?>++ | 23:02 | |
pugs_svn | r25695 | lwall++ | tweak result object from {''} into {'?'} | 23:06 | |
TimToady | now doubtless someone will write postfix:<?> | 23:07 | |
moritz_ | really? ;-) | ||
TimToady | ?!?!?! | ||
lambdabot | Unknown command, try @list | ||
TimToady | try it your own self | 23:08 | |
diakopter | std: ... | ||
p6eval | std 25694: OUTPUTĀ«ok 00:02 34mā¤Ā» | ||
diakopter | std: ,,, | ||
p6eval | std 25694: OUTPUTĀ«############# PARSE FAILED #############ā¤Can't understand next input--giving up at /tmp/SgIGruX4BG line 1:ā¤------> ,,,ā¤ expecting any of:ā¤ prefix or nounā¤ statement endā¤ statement listā¤ whitespaceā¤FAILED 00:02 33mā¤Ā» | ||
diakopter | std: !!! | 23:09 | |
p6eval | std 25694: OUTPUTĀ«ok 00:02 34mā¤Ā» | ||
diakopter | std: ??? | ||
p6eval | std 25694: OUTPUTĀ«ok 00:02 34mā¤Ā» | ||
TimToady | std: !?!?!?!?!!! | ||
p6eval | std 25694: OUTPUTĀ«############# PARSE FAILED #############ā¤Can't understand next input--giving up at /tmp/57eW4UT1TK line 0:ā¤------> ā¤ expecting nounā¤FAILED 00:02 35mā¤Ā» | ||
TimToady | hmm | 23:10 | |
rkendall | alester: You should be able to allow people to create accounts on rakudo.org here: rakudo.org/admin/user/settings | ||
TimToady | std: !? !!! | ||
p6eval | std 25695: OUTPUTĀ«############# PARSE FAILED #############ā¤Can't understand next input--giving up at /tmp/ovrisjQWvA line 0:ā¤------> ā¤ expecting nounā¤FAILED 00:02 35mā¤Ā» | ||
alester | ioh look I can! | ||
TimToady | std: !? ??? | ||
p6eval | std 25695: OUTPUTĀ«############# PARSE FAILED #############ā¤Can't understand next input--giving up at /tmp/WHYEVBXgiq line 0:ā¤------> ā¤ expecting nounā¤FAILED 00:02 35mā¤Ā» | ||
TimToady | std: !? ???() | 23:11 | |
p6eval | std 25695: OUTPUTĀ«ok 00:02 35mā¤Ā» | ||
TimToady | std: !? ???; | ||
p6eval | std 25695: OUTPUTĀ«############# PARSE FAILED #############ā¤Can't understand next input--giving up at /tmp/uMQH08SVlK line 1:ā¤------> !? ???;ā¤ expecting any of:ā¤ nounā¤ prefix or meta-prefixā¤ prefix_postfix_meta_operatorā¤ whitespaceā¤FAILED 00:02 35mā¤Ā» | ||
alester | rkendall: But what about default privs? | ||
TimToady | std: !? ... | ||
p6eval | std 25695: OUTPUTĀ«ok 00:02 35mā¤Ā» | ||
rkendall | alester: You'll find that here: rakudo.org/admin/user/permissions | 23:12 | |
alester | so "authenticated" is what they start out as? | ||
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? | ||
erm, remove viv from that question | 23:13 | ||
if Perl 6 | |||
pugs_svn | r25696 | moritz++ | [t/spec] exercise bare "oh I feel so Haskell" sigils in signatures | ||
rkendall | alester: Yep, also, you can add extra 'roles' here: rakudo.org/admin/user/roles (for granting extended permissions) | ||
alester | yeah, I have two set up there: Author and Blogger | ||
rkendall | ...so just have to tick a few boxes | 23:14 | |
alester | yeah workin' on it | ||
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 | ||
but I wanted people to be able to comment on the pages. | |||
But maybe that's not good. | |||
It doesn't seem that I can change a Story to a Page, can I? | |||
rkendall | no, they are stuck as 'Stories' | 23:19 | |
alester | maybe I'll change 'em now while I can. | ||
and it's not too painful./ | |||
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 | ||
alester | Be my guinea pig for that? | ||
rkendall | but you can disable the "Submitted by" anyway, just means it won't show on newsy items | ||
Just did :-) | |||
alester | ok how | ||
rkendall | ..just a sec | ||
alester | oh I see | 23:21 | |
rkendall | all the settings for the different content types are here: rakudo.org/admin/content/types | ||
(guess you found it) | |||
[particle]1 | timtoady: does lift work across eval? | 23:22 | |
alester | So do we want Story or Page? | ||
I can see that "how to contribute" should be a page, but should it? | |||
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:24 | |
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...? | ||
rkendall | ...but you don't have to do it that way, cause you can change the behaviour (and name) of any of it | ||
alester | but then what do we want Blog Entry for? | ||
It sounds like we don't. | |||
If we put out a new release, it should be a Story, not a Blog Entry. | 23:26 | ||
diakopter | why is lift unnecessary? | ||
rkendall | most people have there own 'blogs' anyway, so I guess I agree | ||
TimToady | because it's already in that lexical scope, so would see the same set of operators | ||
[particle]1 | TimToady: sorry, i meant "will it work properly", and it sounds like "yes" | ||
alester | ok, that's what I'll do then. | 23:27 | |
TimToady | BEGIN and true macros | ||
alester | I'm locking out Blog Entry, and anything Bloggy is really Story, and individual pages are Pages. | ||
diakopter | "backpedal" | ||
rkendall | just turn off the 'blog' module | 23:28 | |
TimToady | constant folding, in a way | ||
alester | Can I do that, rkendall? | ||
23:29
Limbic_Region joined
|
|||
rkendall | yes, but you may need to copy blog content into stories first | 23:29 | |
diakopter bumps my q above to TT | |||
TimToady | bumped up or down or sideways? | ||
diakopter | in? | 23:30 | |
TimToady | into where? | ||
diakopter | a new compilation unit? | ||
a lazy one, even. | 23:31 | ||
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 | ||
[particle]1 | pmichaud: blogs, i suspect. | ||
but, since you're lead developer, some may fit into stories. | |||
rkendall | you can agregate external blogs, so there would be no need to re-post | ||
[particle]1 | aggregate++ | 23:33 | |
alester | Blog on rakudo.org is going away. | ||
What you would think of as Blog will go into Story. | |||
pmichaud | including things like use.perl posts? | ||
or do those simply not go onto rakudo.org ? | |||
alester | Hmm. | ||
Hadn't thought of that. | |||
like what? | |||
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 | ||
moritz_ | (perl 5) how do I check if the input file of <> changed? | ||
pmichaud | that feels more like "blog post" than "story" | ||
moritz_ | I remember there was a neat trick, but I forgot how it worked :( | ||
alester | pmichaud: That still feels like story. | 23:35 | |
"We're looking for your input on svn vs. git. Please let us know your thoughts." | |||
I guesS "Blog" to me sounds like "a single person is saying it" | |||
pmichaud | how about jonathan's progress reports? | ||
diakopter | or even, some interpreter invoked by viv/STD returning an altered/augmented symbol tree to STD | ||
rkendall | the only real difference between blog and story is that 'blog' is personal | ||
alester | story | ||
Yeah, and I don't think we want personal. | |||
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. | ||
.. (and of course do whatever else the program instructs up to the eval) | 23:38 | ||
rkendall | alsester: You could also add extra info here: 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) | ||
diakopter | can STD serialize/marshal its state somewhere? | 23:39 | |
or does the interpreter need to interact directly with that state? or keep passing it back and forth? | |||
TimToady | the eval cannot modify its OUTER:: | 23:41 | |
diakopter | erm, did I miss something about .parse* | ||
ok, that makes sense. but eval( "..."~eval("...").eval()) | 23:43 | ||
TimToady | the parser never calls eval | ||
not unless some AST it's running calls eval | 23:45 | ||
diakopter | ok. newly declared/effected rules that have eval | ||
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 | |
the parser will have some way of executing AST however | |||
or it can't define macros, or call BEGIN or use | 23:47 | ||
or define enums properly for that matter | |||
basically, declarations may need to run various bits of code | 23:48 | ||
dalek | kudo: 412cbe9 | (Moritz Lenz)++ | t/spectest.data: [t/spectest] add new S06-signature/positional.t |
||
diakopter | okay, that's what I was trying to ask earlier, macro application, BEGIN, enum, what other compilation unit end markers are there | ||
TimToady | those are not compilation unit end markes | ||
markers | |||
they do not force evaluation of everything-up-to-here | |||
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 | ||
diakopter | so use always must be at the top level? | 23:50 | |
TimToady | top level of what? | ||
diakopter | (or else what would be the point of including it inside some possibly unreachable block) | ||
TimToady | { use warnings; ...} what's so strange about that? | 23:51 | |
I think you must be using "eval" very differently from me | 23:52 | ||
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 | ||
TimToady | so don't apply anything I said to "eval" as talking about BEGIN semantics | ||
diakopter | then, the parser must pause | ||
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 | ||
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. | ||
TimToady | code that the compiler runs can basically do anything it wants, though we try to guide it away from error | ||
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:56 | ||
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... | ||
using a "use something;" statement as a use case. pun intended, sort of. | 23:58 | ||
TimToady | use is a bit complicated, actually | 23:59 | |
take instead something like: my $a = BEGIN { 1 + 2 }; |