Parrot 0.8.2 "Feliz Loro"

Performance was improved, including startup time. Many bugs were fixed.
Automatic resume for nonfatal exceptions was added. Various enhancements were
made to the languages Rakudo (Perl6), Lua, Pipp (PHP) and Ecmascript.

Milestone information

Project:
Parrot
Series:
0.8
Version:
0.8.2
Code name:
Feliz Loro
Released:
 
Registrant:
Ronald Blaschke
Release registered:
Active:
No. Drivers cannot target bugs and blueprints to this milestone.  

Download RDF metadata

Activities

Assigned to you:
No blueprints or bugs assigned to you.
Assignees:
No users assigned to blueprints and bugs.
Blueprints:
No blueprints are targeted to this milestone.
Bugs:
No bugs are targeted to this milestone.

Download files for this release

File Description Downloads

Release notes 

- 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
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 implementation 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)

Changelog 

This release does not have a changelog.

0 blueprints and 0 bugs targeted

There are no feature specifications or bug tasks targeted to this milestone. The project's maintainer, driver, or bug supervisor can target specifications and bug tasks to this milestone to track the things that are expected to be completed for the release.

This milestone contains Public information
Everyone can see this information.