Re: First victim, er SV type

[email protected] (Tim Bunce) Sat, 15 May 2004 21:51:20 +0100
Newsgroups perl.ponie.dev
Message-ID <[email protected]>
On Sat, May 15, 2004 at 03:48:30PM +0100, Dave Mitchell wrote:
> >From the complete Warnocking of my email below, can I conclude that
> no one has any idea what Ponie is for or how it will be implemented ????
> (ducks).

:)

I had started to write a reply when I saw it but decided I'd let the
ponie team give there 'official' view rather than my personal one.
But what the heck...

> On Fri, May 07, 2004 at 09:12:37PM +0100, Dave Mitchell wrote:
> > 
> > Anyway - what, philosophically speaking, is Ponie's intentions in this
> > area? Does it just want to use PMCs as dumb storable vessels, or does it
> > want to transfer the intelligence into them? And are we intending to use
> > off-the-shelf parrot/Perl6 PMCs, or a whole bunch of Ponie-specific PMCs
> > that ape all the Perl5 SV types?

I figure it's like Europe, an "ever closer union" where no one really knows
where it'll end :)

> > Also, what actually is the final purpose of Ponie? Is it intended to be
> > an integrated part of Perl6+Parrot, so that when someone compiles a Perl
> > program, the parts of it that are Perl5 syntax get compiled using a bunch
> > of Perl5 byte codes, but apart from that its one big happy executable,
> > with perl5 bits of code calling into perl6 bits of code and vice-versa,
> > with PMCs being happily passed between them? And running as least as fast
> > as the current Perl 5 interpreter? Or is the goal less ambitious?

I think of it this way...

Perl 6 needs to 'reach backwards' towards Perl 5 to the point where X% of
Perl 5 scripts will work, but XS extensions never will (probably :)

Ponie is extending Perl 5 'forwards' towards Parrot to the point
where Perl 5 code will run on Parrot, including extensions.
(I won't go into "why" here.)

How Ponie will ultimately relate to Perl 6 is anyones guess.

Perl 6 is a ground-up blue-sky green-field massive development project.
Ponie is a keep-it-working experimental-evolution of a mature system.
(Ponie also has the very valuable side-effect of acting as a stress
test of Parrot and pushing some aspects of its evolution.)

If Ponie, Perl 6, and especially Parrot achieve our expectations then
PMCs ought to happily pass between them. But if they all achieve our
expectations then there'd be little need for that. There'd only be
a need if some Perl 5 code that can't run on Perl 6 (perhaps because
it uses an XS extension) needs to talk to Perl6 code, or the reverse.

It's impossible to predict how rapidly each project will progress.
So you could argue that each also acts as an insurance policy for the other.

Tim [who may be talking nonsense as I'm not really involved in any of this]