Jingle... Perls?

Christmas has come early for Perl practitioners, with Perl 6.0 officially unveiled by Larry Wall. More than a decade late, the announcement is still being taken with a grain of salt by some, but the language’s creator assures us that work is most definitely progressing.

Perl enthusiasts have heard the promise before: Perl 6.0 is coming soon. However this time, it seems that perennial Perl patriarch Larry Wall has genuinely shared a release schedule for the long-awaited Perl 6.0, just in time for Christmas.

The official IRC rooms also confirmed that yes, you heard right, Perl 6.0 is definitely on the way (Larry’s handle is TimToady):

It’s been more than 20 years since the launch of Perl 5, and more than 10 years since O’Reilly Media released their book featuring “an unparalleled preview of major changes in the widely-anticipated Perl 6”. The release announcement delivered by Wall was supported by Craigslist, who hired Wall as an Artist in Residence back in 2013.

Perl began as a general-purpose Unix scripting language to make report processing easier, but has evolved so much that Perl 6 is considered a completely separate language thanks to features such as parallelism, concurrency and asynchrony. Perl has often been credited as the influence behind languages like Python, PHP and Ruby.

The presentation, according to Destiny at 10 Zen Monkeys, had Wall revealing a number of new upgrades to the language such as new “enumerated” type, fewer arbitrary lists to memorise and a new RegEx syntax.

By joking that a top priority for Perl 6 was fixing bugs that could be mistaken as features, Wall also introduced some rather exotic details:

$++; – An anonymous state variable, for very fast loops

– An anonymous state variable, for very fast loops gather and take – A control structure for creating lists without an intermediate temp variable

– A control structure for creating lists without an intermediate temp variable loop {} – An alternate syntax for creating a loop

– An alternate syntax for creating a loop react { whenever } – Code runs when a condition is met. Larry actually demonstrated this by triggering the react block just by typing an echo command

As for the release timeline, two betas are being promised before the real deal gets shipped in December:

A dedicated list of differences between Perl 5 and Perl 6 is available online now. Wall seemed incredibly excited about being able to finally upgrade, too. In between explaining new features, he answered questions from the audience and reflected on what the new work could mean for teaching:

He seemed excited that universities would now have a single language that could be used to teach every style of programming — from functional to procedural. With an eye toward the future, he said “Some professors will think that’s a great thing.”

The changes in Perl 6 are intended to keep the language around, with Wall saying that he didn’t want Perl running out of steam. “It might be a 30- or 40-year language. I think it’s good enough”. Hopefully the deadline sticks this time.

Find out more at the official Perl 6 website here.