Parrot 0.8.2 "Feliz Loro" Released!

davorg on 2008-12-21T19:20:00

Whiteknight writes "On behalf of the Parrot team, I'm proud to announce Parrot 0.8.2 "Feliz Loro." Parrot (http://parrotcode.org/) 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 http://parrotcode.org/source.html. 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 => 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 optimization
        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
    + PARROT_API is now PARROT_EXPORT
    + 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.

Enjoy!"