Historical release record · 2008

Parrot 0.7.0 release notes.

An resourced development record for the “Severe Macaw” release, covering concurrency, language implementations, compilers, tools, and deprecations.

resource note

A snapshot of a changing virtual machine.

This page preserves the technical shape of Parrot 0.7.0 as historical material. It is not a current software recommendation.

Parrot 0.7.0, identified in the original release record as “Severe Macaw,” documented a substantial stage in the development of a virtual machine intended to support dynamic languages.

The release introduced a new concurrency implementation and recorded progress across language runtimes, compiler infrastructure, configuration, testing, and developer tools. The notes below are reorganized for readability while retaining the scope of the historical announcement.

Historical context: The release dates from 2008. Build systems, repositories, language projects, and compatibility expectations may have changed considerably since publication.

VM architectureConcurrencyCompilersLanguage runtimes

Release highlights

Concurrency, languages, and compiler work.

The release record grouped its changes by subsystem and language implementation.

Implementation and runtime

The new concurrency implementation made its debut in this release. The exception object also gained return-continuation capture, while iterator, key, and pair objects received encapsulation improvements.

Language implementations

Cardinal received class-variable, parsing, block-parameter, and built-in improvements. Lua received language fixes, library refactoring, and an incomplete OpenGL binding. Pipp added loop, increment, decrement, and string-literal support. Tcl gained list-command work, dictionary fixes, and test-suite updates.

Rakudo’s record included class attributes, multiple dispatch, anonymous classes, metaclass-related improvements, additional built-ins, and broader test-harness work. The release notes also recorded the removal of Pugs from the active set because of accumulated maintenance problems.

Compilers and tools

PCT gained scope and invocant handling for syntax-tree variables, improved subroutine generation, and block initialization support. PIRC work covered register allocation, PASM output, grammar cleanup, constant folding, and instruction selection. The debugger was renamed and received several adjustments.

Detailed change log

What the 0.7.0 record contains.

A readable transcription of the resourced release categories, with sensitive or obsolete operational details kept in historical context.

SPECIFICATION
- Added multisub lookup guidance.

IMPLEMENTATION
- Introduced the new concurrency implementation.
- Improved exception continuation capture.
- Strengthened encapsulation for iterator, key, and pair objects.

LANGUAGES
- Cardinal: class variables, parsing, block parameters, and built-in improvements.
- Lua: language fixes, library refactoring, and an incomplete OpenGL binding.
- Pipp: while/for loops, increment/decrement operations, and improved string literals.
- Rakudo: class attributes, multiple dispatch, anonymous classes, metaclass improvements,
  additional built-ins, and expanded test-harness support.
- Tcl: list commands, dictionary fixes, autovivification, and specification-test updates.
- Pugs: removed from the active record because of maintenance drift.

COMPILERS
- PCT: scope handling, invocants, block initialization, and generation-order fixes.
- PIRC: register allocation, PASM register mapping, grammar cleanup, constant folding,
  and instruction selection.

CONFIGURATION AND TOOLS
- Improved parallel testing and cleanup.
- Added platform and portability maintenance.
- Renamed and revised the debugger.
- Applied assorted core and build-system cleanups.

DEPRECATIONS
- Several legacy register, method, pragma, mapping, library, and opcode forms were
  marked for replacement or removal in later development.

Reading path

Place the release in its wider technical context.

Use the resource as a starting point, then compare the historical record with broader documentation and source material.

1. Start with the architecture

Review the documentation to establish the vocabulary of virtual machines, bytecode, runtime services, and language front ends.

2. Compare implementation areas

Use the examples and languages directories to connect the release summary with practical language and execution-model concepts.

3. Inspect source-oriented material

The source area provides the most appropriate next step for readers studying how historical runtime changes were organized.

About this record

PCode Vault resource entry

PCode Vault presents historical runtime-development records in an editorial format designed for technical study. This entry retains the main themes of the Parrot 0.7.0 announcement while separating period-specific claims from current guidance. Questions about the resource can be sent to info@pcodevault.en-html.com.