Wednesday, August 03, 2005

Perl 6: End-game

My first session of the conference proper was on the status of Perl 6 given by Damian Conway and Larry Wall,

Larry and Damian talking about Perl 6
Are we there yet...
the answer to which seems to be, almost...

The language design is undergoing simplification and consolidation, but there are a whole bunch of new features including three new yada yada yada operators,
while get_next( ) -> $next { ... } # fail
while get_next( ) -> $next { ??? } # warn
while get_next( ) -> $next { !!! } # die
go figure. Apparently we can also now do,
say $data.perl()
instead of
use Data::Dumper;
print Dumper( $data );
which got a big round of applause, and has to be a good thing...

Listening to Damian and Larry I'm reassured, Perl 6 is actually going to happen. We're close, we have prototypes and people are already being ported to Perl 6, so Damian is hoping that this time next year he'll be teaching people how to use it. Here's hoping...


  1. Anonymous4:19 pm

    Wow! People are being ported to Perl 6??? Soon, everybody will be walking around, talking to a Parrot, and munching on a PMC!.

  2. You know that probably should have read... "people are already porting modules to Perl 6", what do you think?

  3. Anonymous5:34 pm

    as a long time career perl programmer i wish a release seemed imminent, but with leadership churn at the parrot project (dan sugalski leaving, chip having legal woes), and continued language design issues (should have been put to bed long ago), this is still shaping up for a 2007 initial alpha (which will have to go through a minimum 18 months of debugging). this is for a project started in 2001. whats been happening lately? so far all i can see is a lot of work on pugs, the throw-away haskell-based testbed. classic project mismanagement, wasting so much time on a codebase that by design has no future. a prudent project management scheme would forbid work on pugs, every day spent on pugs is a day that perl6 gets pushed back. also, with all due respect, larry needs to stop fiddling with the language spec. whatever you have now is what needs to be coded. at this point the perl6 team needs to know they are very close to losing lots of developers to python and ruby, they have to deliver whatever they have pronto.

  4. Anonymous5:44 pm

    I agree with the sentiments that the language should have been put to bed by now, or at least frozen with further changes scheduled for a later.
    I do not agree about pugs though. pugs has forced many decisions to be made, and clarified many issues. pugs is really a fork. It seems to have more energy that the *real* perl 6, and that is bad news. If the people who are working on pugs coded Perl 6 then we might have something by now.

  5. Anonymous8:49 pm

    Perl 6 is going to be written in Perl 6. To solve the chicken and egg problem, Pugs is the solution to bootstrap the process. Once pugs is fairly ready, the work for Perl 6 compiler can begin. To speed up the writing of compiler, one may port the Haskell code to perl 6.

    The key to Perl 6 performance is Parrot. I am not sure how ready is Parrot. I tried the last version of Parrot (0.2.xx), it is still slow and incomplete.