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 };