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 5.5.0 "Salvadori's Fig Parrot" Released!

Obi-Wan: That boy is our last hope.
Yoda: No. There is another.
    -- Star Wars Episode V: The Empire Strikes Back

On behalf of the Parrot team, I'm proud to announce Parrot 5.5.0, also known as "Salvadori's Fig Parrot". Parrot is a virtual machine aimed at running all dynamic languages.

tags:

Parrot 5.4.0 "Austin Parrot" Released!

Jimi Hendrix, deceased, drugs.
Janis Joplin, deceased, alcohol.
Mama Cass, deceased, ham sandwich.
    -- Austin Powers (making a list of friends from the Summer of Love)

On behalf of the Parrot team, I'm proud to announce Parrot 5.4.0, also known as "Austin Parrot". Parrot is a virtual machine aimed at running all dynamic languages, and currently focusing on Perl 6.

Parrot 5.3.0 "W00tstock Parrot" Released!

We are stardust.
Billion year old carbon.
We are golden.
Caught in the devil's bargain
And we've got to get ourselves back to the garden.
(To some semblance of a garden.)
  -- "Woodstock", by Joni Mitchell

On behalf of the Parrot team, I'm proud to announce Parrot 5.3.0, also known as "W00tstock Parrot". Parrot is a virtual machine aimed at running all dynamic languages, and currently focusing on Perl 6.

The Parrot Foundation is accepted for GSOC 2013

dukeleto: Happy to announce that @parrotvm will be mentoring students in #gsoc again this year! If you know awesome CS students, send them to me :)

We need mentors to sign up at
http://www.google-melange.com/gsoc/org/google/gsoc2013/parrot
and project ideas to be collected/edited/reviewed at the "Ideas page".

Parrot threads on the perl6 advent calendar - Day 11

Parrot threads were featured on the perl advent calendar, day 11. Something cool about Perl 6 every day, in December.

See http://perl6advent.wordpress.com/2012/12/11/day-11-parrot-threads/.

tags:

Parrot string encodings on the perl6 advent calendar - Day 7

Debugging parrot strings were featured on the perl6 advent calendar, day 7. Something cool about Perl 6 every day, in December.

See http://perl6advent.wordpress.com/2012/12/07/day-7-mimebase64-on-encoded-strings/.

Shows how to debug into crazy string encoding problems, when you are not sure if the core implementation, the library, the spec or the tests are wrong. It turned out, that the library and the tests were wrong.

tags:

Results

Tomorrow is google's appointed 'firm pencils down' date. That seems like a good time to discuss the results of my work on mod_parrot so far.

mod_parrot is, as I have mentioned before, a two-layered system, with one half interfacing with apache (the module) and the other half with the interpreter and the compilers, the 'loader'. There is also a vital third component, the test system called pudding.

A new hope

This week I finally got arround to giving a new, fresh structure to the mod_parrot module code. I have complained, perhaps not loudly enough, about the various inadequacies of the old codebase, mostly with regards to extensibility. A cleanup was needed. As such, here is a walkthrough of the new structure, also serving as documentation.

Interpreters with butterfly wings

I for one am totally for whimsical blog titles, wouldn't you agree? In other news, after a lull of two weeks (codewise at least) I've finally started to work on mod_parrot again. The big (dis)?advantage from not working on code is that you start to think more of what you could do (and should have done), rather than what you have done.

As it turns out, I handle interpreters in a rather confused manner. My goal for the next two weeks is to fix that. First, let me describe what should be done to correctly run a script on an interpreter using mod_parrot:

PACT: Adjusting the schedule

I appear to be continuing my weekly blogging every 14 days. Ah, well. My progress has been fairly intermittent as I work out this whole "getting sleep with a newborn around", but I'm starting to make real progress again. Today's blog will discuss what I've done in the last couple weeks and an updated schedule for the next month.

My progress can be split into a few topics: syntax highlighting, style changes, bug fixes, test helpers, and tests themselves.

Syndicate content