<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
		>
<channel>
	<title>Comments on: Day 6 &#8211; The X and Z metaoperators</title>
	<atom:link href="http://perl6advent.wordpress.com/2010/12/06/the-x-and-z-metaoperators/feed/" rel="self" type="application/rss+xml" />
	<link>http://perl6advent.wordpress.com/2010/12/06/the-x-and-z-metaoperators/</link>
	<description>Something cool about Perl 6 every day</description>
	<lastBuildDate>Sun, 03 Feb 2013 05:15:50 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
	<item>
		<title>By: colomon</title>
		<link>http://perl6advent.wordpress.com/2010/12/06/the-x-and-z-metaoperators/#comment-475</link>
		<dc:creator><![CDATA[colomon]]></dc:creator>
		<pubDate>Thu, 09 Dec 2010 19:00:50 +0000</pubDate>
		<guid isPermaLink="false">http://perl6advent.wordpress.com/?p=500#comment-475</guid>
		<description><![CDATA[Ack, I must have been mostly asleep not to notice that this morning.  :)]]></description>
		<content:encoded><![CDATA[<p>Ack, I must have been mostly asleep not to notice that this morning.  :)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: timtoady</title>
		<link>http://perl6advent.wordpress.com/2010/12/06/the-x-and-z-metaoperators/#comment-474</link>
		<dc:creator><![CDATA[timtoady]]></dc:creator>
		<pubDate>Thu, 09 Dec 2010 18:56:22 +0000</pubDate>
		<guid isPermaLink="false">http://perl6advent.wordpress.com/?p=500#comment-474</guid>
		<description><![CDATA[As for why it says 2 4 2 4 rather than 1 3 2 4, that&#039;s just a rakudobug that appears to involve accidental aliasing of returned variables.]]></description>
		<content:encoded><![CDATA[<p>As for why it says 2 4 2 4 rather than 1 3 2 4, that&#8217;s just a rakudobug that appears to involve accidental aliasing of returned variables.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: colomon</title>
		<link>http://perl6advent.wordpress.com/2010/12/06/the-x-and-z-metaoperators/#comment-471</link>
		<dc:creator><![CDATA[colomon]]></dc:creator>
		<pubDate>Thu, 09 Dec 2010 14:29:58 +0000</pubDate>
		<guid isPermaLink="false">http://perl6advent.wordpress.com/?p=500#comment-471</guid>
		<description><![CDATA[Because &lt;code&gt;(1, 2) Z, (3, 4)&lt;/code&gt; is the equivalent of &lt;code&gt;((1, 2) Z, (3, 4)).Str&lt;/code&gt;, which is doing something along the lines of &quot;Take each element in the list, convert it to a string, and return them separated by spaces.&quot;  &lt;code&gt;.perl&lt;/code&gt; is more akin to Data::Dumper.]]></description>
		<content:encoded><![CDATA[<p>Because <code>(1, 2) Z, (3, 4)</code> is the equivalent of <code>((1, 2) Z, (3, 4)).Str</code>, which is doing something along the lines of &#8220;Take each element in the list, convert it to a string, and return them separated by spaces.&#8221;  <code>.perl</code> is more akin to Data::Dumper.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: prakash</title>
		<link>http://perl6advent.wordpress.com/2010/12/06/the-x-and-z-metaoperators/#comment-470</link>
		<dc:creator><![CDATA[prakash]]></dc:creator>
		<pubDate>Thu, 09 Dec 2010 14:18:46 +0000</pubDate>
		<guid isPermaLink="false">http://perl6advent.wordpress.com/?p=500#comment-470</guid>
		<description><![CDATA[$ perl6 -v

This is Rakudo Perl 6, version 2010.11-15-gfedc117 built on parrot 2.10.1 RELEASE_2_10_1-679-g9bec614

$ perl6
&gt; ((1, 2) Z, (3, 4)).perl
((1, 3), (2, 4))
&gt; (1, 2) Z, (3, 4)
2 4 2 4

Why are the outputs different?

Thanks.]]></description>
		<content:encoded><![CDATA[<p>$ perl6 -v</p>
<p>This is Rakudo Perl 6, version 2010.11-15-gfedc117 built on parrot 2.10.1 RELEASE_2_10_1-679-g9bec614</p>
<p>$ perl6<br />
&gt; ((1, 2) Z, (3, 4)).perl<br />
((1, 3), (2, 4))<br />
&gt; (1, 2) Z, (3, 4)<br />
2 4 2 4</p>
<p>Why are the outputs different?</p>
<p>Thanks.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Larry Wall</title>
		<link>http://perl6advent.wordpress.com/2010/12/06/the-x-and-z-metaoperators/#comment-438</link>
		<dc:creator><![CDATA[Larry Wall]]></dc:creator>
		<pubDate>Mon, 06 Dec 2010 23:26:01 +0000</pubDate>
		<guid isPermaLink="false">http://perl6advent.wordpress.com/?p=500#comment-438</guid>
		<description><![CDATA[Some additional differences are that hypers can work dwimmily on hierarchical values, while X and Z cannot, because they&#039;re more list oriented.  Also, since X and Z are looser than comma, you don&#039;t have to parenthesize comma lists as you must with (most) hyper infixes.  That is, hypers are transparent to the precedence of their base operator, while X and Z (and metasequences based on them) are forced to list infix precedence.]]></description>
		<content:encoded><![CDATA[<p>Some additional differences are that hypers can work dwimmily on hierarchical values, while X and Z cannot, because they&#8217;re more list oriented.  Also, since X and Z are looser than comma, you don&#8217;t have to parenthesize comma lists as you must with (most) hyper infixes.  That is, hypers are transparent to the precedence of their base operator, while X and Z (and metasequences based on them) are forced to list infix precedence.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Matthew Walton</title>
		<link>http://perl6advent.wordpress.com/2010/12/06/the-x-and-z-metaoperators/#comment-437</link>
		<dc:creator><![CDATA[Matthew Walton]]></dc:creator>
		<pubDate>Mon, 06 Dec 2010 21:42:56 +0000</pubDate>
		<guid isPermaLink="false">http://perl6advent.wordpress.com/?p=500#comment-437</guid>
		<description><![CDATA[I certainly can. It&#039;s just about output formatting for the sake of these examples. The .perl method in Perl 6 returns a string representation of the object which could be fed back through the compiler to reproduce the same object (in theory - it doesn&#039;t work for absolutely everything. It&#039;s a bit like Data::Dumper, if you know that from Perl 5). So I used .perl when I was writing the post in order to get the output in a form which shows the structure of the produced lists. If I&#039;d omitted it, I&#039;d have got the standard results from converting a list to a string, which would be something more like:

&lt;code&gt;&gt; say (1, 2 X 3, 4)
13142324&lt;/code&gt;

Far less useful for the illustrative examples in the post.]]></description>
		<content:encoded><![CDATA[<p>I certainly can. It&#8217;s just about output formatting for the sake of these examples. The .perl method in Perl 6 returns a string representation of the object which could be fed back through the compiler to reproduce the same object (in theory &#8211; it doesn&#8217;t work for absolutely everything. It&#8217;s a bit like Data::Dumper, if you know that from Perl 5). So I used .perl when I was writing the post in order to get the output in a form which shows the structure of the produced lists. If I&#8217;d omitted it, I&#8217;d have got the standard results from converting a list to a string, which would be something more like:</p>
<p><code>&gt; say (1, 2 X 3, 4)<br />
13142324</code></p>
<p>Far less useful for the illustrative examples in the post.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: pete_mcstubbins</title>
		<link>http://perl6advent.wordpress.com/2010/12/06/the-x-and-z-metaoperators/#comment-436</link>
		<dc:creator><![CDATA[pete_mcstubbins]]></dc:creator>
		<pubDate>Mon, 06 Dec 2010 20:19:16 +0000</pubDate>
		<guid isPermaLink="false">http://perl6advent.wordpress.com/?p=500#comment-436</guid>
		<description><![CDATA[Can anyone explain why the &quot;.perl&quot; is needed at the end of an expression for the code which begins with &quot;say&quot;?  Thank you in advance.]]></description>
		<content:encoded><![CDATA[<p>Can anyone explain why the &#8220;.perl&#8221; is needed at the end of an expression for the code which begins with &#8220;say&#8221;?  Thank you in advance.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: colomon</title>
		<link>http://perl6advent.wordpress.com/2010/12/06/the-x-and-z-metaoperators/#comment-433</link>
		<dc:creator><![CDATA[colomon]]></dc:creator>
		<pubDate>Mon, 06 Dec 2010 15:39:37 +0000</pubDate>
		<guid isPermaLink="false">http://perl6advent.wordpress.com/?p=500#comment-433</guid>
		<description><![CDATA[No, it&#039;s only &quot;equivalent&quot; in the simple cases.  The big difference is that zip is lazy and sequential, while hyper is eager and may execute in any order.]]></description>
		<content:encoded><![CDATA[<p>No, it&#8217;s only &#8220;equivalent&#8221; in the simple cases.  The big difference is that zip is lazy and sequential, while hyper is eager and may execute in any order.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dean</title>
		<link>http://perl6advent.wordpress.com/2010/12/06/the-x-and-z-metaoperators/#comment-432</link>
		<dc:creator><![CDATA[Dean]]></dc:creator>
		<pubDate>Mon, 06 Dec 2010 15:22:09 +0000</pubDate>
		<guid isPermaLink="false">http://perl6advent.wordpress.com/?p=500#comment-432</guid>
		<description><![CDATA[Is the Zip operator always equivalent to the corresponding hyper-operator?

&gt; (1,2) Z (3,4)
1 3 2 4
&gt; (1,2) &gt;&gt;,&lt; (1,2) Z+ (3,4)
4 6
&gt; (1,2) &gt;&gt;+&lt;&lt; (3,4)
4 6]]></description>
		<content:encoded><![CDATA[<p>Is the Zip operator always equivalent to the corresponding hyper-operator?</p>
<p>&gt; (1,2) Z (3,4)<br />
1 3 2 4<br />
&gt; (1,2) &gt;&gt;,&lt; (1,2) Z+ (3,4)<br />
4 6<br />
&gt; (1,2) &gt;&gt;+&lt;&lt; (3,4)<br />
4 6</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Christoph</title>
		<link>http://perl6advent.wordpress.com/2010/12/06/the-x-and-z-metaoperators/#comment-430</link>
		<dc:creator><![CDATA[Christoph]]></dc:creator>
		<pubDate>Mon, 06 Dec 2010 10:37:54 +0000</pubDate>
		<guid isPermaLink="false">http://perl6advent.wordpress.com/?p=500#comment-430</guid>
		<description><![CDATA[&gt; X can only handle an infinite list on the left, otherwise it would never manage to get anywhere at all.

This restriction only applies because S03 demands ordered results (&quot;The returned lists are ordered such that the rightmost elements vary most rapidly.&quot;) If you drop this requirement, X could easily take infinite lists on both sides (cross-products of countable sets are still countable)]]></description>
		<content:encoded><![CDATA[<p>&gt; X can only handle an infinite list on the left, otherwise it would never manage to get anywhere at all.</p>
<p>This restriction only applies because S03 demands ordered results (&#8220;The returned lists are ordered such that the rightmost elements vary most rapidly.&#8221;) If you drop this requirement, X could easily take infinite lists on both sides (cross-products of countable sets are still countable)</p>
]]></content:encoded>
	</item>
</channel>
</rss>
