Showing posts with label release. Show all posts
Showing posts with label release. Show all posts

Tuesday, February 17, 2009

Parrot 0.9.1 "Final Countdown" released!

o/~ We're leaving together,
       but still its farewell o/~

o/~ And maybe we'll come back,
       To earth, who can tell? o/~

o/~ I guess there is no one to blame
       We're leaving ground
           Will things ever be the same again? o/~

o/~ It's the Final Countdown...
       The Final Countdown  o/~

--Europe, "The Final Countdown"


On behalf of the Parrot team, I'm proud to announce Parrot 0.9.1
"Final Countdown." Parrot (http://parrot.org/) is a virtual machine aimed
at running all dynamic languages.

Parrot 0.9.1 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.9.1 News:
- Implementation
  + Support for portable 'Inf', 'NaN' and -0.0
  + pbc_disassemble prints constants in constants table
  + New experimental BigNum implementation
  + Pair is now a dynamic loadable PMC
  + Various function name sanification
  + New implementation of Strings component
  + Replace various PMC value union access code by VTABLE method invocations
  + Replace various PMC value unions by ATTRibutes
  + Removed SArray PMC. Use FixedPMCArray instead.
- Documentation
  + Book
    - updates to Chapter 2 (getting started)
    - updates to Chapter 3 (PIR basics)
    - updates to Chapter 4 (PIR subroutines)
    - updates to Chapter 10 (HLLs)
    - updates to Chapter 12 (opcodes)
  + Function documentation
  + Pod documentation style modernized; no longer Perl 5 style.
  + PMC has an additional acronym: Poly Morphic Container
  + The DOD (Dead Object Detection) acronym is no longer used;
    use 'GC' to refer to the Garbage Collector component.
- Compilers
  + IMCC
    - :named flag can now take string registers as argument
    - A single '=cut' directive is now ignored (without initial Pod directive)
    - :vtable subs now have proper access to 'self' pseudo variable
- Languages
  + add new 'Pod' documentation parser
  + Pipp (PHP implementation):
    - Pipp is now at http://github.com/bschmalhofer/pipp
    - support for 'print', 'dirname', 'implode', 'str_replace',
    - various grammar fixes
  + ECMAScript
    + add 'quit', 'readline' builtins
    + fix 'Boolean' type and 'print' builtin
  + Lua
    - left the nest and is now at http://github.com/fperrad/lua/
  + Rakudo
    - left the nest and is now at http://github.com/rakudo/rakudo/
    - build instructions can be found at http://tinyurl.com/rakudo
  + lazy-k
    - left the nest and is now at http://github.com/bschmalhofer/lazy-k.git
  + unlambda
    - left the nest and is now at http://github.com/bschmalhofer/unlambda/
  + WMLScript
    - left the nest and is now at http://github.com/fperrad/wmlscript.git
  + removed Zcode implementation
- Tools
  + pmc2C
    - ATTRs are now inherited automatically in subclassing PMCs
- Deprecations
  + Parrot_readbc, Parrot_loadbc renamed to Parrot_pbc_read, Parrot_pbc_load.
  + .HLL_map directive in favour of 'hll_map' method on Parrot interpreter
  + Data::Escape library
- Tools
  + pbc_disassemble options added
  + pbc_dump renamed from pdump
- Miscellaneous
  + Parrot is now Copyright Parrot Foundation
  + Parrot's SVN repository is now hosted at https://svn.parrot.org
  + Various code cleanups, consting, 64-bit incompatibilities and other bug fixes


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

Enjoy!


Tuesday, May 20, 2008

Parrot 0.6.2 "Reverse Sublimation" Released!

They were walking to the Hemlock, the Rooster and the Mice, and
the Mice kept looking at one another, questioning.

"We don't know what the future holds, do we?" said Chauntecleer. The Mice all shook their heads. They knew very little of anything. "If," said Chauntecleer, "I say, if I don't come back again, then you must make this food to last a long, long time. I trust your prudence, don't I?" he asked, and they nodded automatically, but their eyes were very big. "And I trust your integrity, right?" They nodded. "And you are mature, now, and I respect your maturity, isn't that so?" Poor Mice, they nodded and nodded, and they blinked, and they nodded. They looked afraid. "Good," said Chauntecleer. "I know I won't be disappointed."

In this way he gave each Mouse a manhood. They couldn't talk to him just now, having so much to turn over in their minds. But neither did they cry.

The Book of Sorrows, by Walter Wangerin Jr.

On behalf of the Parrot team, I'm proud to announce Parrot 0.6.2
"Reverse Sublimation." Parrot is a virtual machine aimed at running all dynamic languages.

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

Parrot 0.6.2 News:

  • Specification
    • updated and launched pdd28_strings.pod
    • updated pdd19_pir.pod
  • Implementation
    • added implementation of Rational PMC
    • simplified ops control flow syntax
    • enabled backtrace on non-glibc platforms too
    • improved some PIR error reporting
    • removed user stack opcodes (save, restore, lookback, entrytype, depth, rotate_up)
      (NOTE: This was scheduled to occur after 0.7.0, moved up to this release)
    • removed register stack, saveall, and restoreall opcodes
    • removed various deprecated features and unused code
  • Languages
    • Amber: retired
    • C99: grammar updated
    • Cardinal: resurrected, method calls and do blocks work now
    • Eclectus: use NQP as PAST generating code
    • Lua:
      • added big number library
      • updated to match PGE changes
      • added a bytecode disassembler & a Lua 5.1 VM bytecode translator
    • Pheme: updated to match PGE/PCT changes
    • Plumhead:
      • use NQP as PAST generating code
      • use riaxpander for macro expansion
    • Rakudo:
      • updated ROADMAP
      • conditional and loop statement modifiers
      • lots of class, object, role, and method improvements
      • Str increment and decrement
      • improved spectest reporting
      • type checking on assignment
      • regexes and grammars
      • undef and self
      • placeholder vars
    • Squaak: added to repository
    • TAP: retired
  • Compilers
    • PGE: updated to match Synopsis 5, deprecated features removed
    • PCT:
      • improve handling of register types, conversion between registers
      • improved error diagnostics
      • add 'arity' to for loops
  • Configuration
    • added step auto::opengl
    • added step gen::opengl
    • added step gen::call_list
  • Miscellaneous
    • still more optimizations and performance improvements, especially in GC
    • new libraries: OpenGL/GLU/GLUT bindings (small subset working)
    • new dump_pbc.pl utility: PBC disassembly/source code weaver
    • improved C++ compiler support
    • optimized builds work again

Gracias to all our contributors for making this possible, and our sponsors for supporting this project. The next scheduled release will occur on 17 June 2008.

Enjoy!