Simon writes "The latest version of Parrot, the intended Perl 6 interpreter, was released early on Sunday morning. This one is more interesting than the previous releases because it has full support for custom data types, making it possible to use Perl-like, Python-like and whatever-language-you-want-like variables in your Parrot programs. The full release announcement follows.
- "The Lion, The Witch and the Wardrobe",A great crowd of people were standing all round the Stone Table and though the moon was shining many of them carried torches which burned with evil-looking red flames and black smoke. But such people! Ogres with monstrous teeth, and wolves, and bull-headed men; spirits of evil trees and poisonous plants; and other creatures whom I won't describe because if I did the grownups would probably not let you read this book---Cruels and Hags and Incubuses, Wraiths, Horrors, Efreets, Sprites, Orknies, Wooses, and Ettins.
You can find Parrot at your friendly local CPAN Mirror, or in CVS.
Simon continues:
"What have we unleashed? As promised, the latest release of Parrot, 0.0.3, contains support for complex, language-specific data types to be created. PMCs, or Parrot Magic Cookies, are abstract object data types, with class libraries written in C specifying their behaviour.
To start you off, we have implemented nice, happy, polymorphic Perl undef, Perl Integer, Perl String and Perl Number classes. There's also a default class you can inherit from if you're rolling your own data types. See docs/vtables.pod for all the juicy details.
That's not all, however... We've more documentation, examples, a minature Scheme implementation, support for pushing and popping onto register and global user stacks, subroutine support for Jako, better platform support, and a whole lot more. See the NEWS and ChangeLog files for the rest.
You can get the source tarball in (currently) two different ways:
Once you've unpacked parrot, you should be able to run Configure.pl and make, and then run some tests:
perl Configure.plTake a look at docs/parrot.pod for where to go from there.
The special kudos for this release goes to Jeff Goff, who produced most of the vtable methods for the Perl Number and Perl String classes.
There are two major goals for Parrot 0.0.4; first, I'd like to see the string handling stuff all sorted out, by bringing the support for UTF8, UTF16 and UTF32 up to the current standards of support for plain old ASCII. Secondly, we want array and hash support. Amazingly, Jeff has apparently already done most of this.
Patches should be sent to the perl6-internals mailing list, where I'll take a look at them and apply them to the CVS tree. As time goes by, people who regularly submit good patches will be given committer access to the tree, and can help me out applying other patches from the list.
Have fun,
Simon