News on Monday
more>>
SharePoint Tech Report
more>>


   

 
 
Download Current Issue
ISSUE 2/1/2010 PDF

Need Back Issues?
DOWNLOAD HERE

Receive the print Edition?


 
blogs tab
Visual Studio 2010 Release Candidate Available Today
A Visual Studio 2010 release candidate is available on MSDN.
02/09/2010 09:45 AM EST

Is Microsoft eyeing Office subscription pricing?
Microsoft may be preparing to offer a new Office pricing option called "union," which charges the same for cloud as on-premises.
02/01/2010 09:38 AM EST

Facebook rewrites PHP runtime
Facebook is about to open source its own PHP runtime, written from scratch for speed.
01/30/2010 08:53 PM EST

 

Events calendar tab
2/9/2010 to 2/13/2010
San Francisco
IDG World Expo

2/10/2010 to 2/12/2010
San Francisco
BZ Media

2/17/2010 to 2/25/2010
Atlanta
Python Software Foundation

2/19/2010 to 2/20/2010
Los Angeles
SCALE

2/21/2010 to 2/24/2010
Las Vegas
IBM


 
Most Read Latest News Blog Resources

Rakudo provides Perl 6 preview




June 23, 2009 — 
Since the initial call for papers on the subject, Perl 6 has become an almost mythical update. But after nine years of work, and heavy collaboration with the open-source Parrot project, Perl 6 is finally beginning to get ready for public use. One of the Perl 6 virtual machine implementations, Rakudo, has been slowly creeping toward completion, and its developers say it is now ready for experimentation.

Rakudo is built on top of the Parrot project, which seeks to build a generic runtime for all dynamic languages. Patrick Michaud, lead developer of Rakudo, started working on the Parrot project five years ago. At the time, he was overwhelmed by the changes he saw in Perl, and he wondered how exactly they could be implemented at all.

“The specification [for Perl 6] is divided up into synopses," said Michaud. "They roughly correspond to the chapters of the Camel  book [O'Reilly's seminal Perl programming guide]. My jaw dropped when I read the chapter on regular expressions. Perl 5 regular expressions are what everyone raves about. What the Perl 6 design team especially did was to go back and rethink regular expressions. What would they want to do to make that more powerful, so you could write the Perl 6 parser in Perl 6?

“To me, it was like a whole new level of regular expression power. The first thing we needed to have a compiler [was] to have a parser. The first year or so of my work was writing this regular expression engine that, as far as I know, nobody had ever thought of before. When I first read this before I started working on the project, I thought to myself, 'Nobody could ever do this!' ”

The tricky thing here for Michaud and the Rakudo team is that the grammar of Perl 6 can be modified dynamically at runtime. That's difficult enough, but also making sure that such modified grammar doesn't spill out to negatively influence libraries or other Perl applications is even trickier, said Michaud. But all of the work he and his team have put in over the last five years has allowed this vision to become reality, he said, and it gives Perl 6 an incredible amount of versatility.

But Michaud and the team working on Parrot and Rakudo seem to have accomplished their goals thus far. Parrot reached version 1.0 in May, and Rakudo is already on release number 18.

“There are at least two Perl 6 implementations,” said Michaud. “They are not the complete language, but they are sufficient for quite a few people to be writing in. There are number of people who say Perl 6 is a myth, but the facts are pretty clear that there are people writing Perl 6 already.”

Of course, that doesn't mean the Perl 6 specification won't change again. Michaud said that many of the shifts in the specification have come in response to problems discovered while trying to create the runtime in Parrot.

Allison Randal, chief architect and lead developer of the Parrot project, said that the work being done on it is intertwined with Perl 6. She said that Perl 6 “is kind of a superset of all the features of all the dynamic languages you've ever seen. There really isn't any existing virtual machine that could support that out of the box. The existence of Perl 6 at all depends fairly heavily on Parrot.”

Randal was quick to point out, however, that there are other implementations of the Perl 6 runtime, most notably Pugs, which is written in Haskell.

As Perl 6 and Rakudo continue to mature, the community around the language continues to grow as well, said Michaud. This is in line with Perl's creator Larry Wall's statement that “Perl 5 was my rewrite of Perl. I want Perl 6 to be the community's rewrite of Perl and of the community.”

As the Perl 6 community has become more magnanimous by taking on other projects (like Parrot, thereby allowing for more synergies between dynamic languages), it would certainly seem that Wall's vision has come to fruition.


Related Search Term(s): ParrotPerlRakudo


Share this link: http://www.sdtimes.com/link/33566
 

Comments

06/24/2009 10:29:03 PM EST

Great article -- this is the first fair-minded piece on Perl 6 that I have seen in the press. Thank you, Alex Handy.

United StatesRobert Bond


Add comment


Name*
Email*  
Country     


  • Comment
  • Preview
Loading