Most Read Latest News Blog Resources

Parrot 1.4 expands dynamic integrations




July 13, 2009 — 
The Parrot project has attempted to do the unlikely many times before. This open-source platform for dynamic languages includes the facilities for running existing dynamic languages, such as Perl, Python and Ruby, but also includes the tools for building new languages and providing them with the infrastructure needed to function in almost any environment. This week, the Parrot project will release version 1.4, a major update that achieves many of the interoperability goals initially set by the Parrot team.

The Parrot project has created both a runtime for dynamic languages, like Python and Ruby, and a set of tools for adding new languages. Since the version 1.0 release in May, outside contributors have begun adding languages, such as APL, Lua and SNOBOL. Parrot is also designed to be embedded in other applications and environments as a standalone generic language runtime.

The initial goal of Parrot 1.0 was to give developers a platform on top of which to build languages, without regard to production environments just yet. Patrick Michaud, a contributor to Parrot and the lead developer of Rakudo, the Perl 6 engine based on Parrot, said that the overall goals of Parrot are broader than just having a unified runtime.

“The goal was to provide a platform for dynamic languages and dynamic language development. Perl, Python, Ruby—they all tend to create their own implementation or reinvent each others' wheels, internally," said Michaud. "It was felt we could build a virtual machine that could provide a common layer for all of these for people, so they could focus on language issues.

“These languages would be able to have libraries that could communicate and work together. Let's say I am a Perl programmer, and there's a Python library I can take advantage of. Parrot gives me a common substrate to get those to work together.”

At the head of the project is Allison Randal, chief architect and lead developer for Parrot. She joined the project eight years ago when she became interested in Perl 6, a language that is heavily intertwined with the Parrot project. Today, she's passed from Perl into the actual guts of Parrot, which is written in C.

Interoperability, aside, the 1.4 release also adds some finishing touches to this dynamic language runtime and toolkit. “A lot of what we're doing now is interface spit and polish," said Randal. "We're working on the embedding interface. We've been starting to  do more optimizations. Three years ago we decided not to put our effort into optimization until we had it feature complete. We've had 10 to 20% speed gains in the last month."

And that is what the primary focus of Parrot 1.4 has been. Michaud said that such interoperability support was at around 75% at the release of version 1.0. Over the next three months, work has continued to expand such interoperability so that all supported languages will have the ability to share libraries.

“The next major release is scheduled for January 2010, and it is to focus on hardening Parrot to be something that's more production-ready," said Michaud. "We've got people starting to use it, and we're starting to bring those features and cleanups into Parrot to people who want to run this in their very interesting applications.”

Parrot developers have already added constructs to support Lua, Perl 6, PHP, Python, Ruby, and a host of other languages, such as Forth, Scheme and Tcl.

Blazing new territory
But for Randal, the most exciting thing about Parrot isn't support for existing languages, it's the creation of new ones.

“In five to 10 years, I hope to see new languages being developed on top of Parrot. The languages we have right now are old,” said Michaud. “There are some things, particularly concurrency, that they don't support very well.

"It's disturbing to me to see the features Perl 6 is developing have been around for 30 or 40 years. Not in a usable form, but they've been around. I'd really like to see Parrot act as a booster for language evolution.”

Indeed, Michaud's work on the tools within Parrot is aimed at making it easy to write compilers. And that, he said, is the real killer feature for Parrot: making it easier for developers to build their own dynamic languages from scratch.

The Mozilla Foundation also seems to share this vision: The non-profit donated a grant to the Perl Foundation, which was then used to fund Michaud's work on the Parrot project for a number of months. Michaud said that the grant made him wonder if it would be useful to embed Parrot into a browser. Such a move, he said, would allow dozens of languages to be used in the design of websites and applications, not just JavaScript.


Related Search Term(s): Parrot


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

Add comment


Name*
Email*  
Country     


  • Comment
  • Preview
Loading



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


   

 
 
Download Current Issue
ISSUE 3/15/2010 PDF

Need Back Issues?
DOWNLOAD HERE

Receive the print Edition?


 
blogs tab
Google Code turns 5
Google Code Turns 5, and adds a Paxos Algorithm to make the system more stable and reliable.
03/17/2010 11:16 AM EST

Test your Visual Studio 2010 know-how
Microsoft is offering free beta certification exams for Visual Studio 2010.
03/17/2010 11:08 AM EST

Microsoft lifts the hood on IE9
Microsoft is previewing IE9.
03/16/2010 01:10 PM EST

 

Events calendar tab
3/22/2010 to 3/25/2010
Santa Clara, Calif.
The Eclipse Foundation

4/12/2010 to 4/14/2010
Las Vegas
Penton Media

4/12/2010 to 4/15/2010
Santa Clara, Calif.
O'Reilly Media

4/19/2010
New York City
Flagg Management

4/25/2010 to 4/28/2010
Overland Park, Kans.
IIUG