<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Perlblogs &#187; ponie</title>
	<atom:link href="http://perlblogs.com/category/ponie/feed/" rel="self" type="application/rss+xml" />
	<link>http://perlblogs.com</link>
	<description>Posts from selected Perl bloggers</description>
	<lastBuildDate>Mon, 06 Feb 2012 20:47:54 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
<atom:link rel="hub" href="http://pubsubhubbub.appspot.com"/><atom:link rel="hub" href="http://superfeedr.com/hubbub"/>		<item>
		<title>How About a Shetland Ponie?</title>
		<link>http://www.modernperlbooks.com/mt/2010/07/how-about-a-shetland-ponie.html</link>
		<comments>http://www.modernperlbooks.com/mt/2010/07/how-about-a-shetland-ponie.html#comments</comments>
		<pubDate>Thu, 29 Jul 2010 20:47:15 +0000</pubDate>
		<dc:creator>chromatic</dc:creator>
				<category><![CDATA[Parrot]]></category>
		<category><![CDATA[perl]]></category>
		<category><![CDATA[perl5]]></category>
		<category><![CDATA[perl6]]></category>
		<category><![CDATA[perlprogramming]]></category>
		<category><![CDATA[ponie]]></category>
		<category><![CDATA[Rakudo]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Rakudo Star is out, and so begins the next great wave of interest and use of Perl 6. The next several releases will improve performance, fix bugs, add features, port or create more libraries, and&#38;mdash;in all likelihood&#38;mdash;improve and otherwise clarify...]]></description>
			<content:encoded><![CDATA[
        <p><a href="http://rakudo.org/node/75">Rakudo Star is out</a>, and so begins
the next great wave of interest and use of Perl 6.  The next several releases
will improve performance, fix bugs, add features, port or create more
libraries, and&mdash;in all likelihood&mdash;improve and otherwise clarify the
Perl 6 specification.</p>

<p>The Perl ecosystem has room for other projects, however.</p>

<p>For example, one of the clearest benefits Perl 6 has over Perl 5 is its portability to other virtual machines and runtimes.  By design Perl 6 <em>encourages</em> multiple implementations.  Perl 5 is its own specification; in many places, what Perl 5 is is solely what Perl 5 happens to do.  Sometimes that behavior gets enshrined in the specification tests, but other times it's folklore and institutional community knowledge.</p>

<p>Just as <a href="http://trac.parrot.org/parrot/wiki/Lorito">Parrot's Lorito project</a> intends to make Parrot at least an order of magnitude faster, so too a reorganization of Perl 5 internals could make amazing things more possible.</p>

<p>What if there were a project to <a
href="http://www.nntp.perl.org/group/perl.perl5.porters/2010/07/msg162367.html">implement
a minimal set of Perl 5 on the Parrot virtual machine</a> as a prototype and
exploration of how much of Perl 5 you can support, the effort it takes to do
so, and what kind of utility you can expect?  Parrot's compiler tools let the
Rakudo developers write most of Perl 6 in Perl 6; surely it's possible to write
Perl 5 in a similar fashion.  (Credit to other projects such as <a
href="http://rubini.us/">Rubinius</a> and <a
href="http://codespeak.net/pypy/">PyPy</a> for demonstrating that such things
are possible.)</p>

<p>I know other projects have attempted this in the past.  Perhaps the best place to steal information is Bradley Kuhn's masters thesis, <a href="http://www.ebb.org/bkuhn/articles/thesis/">Considerations on Porting Perl
to the Java Virtual Machine</a>.</p>

<p>As Jesse wrote in his comments, bug-for-bug compatibility isn't necessary.
Nor is full compliance with the existing Perl 5 test suite.  A simple proof of
concept to produce the 80% of Perl 5 most people use in most programs should
suffice.  (Parrot gives you a lot of that anyway.)</p>

<p>As a bonus, you get cheap and easy interoperability with Perl 5, access to
Parrot features such as multidispatch, grammars, continuations, and bytecode
serialization, and you could even replace some of the uses of Perl 5 within
Parrot's and perhaps even Rakudo's configuration and build processes.</p>

<p>It doesn't even have to be a pony of full size.</p>
        
    ]]></content:encoded>
			<wfw:commentRss>http://perlblogs.com/2010/07/29/how-about-a-shetland-ponie/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

