I've been at the German Perl Workshop for the last few days. While I was sat in a bunch of talks being presented in a language I don't understand, I had some free time to hack on Rakudo. That means there's been a few fixes and some new features.
First, I set about doing some re-factoring to the objects work I had done so far. It had wound up with a lot of inline PIR in actions.pm, and that in turn fixed us to one class system, which was fine for a first-cut implementation to get a few things working, but far from what S12 calls for. Now all the inline PIR I added is gone, replaced by calls to methods written in PIR.
With the refactoring done, it was then far easier to add what is needed to have methods in classes resolving conflicts and taking precedence during role composition. Of course, exactly how well the roles implementation matches S12 is yet to be seen, and that calls for lots of tests. I'll be drawing on the Moose ones for that.
With some basic OO support in and ready for people to play with, I moved on to looking at the regex support. There was already some there, but I've put in a bit more. $/ (the match variable) wasn't being passed into inner scopes, so if you did a pattern match in the condition of an if block then $/ would not be set inside the block. That is now fixed. Additionally, I implemented $0, $1, $2, etc numbered captures, as well as $
regex Year {\d\d\d\d};
regex Location {German|French|Italian|London|Dutch|Ukrainian};
regex PerlConference {<Location>\sPerl\sWorkshop[\s<Year>]?};
I've got rule and token parsing, but they don't pass along the :ratchet and :sigspace modifiers yet. I hope to have that resolved soon.
A natural fall-out of adding support for $
It's been something of a mixed bag being at the GPW. While many people are interested and supportive of the work that is being done on Perl 6, others seem to prefer to use me as their latest target for snipey comments about how it will never be completed. And one person, after making a series of comments about code and papers he'd never read, decided to make an uncomplimentary comment about what I do with my wife in bed (by the way, I'm single). While I can put up with people being ignorant, I find personal attacks completely unacceptable, and not what I've experienced anywhere else in the Perl community. And now I'm left wondering whether I really want to spend any more of my time - which it costs me to take away from $DAYJOB - coming to GPW again.
I'm really sorry to hear that, Jonathan!
While I myself will continue to argue that Perl6 ist vaporware until it is actually released, I will kick people from the Workshop if they attack other people personally.
I hope the guy will have the balls to publicly apologize to you without any wenn und aber or else I'll try to track him down and refuse to let him attend any further German Perl Workshops.
Re:Unacceptable Behaviour
chromatic on 2008-02-16T19:42:06
While I myself will continue to argue that [Perl6] ist vaporware until it is actually released...Seriously? New Rakudo release next Wednesday, just like every month.
Re:Unacceptable Behaviour
Corion on 2008-02-16T22:06:41
You keep saying that, but I guess what people mean by "Perl6" is not "Something that somebody decided to slap the label 'Perl6' on", or "Some executable named perl6", but something that lives up to the promises made by Damian and others, and the venture into Science Fiction, published by O'Reilly. I guess you will have to put up with telling people that Rakudo is Perl6 even after the release of Duke Nukem Forever.
I'm still waiting for my flying car.
Re:Unacceptable Behaviour
chromatic on 2008-02-16T23:24:24
I'm still waiting for my flying car.You're no dummy. I know familiar with how community-driven software works. I can't understand where the feeling of entitlement comes from that drives you to complain continually that we haven't somehow magically pooled all of our volunteer time to produce everything what you want on precisely your schedule for exactly the budget you've given us to work with.
On behalf of every volunteer (such as Allison, Jonathan, Patrick, Larry, Damian, Audrey, and Jerry) who's actually done something to make Perl 6 happen, including taking time off from work to volunteer, I offer you this "OH NOES PELR SIXX IS LATEZ!" official raspberry: thpppt.
You can redeem it for a Full Official Blessed Final Version of Perl 6.0 when it's done.
Or, you know, you could actually help.
Re:Unacceptable Behaviour
Corion on 2008-02-17T10:34:52
You misunderstand me. I'm not complaining about that Perl6 is not here. The only thing I'm pointing at is your constant railing against such claims as:
[Perl6] ist vaporware until it is actually released...You claim that
Seriously? New Rakudo release next Wednesday, just like every month.as if that were any indication to that Perl6 were actually "done" in any way.
The progress that has been made in the last few years is amazing, but Perl6 is in no way "done" or "ready". Rakudo has a long way to go to come near the promises that were made for Perl6. Until it comes close to them, you will have to live with people saying that Perl6 is Not There even though you put out a binary named perl6 every month. Of course, you are free to release a new vision statement that restates that the current release of Rakudo is what Perl6 is all about, and that all the hopes that people put into Perl6 are just projections and never were backed by any substance. And in many ways, I think that Perl6 is/was too many things to too many people, and the imaginary feature set has grown too big for reality and Rakudo to sustain. In that sense, it is very good that the team is releasing alpha builds for the interested to inspect. But again, claiming that these releases were anything like the mental image the people have dreamed up and the machinery has created over the years is misleading or misunderstanding the people. The term "Rakudo" is a good way to differentiate the two, the feature set of Perl6 and the current beta release, available as a binary. But still, that doesn't offer you any way to bridge the disconnect between the hype/ideas of Perl6 in other people's minds and your image of Rakudo-reality.
I think you also misunderstood my closing comment
I'm still waiting for my flying carIt was meant as a reminiscence on how the future, as depicted in silly science fiction novels, did not live up to its hype, or rather, turned out vastly different from what the authors envisioned and wrote down.
I'm trying to communicate to you the disconnect people perceive between Rakudo and Perl6, and that I get the feeling that you see the two as identical. Having Rakudo is a step towards Perl6, but having Rakudo does in no way change the vaporware of Perl6, until the promised feature set of Perl6 (wherever that lives nowadays, maybe still in the exegeses, apocalypses and whatnot?) is implemented in it.
On the topic of helping, I'll make you an offer - you stop claiming that The Emperor's New Perl6 is "here now", and I stop pointing out how I don't see it.
Re:Unacceptable Behaviour
chromatic on 2008-02-17T18:21:23
Rakudo does in no way change the vaporware of [Perl 6]...The fact that multiple implementations exist and people can use them (hey, I wrote working Perl 6 code two and a half year ago) doesn't mean that the software actually exists outside of a hidden code repository that no one outside of the company can see or even outside the minds of the marketing department?
If you downloaded and build Rakudo right now, you might see that it supports features natively that Perl 5 doesn't have.
If you want to redefine the word vaporware to mean "software that doesn't yet do everything that someone said it would in a final version with a printed manual illuminated by eighth century Irish monks and hand installed by nubile young cherubs at the direction of Steve Jobs", yeah, Perl 6 is vaporware, just like Python 3000, Ruby 2, PHP 6,
.NET 3, Java 7, and just about every software project I can imagine. As such, I find that definition of vaporware exceedingly difficult to believe.
Now you do have a point in that the first several years of Perl 6 had way too many press releases trumpeting great things that didn't exist... but several of those things are starting to exist in usable form now. If you get all sorts of righteous indignation knotted up inside when the people actually doing the work to make all of these lovely features exist start saying "Hey, this part works now, and we release a new stable version every month in case you don't want to check out trunk continually," well, that's one sort of hobby I suppose. You might want to quote me very carefully if you think I've ever said that any Perl 6 implementation is currently complete, however.
Re:Unacceptable Behaviour
Corion on 2008-02-17T19:31:54
I wrote working Perl6 code two years and 10 months ago myself, thank you. But that does not mean that the then implementation of Perl6 included any features that differentiated Perl6 from Perl5.
If you get all sorts of righteous indignation knotted up inside when the people actually doing the work to make all of these lovely features exist start saying "Hey, this part works now, and we release a new stable version every month in case you don't want to check out trunk continually," well, that's one sort of hobby I suppose.I haven't seen you saying "Hey, this part works now", I've only seen you claiming that "You can have perl6 today", as if a binary named perl6 were what the people doubting Perl6 cared about.
You might want to quote me very carefully if you think I've ever said that any Perl 6 implementation is currently complete, however.... which actually is the benchmark by which I go - before the Perl6 team hasn't said "This is worthy of a 1.0 release" and has released a "press release" claiming that "We are satisfied with it", all your "You can use it already (except, it's not done yet and we might shuffle around the operators three times while you download)" just means that, "it's not done yet". Which is why I find it misleading when you equate Perl6 releases with Rakudo releases. You can have as many Rakudo releases as there are months in the year, but that doesn't mean anything in the progress of Perl6.
Feel free to replace "It's not done yet" with the more positive "We're working on it", if that makes you feel better. It also might create a more positive level of communication between you and the people doubting Perl6 if instead of pointing them to Rakudo as if it were Perl6, you pointed them to Rakudo and told them what features it already has, or even better, that the features they were missing in Perl5 it are already implemented in Rakudo.
Representing Rakudo as the answer to "When Perl6 is released" is, again, misleading. Representing Rakudo as "This is where we're currently at" might not give you the vindicative feel of "PREL SIX IZ HERE OMGZ", but it might also be a more direct contribution to the discussion of where Perl6, as currently implemented, stands on the vaporware scale.
Re:Unacceptable Behaviour
chromatic on 2008-02-17T21:16:08
You can have as many Rakudo releases as there are months in the year, but that doesn't mean anything in the progress of [Perl 6].I only responded to quote that sentence. You, sir, left me speechless. Few people do.
Re:Unacceptable Behaviour
cynix on 2008-02-22T21:06:45
I have to admit that my last sentence was unfair, because I still haven't learned from either side yet what really happened. I should have asked for both sides of the story first. So much for posting such tings without having a good night's sleep first.
That’s all I can say. Wow.
Well, the next workshop is in a year; and the one after that, in two years. I would hope that by that point, the tune of the naysayers would have to change from “it’s never gonna be done” to “that took longer than any other project” or however else they’re going to translate it to the past tense… n’est-çe pas?
Re:Apologies
schwigon on 2008-02-25T13:12:22
It seems, my posting needs clarification. Please read my apology posting in a personal way, e.g., substitute "we" with "I", "our" with "my", "wsorga" with "a member of wsorga", etc.
Re:really, wow
slanning on 2008-02-21T16:46:10
FWIW, this is actually close to what I'd guessed had happened when I heard about the story: that someone had made a joke, that that someone was German, and of course who understands German humor besides Germans? (Relax, I'm only joking.)Re:really, wow
JonathanWorthington on 2008-02-22T22:37:25
jonathan actually reacted with such force and venom
Erm, huh? When the guy left technical topics and instead decided to make a comment about how he could just imagine me in bed with my (non-existent) wife and so forth, I just walked away and went back into the talks.
I find it really, really hard to see how the remark could be taken as a compliment given the negativity of the rest of the conversation. But anyway, I'd rather just put the whole thing behind me, and would rather everyone else does the same. One person's remark which offended and upset me shouldn't make me stay away from GPW in the future, so if I'm still able to keep attending conferences next time around, and can think of something to talk about, I'll be happy to submit a talk next time around. And I certainly don't want to hold a grudge against the person who made the remark either; I vastly prefer to get on with people.
But whatever. I've felt mistreated. I've had my rant. People have expressed their opinions. Let's all get on with doing Useful Stuff.
Thanks,
Jonathan