[PROPOSAL] include nqp-rx PIR files in Parrot core distribution

Allison Randal allison at parrot.org
Tue Nov 3 03:06:00 UTC 2009

I have concerns either way.

A) Include generated PIR files in Parrot repository:

- It is nice to have regular expressions easily accessible without 
installing a module.

- Shipping generated files when we don't have a copy of the original 
source is risky. Parrot might need to fix a small bug, and the external 
NQP module may have changed radically, preventing us from merging it in 
until a deprecation point. Then we have to track the version of NQP 
that's in Parrot, and track any patches we've made to it, and 
potentially reapply those patches every time we merge NQP into Parrot. 
(I have a module in core Perl, it's bad enough when the whole source of 
the module is included in the distro repository.)

- Shipping generated code with difficult access to the original source 
(find a particular version of the repository for another project) isn't 
entirely in line with the open source philosophy. (Not a technical 
problem, though.)

B) Use NQP as a purely external module:

- Some tests using Parrot's Test::More 'like' would have to be changed 
(the 'make coretest' target was already modified this way).

- Plumage would have a more complex installation process, needing both 
Parrot and NQP installed before it can run. (The point of Plumage is to 
simplify module installation, and this works against that purpose.)

- Language modules would need to depend on both Parrot and NQP.

The solution for the B.2 and B.3 problems seems to be shipping the 
NQP-rx tarball with a 'make install' target (and packaging it, as 
Patrick mentioned). I don't have a solution for the A.2 problem.


More information about the parrot-dev mailing list