develooper Front page | perl.perl5.porters | Postings from December 2008

Parrot 0.8.2 "Feliz Loro" Released!

Andrew Whitworth
December 17, 2008 06:16
Parrot 0.8.2 "Feliz Loro" Released!
Message ID:
On behalf of the Parrot team, I'm proud to announce Parrot 0.8.2
"Feliz Loro." Parrot ( is a virtual machine aimed
at running all dynamic languages.

Parrot 0.8.2 is available via CPAN (soon), or follow the download
instructions at  For those who
would like to develop on
Parrot, or help develop Parrot itself, we recommend using Subversion on
the source code repository to get the latest and best Parrot code.

Parrot 0.8.2 News:
- Implementation
  + fixed lexical semantics
  + added the 'capture_lex' opcode
  + added automatic resume for nonfatal exceptions
  + added multidispatch cache
  + applied miscellaneous performance improvements, including startup time
  + fixed several bugs and leaks found by Coverity Scan
  + removed race conditions from parallel testing
- Compilers
  + IMCC
    - removed undocumented .param int <stringc> => <ident> syntax
    - .line directive now only takes an integer argument
    - new .file directive to specify the file name being compiled
  + PCT
    - properly handles lexical generation and closure semantics
    - uses :subid instead of name lookups to reference PAST::Block nodes
    - added PAST::Control node type (exception handlers)
  + PGE
    - add support for <?{{...}}> and <!{{...}}> assertions
    - Match objects use Capture PMC instead of Capture_PIR
  + PIRC
    - add macro handling to PASM mode
    - disable vanilla register allocation in PASM mode, but do allow
    - add tests and bug fixes
    - first bits of bytecode generation. No sub calling/returning yet.
- Languages
  + Rakudo
    - fixed lexical handling and recursion
    - refactored subtypes implementation
    - support for quotes with multi-character delimiters
    - implemented list slices (Positional role)
    - list assignment
    - reduction meta operators
    - hyper meta operators
    - cross meta operators
    - more builtin functions
    - added Nil type
    - basic support for protos
    - iterator on filehandle objects
    - basic support for exception handlers
    - warn
  + Lua
    - added complex & mathx libraries
    - merged LuaClosure & LuaFunction PMC
  + Pipp
    - added support for a return value from user defined functions
    - added incomplete implemention of 'require_once'
  + Ecmascript
    - parser fixes, parses spidermonkey's top level test/shell.js
- Deprecations
  + PIR
    - :lexid is now :subid
    - .arg is now .set_arg
    - .result is now .get_result
    - .yield (in .begin/end_yield) is now .set_yield
    - .return (in .begin/end_return) is now .set_return
    - .namespace x / .endnamespace x syntax is removed
  + Capture_PIR (runtime/parrot/library/Parrot/Capture_PIR.pir)

Many thanks to all our contributors for making this possible, and our sponsors
for supporting this project.  Our next scheduled release is 20 January 2009.


--Andrew Whitworth Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at | Group listing | About