RFC: Move build tools to Perl5, developer tools to Perl6

Reini Urban rurban at x-ray.at
Fri Feb 15 22:07:33 UTC 2013

On Fri, Feb 15, 2013 at 1:05 PM, Christoph Otto <christoph at mksig.org> wrote:
> On Fri, Feb 15, 2013, at 9:56, Patrick R. Michaud wrote:
>> On Fri, Feb 15, 2013 at 06:52:31PM +0100, Gerhard R. wrote:
>> > > Personally, if I'm making changes to operators in Parrot, NQP, or
>> > > language XYZ, I don't really want to have a fully installed
>> > > copy of Rakudo + libraries lying around to do it.
>> >
>> > I don't think that's a message anyone wants broadcast too widely -
>> > 'Perl6 developers can't be bothered to have Perl6 installed'?!
>> Once again, you've assumed that Perl 6 developers will be the
>> only ones using Parrot, NQP, or language XYZ.  Please stop.
>> Pm
> Here's the deal and my reasoning.  ops2c should be reverted to its p5
> version.  If nobody beats me to it, I'll plan on doing this myself.
> The reasoning is that requiring nqp (or worse, full Rakudo) to be
> installed complicates rebuilding ops, involves more complicated runtime
> requirements for a low-level component of Rakudo's dependency chain and
> slows down the build.  We're already assuming that p5 is available for
> the build and that assumption will not change in the foreseeable future.
>  opsc (nqp-rx version) was written while we were still trying to get
> away from p5 to a more self-hosted toolchain.  That's no longer a goal.
> Self-hosting is great when it's viable but right now it's not the most
> pragmatic option available.
> Modern nqp would be an acceptable second choice but would still have
> many of the dependency issues.

I fully agree.

It was very easy for me to fix line directives in the p5-based pmc2c emitter,
but it is pretty hard for me to add ops line directives to the new
nqp-based ops2c,
and I don't like the bootstrap cycle:
parrot -> nqp -> ops2c -> ops -> c -> parrot
The old p5-ops2c -> ops -> c -> parrot was faster and easier to maintain.

nqp is then only needed for the ProfTest which needs to be externalized.
Reini Urban
http://cpanel.net/   http://www.perl-compiler.org/

More information about the parrot-dev mailing list