Parrot 1.8.0 "Zygodactyly" Released!
Bernhard.Schmalhofer at gmx.de
Tue Nov 17 17:38:13 UTC 2009
On behalf of the Parrot team, I'm proud to announce Parrot 1.8.0
Parrot, http://parrot.org/, is a virtual machine aimed at running
all dynamic languages.
Parrot 1.8.0 is available on Parrot's FTP site
ftp://ftp.parrot.org/pub/parrot/releases/devel/1.8.0/, or follow the
download instructions at http://parrot.org/download.
Parrot 1.8.0 News:
+ The FileHandle PMC now exposes the exit code of child process that
was run as pipe.
+ Experimental support for overriding VTABLE invoke in PIR objects was
+ The method 'type' was added to the PackfileAnnotations PMC.
+ The internals of the parrot calling conventions, PCC, were reworked.
All call paths now use a CallSignature object for passing arguments
and return values.
+ The new API-function 'Parrot_ext_call' was added for calling into
+ The fixed-size allocator was improved.
+ The files installed by 'make install-dev' are now covered by 'make
install' as well.
+ The experimental ops 'fetch' and 'vivify' were added.
+ The -I option to the command 'parrot' now prepends items to the
+ The Context struct was substituted with auto attributes
+ Use the osname determined in auto::arch in subsequent configuration
steps (convert_OSNAME branch).
+ Eliminated dependence on Perl 5 '%Config' in auto::format
+ MultiSub PMCs now stringify to the name of their first candidate,
instead of the number of candidates.
+ The platform detection at the start of the configuration process was
+ The 'lineof' method on CodeString objects now precomputes line
to be more efficient on variable-width encoded strings.
+ P6object now supports .WHO and .WHERE methods on protoobjects.
+ A shiny new self-hosting implementation of NQP has been added in
- New NQP available as nqp-rx.pbc or parrot-nqp fakecutable.
- NQP includes direct support for grammars and regexes, including
- NQP has a new PAST-based regex engine (intended to replace PGE).
- Regexes may contain code assertions, parameters, lexical
declarations, and more.
- Double-quoted strings now interpolate scalar variables and closures.
- Subroutine declarations are now lexical by default.
- PAST::Block now supports an 'nsentry' attribute.
- PAST::Var allows 'contextual' scope.
- Attribute bindings now return the bound value.
+ Fixes for the port of Parrot to RTEMS were applied. Yay, first port
to a real time OS!
+ On NetBSD, shared libs are now used.
+ Use the the fixed-sized allocator in the Context and the
+ Many small speed improvements.
- New deprecations
+ MT19937, the Mersenne twisted pseudorandom number generator, is now
hosted on github and
will be removed from the Parrot core. (eligible in 2.1)
+ The 'Parrot_call_*' functions for invoking a sub/method object from
deprecated. They are replaced by 'Parrot_ext_call'. (eligible in 2.1)
+ All bitwise VTABLE functions are deprecated. (eligible in 2.1)
+ All bitwise ops will become dynops. (eligible in 2.1)
- Realized deprecations
+ The slice VTABLE entry was removed.
+ The last traces of the 'malloc' garbage collector were removed.
+ Parrot_pcc_constants() was renamed to Parrot_pcc_get_constants().
+ The deprecated functions from the Embedding/Extension interface were
+ The library YAML/Parser/Syck.pir was removed.
+ The VTABLE function instantiate_str() was removed.
+ Building of parrot_nqp was removed.
+ The test coverage of the time-related ops was much improved.
+ New testing functions in Test::More: lives_ok() and dies_ok().
+ The Perl 5 based test scripts t/op/bitwist.t, t/op/comp.t,
t/op/literal.t, t/op/number.t, t/op/sprintf2.t, and t/op/00ff-dos.t
were converted to PIR.
+ The test scripts t/op/annotate.t and t/op/time.t have begun
to be translated from Perl 5 to PIR.
+ In some tests the dependency on %Config from Perl 5 was eliminated.
+ The meaning of 'p' means in NCI function call signatures was clarified.
+ The stub for a new language, as created by mk_language_shell.pl,
now relies on the PIR-based tools, which are replacing the Perl
+ The library Configure.pir was added.
+ The library distutils.pir was added.
+ The mailing list parrot-users and a corresponding google group was
+ Many bugfixes, code cleanups, and coding standard fixes.
Many thanks to all our contributors for making this possible, and our
for supporting this project. Our next scheduled release is December
More information about the parrot-dev