Re: Patches that will come...

[email protected] ("mattia\.barbon\@libero\.it") Mon, 23 Aug 2004 09:22:07 +0200
Newsgroups perl.ponie.dev
Message-ID <[email protected]>
> On Sat, Aug 21, 2004 at 06:53:39PM +0200, Mattia Barbon wrote:
> >   Hello,
> > just a heads up: I have some patches to Ponie for:
> > 
> > 1) creating a Ponie::Parrot that allows access to Parrot internals from Ponie:
> > 
> >   use Ponie::Parrot;
> > 
> >   my $interpreter = Ponie::Parrot->get_interpreter;
> > 
> >   $interpreter->load_bytecode_from_file( 'test.imc' );
> >   $interpreter->load_bytecode_from_string( <<'EOT', 'imc' );
> >   .sub parrot_hello
> >       print "hello, world\n"
> >       invoke P1
> >   .end
> >   EOT
> > 
> >   $interpreter->import_subroutine( 'parrot_hello', 'perl_hello' );
> > 
> >   perl_hello();
> 
> This seems useful.
> 
> > 2) allows building Ponie PMCs inside Ponie source tree, without putting
> >    them in parrot/classes
> 
> A bigger priority is allowing the perl5 PMCs to link back into perl and

  That  is what it does.

> call perl routines. You may have noticed the commented out calls to croak()
> in the perl5 PMCs - this is because the static parrot link won't work without
> a libperl if these are in, and parrot doesn't have a libperl to link with,
> due to the ponie build order.

  Now libparrot.a only links Parrot code. The Perl5 PMCs
are archived into libperl.a.

> building Ponie PMCs inside the Ponie source tree as dynamic libraries would
> probably solve this. However this is stalled on parrot bugs which I'm
> unable to resolve: (31208, 31209)

  #31208 is solved as of yesterday. The patch depends on
some changes to Parrot that have not been accepted/discussed.
If the aforementione changes go into Parrot Perl5 PMCs could
be linked inside the main Ponie binary.

> I want this done before proceeding further on the SV/PMC refactoring.
> 
> > 3) implements marking of array contents (taking into account the naughty
> >    things S_mergesortsv does to arrays)
> 
> I'm curious - what is this for?

  To avoid reimplementing mergesort. It would probably
have taken less time to reimplement it or just to switch to
qsort, probably.

> > 4) allows calling from Perl to Parrot (only plain subroutines, objects to come)
> 
> This sounds interesting.
> 
> >   It all depends on pending patches to Parrot, some of which I have sent,
> > some I am still preparing, but I thought I better mention it to avoid
> > duplicating work (in case anybody is working on Ponie ATM).
> 
> It's nice for unsolicited patches to turn up out of the blue, but by starting
> without communicating with the project pumpking you're running the risk
> that you're not working in the same direction as him.

  Yes. I should know better than that.

> > P.S.: is there a ponie-changes list to monitor CVS commits?
> 
> [email protected]
> 
> It doesn't appear to be listed at lists.perl.org.

  Is the current roadmap somewhere? Are there any plans I should
know of before re-starting coding?

Regards
Mattia