On Sunday 21 September 2008 02:18:53 Moritz Lenz wrote:

> Why is it a bug?

Because the code won't work as written on many Perl installations, even if 
they meet most other requirements we enforce through Bundle::Parrot.

> When a script uses a module that's not installed, we 
> don't call it a bug either - it just has an additional dependency.

If we're not adding those dependencies to Bundle::Parrot, that's a bug too.

> This is this so different with 'use threads'? Or is there a policy somewhere
> in the parrot project that says "nothing should depend on a threaded perl"?

Bundle::Parrot doesn't require it (and probably shouldn't).  
Building/installing a threaded Perl is more difficult than installing a CPAN 
distribution.

> I'm not sure if it's a cage task, because it works on the test suite,
> which doesn't live in the parrot repository at all.
>
> Maybe this script should even be moved to the pugs repository?

That's a possibility.  There are several options:

* Revert the change altogether (not a great option; parallel unfudging seems 
quite useful)

* Allow parallelization only on threaded Perls (my favorite)

* Improve the error message such that people know they shouldn't run it and, 
if it fails, why it's failing (not as good, but at least informative)

* Move it to the Pugs repository (seems reasonable)

I dislike adding code with known limitations where the failure condition is 
frequent and the resulting error messages aren't staggeringly obvious.  If 
the code can silently work correctly for threaded and non-threaded Perls, 
great!  If it requires a warning and exit for non-threaded Perls, that's 
workable too.

-- c
_______________________________________________
http://lists.parrot.org/mailman/listinfo/parrot-dev

Reply via email to