Parrot is a virtual machine designed to efficiently compile and execute bytecode for dynamic languages. Parrot currently hosts a variety of language implementations in various stages of completion, including Tcl, Javascript, Ruby, Lua, Scheme, PHP, Python, Perl 6, APL, and a .NET bytecode translator. Parrot is not about parrots, though we are rather fond of them for obvious reasons.

Parrot 2.9.0 "Red-masked" Released!

On behalf of the Parrot team, I'm proud to announce Parrot 2.9.0 "Red-masked". Parrot is a virtual machine aimed at running all dynamic languages.

Parrot 2.9.0 is available on Parrot's FTP site, or follow the download instructions. For those who would like to develop on Parrot, or help develop Parrot itself, we recommend using Subversion on our source code repository to get the latest and best Parrot code.


Pacific Northwest Parrot Developers Gathering: Summary

Summary of Pacific Northwest Parrot Developers Gathering
Saturday, October 16, 2010
Portland, Oregon

Part One Discussion
Please see the list of discussion questions posted here.

Pacific Northwest Developers Gathering, Portland OR, Oct 16 2010: Agenda

As the first of what will be multiple blog posts or posting to parrot-dev about this gathering, I am posting below the agenda I composed:

Agenda for Pacific Northwest Parrot Developers Gathering
Saturday, October 16, 2010
Lucky Labrador Brewing
915 SE Hawthorne Blvd
Portland, OR 97214

Part One, 1100-1300.
Questions for Current Parrot Developers

A Visit to the Oregon State University Open Source Lab

I'm on vacation in the Pacific Northwest -- a vacation that has Parrot droppings all over it. The high point will be the Saturday, October 16 Pacific Northwest Parrot Developers Gathering I previously blogged about. You are welcome to drop in at Lucky Labrador Brewing, 915 SE Hawthorne Blvd, Portland OR.

Parrot Design Documents in Need of Overhaul

Andrew Whitworth -- the fastest blogger in the East! -- has already blogged about our September 18 meeting in Fairless Hills, PA. He has received several responses to that post, as well as a more complete response from chromatic -- the fastest blogger in the West! whiteknight has responded in turn. Enjoy!

A Gathering of Parrot Developers in the Pacific Northwest, Saturday, October 16

I'd like to go public with an idea I've been developing in discussions with the other recently elected Parrot Foundation Board of Directors and some other Parrot contributors: A one-day gathering of Parrot developers to be held in Portland, Oregon, USA on Saturday, October 16.

This gathering would have three objectives and the division of the day into parts would match those objectives:

1. Enable Parrot developers to meet each other face-to-face, get to know one another better, and start to figure out how each can best contribute to the project.

PAST Optimization: GSoC is over

The Google Summer of Code pencils-down date was last Monday. GSoC is now over, but I don't plan to stop working on my project.

The initial goals listed in my project proposal were:

  • A library for PAST traversal.
  • A framework for PAST optimization and analysis tools.
  • A regular-expression-like pattern matching library for PASTs.
  • An optimization to turn tail-calls in PAST into PIR ".tailcall".

Hybrid Threads: GSoC Project Results

I proposed a pretty ambitious Google Summer of Code project this year. Although I didn't manage to do everything I hoped, I did manage to get a useful subset of threading functionality working in the gsoc_threads branch. In this blog post I will describe what I have working and what more needs to be done.

Moving to multiple OS threads

Now that I have the basic green threads (Task) API basically working, it's time to start mixing in OS threads. I plan to do that in two steps: First I'm going to use OS threads to solve the key issue with the green threads implementation - blocking IO. The result of this will be basically equivilent to CPython threads-with-GIL. The second step - real parallel thread execution - will have to wait for after GSoC pencils down.

PAST Optimization: plans for the final weeks of GSoC

I spent this last week working on Tree::Optimizer (and getting distracted by Rakudo *).

I've got the functionality described in my blog post last week mostly finished. The only thing remaining is making sure that recursive passes correctly handle nulls, which I'm about to work on.

The Google Summer of Code is almost over. Next Monday is the "suggested 'pencils down'" date. The following Monday is the "firm 'pencils down'" date. After that are final evaluations.

Here's my plan for the remainder of GSoC:

  1. Merge the pass-manager branch of my project's repo into master.
Syndicate content