nicholas writes "A fourth ponie snapshot is now available from the Fotango opensource site http://opensource.fotango.com/user/nclark/ponie-4.tar.bz2 (12M, or .gz if you prefer 15M)."
md5sums are
13c5690ba78fadfde3fd12e7e4503554 ponie-4.tar.bz2
eae0a6a55a39be600a53a2465a09cc35 ponie-4.tar.gz
With this release the abstraction of SVs to PMCs is considerably improved.
There is now a full PMC hierarchy reflecting the hierarchy of perl's SV types.
It's possible to have multiple PMC types emulating the same core perl 5 type,
which allows behaviour/storage to be changed cleanly by deriving from an
existing PMC type, instead of cluttering the existing code with switch
statements. It's also trivial to add new core types (less than an hour's work)
All perl 5 flags lookup is done as PMC calls, which means we're free to lie
creatively and prevent existing perl code from being aware of any changes we
make behind the scenes. All perl type upgrades are now performed as PMC type
changes using the PMC morph method. All SV memory allocation has been abstracted
to the individual PMC files, which allows each PMC to be changed
independently.
The ponie repository has been moved to subversion, considerably simplifying
the checkout procedure:
That's all. Including fetching a copy of parrot. There is now a detailed
roadmap of the tasks ahead in the file
Roadmap
in the
top level of the distribution.
Parts of the perl core code have been converted from both accessing and
setting SV values using one macro to using explicit
_set
macros for
setting. The remainder are converted in the main perl repository, ready to merge
over. I'd like thank Steve Peters for attacking this task with gusto. This
release is also part way through getting all reference counting and destruction
ordering correct, so that this won't cause any nasty surprises when converted to
mark & sweep GC. Some of the problems now being tidied were present in perl
5.000.
The purpose of this release is to make sure that ponie keeps on working with
the XS modules available on CPAN, and to let people test ponie with their own
private source code.
ponie is based on perl 5.9.2 as released in April, so will contain all core
perl bugs still present in that release. When 5.9.3 is released ponie will be
updated to that version.
If you embed perl, nothing should have changed but parrot takes control over
a substantial part of the interface to the operating system, this might cause
problems for you. (One example is that parrot seems to hijack SIGINT currently,
and weird issues with STDERR).
Please see the
README
file in the distribution for instructions on how to build and install ponie, and where to report problems.