PDS aftermath: .nqp programs in Parrot core

chromatic chromatic at wgz.org
Mon Jan 31 16:31:29 UTC 2011


On Monday 31 January 2011 at 07:16, Will Coleda wrote:

> I am not convinced that this is a problem. I certainly don't expect,
> as a parrot developer, to actively work on these tools*, but find the
> thought that supporting portability is harmful... strange.

Set aside the silly strawman that Parrot is actively hostile to cross-VM 
portability and we can have a rational discussion of the real issue:

	Portability is never free.

In specific, supporting a cross-VM portability layer within Parrot's repository 
requires:

	* hosting an abstraction layer of code in addition to what NQP-rx 
provides today
		* which probably has runtime costs
		* which definitely has support costs in terms of our deprecation 
policy, our test policy, our documentation policy, and pretty much every 
policy we have regarding code intended for use by Parrot users
		* which very likely has implications on the interface between Parrot 
and the new NQP as the abstraction layer will necessarily change to support 
more backends
	* tolerating the concomitant churn of said layer
	* gathering the resources to design, implement, support, test, and 
maintain said layer

I believe that that cross-language portability layer--no matter how valuable 
it may be as a philosophical, ethical, practical, or aesthetic goal--is, at 
best, irrelevant to Parrot's goals today. It's more likely an expensive 
distraction.

Some, but not all, of these concerns are moot if the portability layer is 
completely external to Parrot itself and never included in Parrot's repository 
or the official Parrot packages. In particular, the concerns about a runtime 
performance penalty imposed by the abstraction layer as well as interface 
churn do not go away for two reasons:

	* it may penalize Parrot in sketchy competitive performance analysis (I 
can write a backend for a tiny subset of Perl 6 with mind-blowing performance 
because it doesn't do anything interesting, and all that proves is that 
features aren't free)

	* it may penalize core Parrot programs written in the language for no 
benefit

Again, that portability may be a fine goal for the new NQP and it may be a 
fundamental goal to Rakudo and it may make you feel warm and fuzzy inside and 
it could be nice to pursue in a world without resource constraints, but it's a 
goal irrelevant to Parrot right now.

-- c


More information about the parrot-dev mailing list