<?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 14: Going to the Rats</title>
	<atom:link href="http://perl6advent.wordpress.com/2009/12/14/day-14-going-to-the-rats/feed/" rel="self" type="application/rss+xml" />
	<link>http://perl6advent.wordpress.com/2009/12/14/day-14-going-to-the-rats/</link>
	<description>Something cool about Perl 6 every day</description>
	<lastBuildDate>Wed, 05 Jun 2013 15:41:30 +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/2009/12/14/day-14-going-to-the-rats/#comment-125</link>
		<dc:creator><![CDATA[colomon]]></dc:creator>
		<pubDate>Tue, 15 Dec 2009 16:33:13 +0000</pubDate>
		<guid isPermaLink="false">http://perl6advent.wordpress.com/?p=225#comment-125</guid>
		<description><![CDATA[In the spec, Rats are Int over uint64 (that is, a unlimited size big num integer over an unsigned 64-bit int), so these issues do apply.  If you need unlimited precision regardless of efficiency, the spec provides the FatRat type, which is an Int over an another Int.  There&#039;s been no attempt to implement this, as Rakudo does not have bignums yet.]]></description>
		<content:encoded><![CDATA[<p>In the spec, Rats are Int over uint64 (that is, a unlimited size big num integer over an unsigned 64-bit int), so these issues do apply.  If you need unlimited precision regardless of efficiency, the spec provides the FatRat type, which is an Int over an another Int.  There&#8217;s been no attempt to implement this, as Rakudo does not have bignums yet.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Roie</title>
		<link>http://perl6advent.wordpress.com/2009/12/14/day-14-going-to-the-rats/#comment-123</link>
		<dc:creator><![CDATA[Roie]]></dc:creator>
		<pubDate>Tue, 15 Dec 2009 15:57:18 +0000</pubDate>
		<guid isPermaLink="false">http://perl6advent.wordpress.com/?p=225#comment-123</guid>
		<description><![CDATA[Given that automatic bignums are in the spec, shouldn&#039;t the 1/60000+1/60001 example always work, even for huge numbers? I.e., shouldn&#039;t (1/$x+1/$y).WHAT always be Rat, regardless of the size of $x and $y?]]></description>
		<content:encoded><![CDATA[<p>Given that automatic bignums are in the spec, shouldn&#8217;t the 1/60000+1/60001 example always work, even for huge numbers? I.e., shouldn&#8217;t (1/$x+1/$y).WHAT always be Rat, regardless of the size of $x and $y?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Moritz</title>
		<link>http://perl6advent.wordpress.com/2009/12/14/day-14-going-to-the-rats/#comment-112</link>
		<dc:creator><![CDATA[Moritz]]></dc:creator>
		<pubDate>Mon, 14 Dec 2009 19:33:09 +0000</pubDate>
		<guid isPermaLink="false">http://perl6advent.wordpress.com/?p=225#comment-112</guid>
		<description><![CDATA[In fact I had a use case right away when they were implemented: In a chart plotting library floating point errors would mean that the Zero-tick would actually be 1e-17 or so.

Instead of special-casing the zero, I changed a few lines in my code and had rats working, and &quot;magically&quot; the 1e-17 became 0.

See here for an illustration: http://perlgeek.de/blog-en/perl-6/rats-and-other-pets.html]]></description>
		<content:encoded><![CDATA[<p>In fact I had a use case right away when they were implemented: In a chart plotting library floating point errors would mean that the Zero-tick would actually be 1e-17 or so.</p>
<p>Instead of special-casing the zero, I changed a few lines in my code and had rats working, and &#8220;magically&#8221; the 1e-17 became 0.</p>
<p>See here for an illustration: <a href="http://perlgeek.de/blog-en/perl-6/rats-and-other-pets.html" rel="nofollow">http://perlgeek.de/blog-en/perl-6/rats-and-other-pets.html</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ricardo Signes</title>
		<link>http://perl6advent.wordpress.com/2009/12/14/day-14-going-to-the-rats/#comment-111</link>
		<dc:creator><![CDATA[Ricardo Signes]]></dc:creator>
		<pubDate>Mon, 14 Dec 2009 19:25:34 +0000</pubDate>
		<guid isPermaLink="false">http://perl6advent.wordpress.com/?p=225#comment-111</guid>
		<description><![CDATA[That was great -- probably one of the most fun (for me) articles so far.  I have no darn idea what I&#039;d ever use them for, but the overall interface and simplicity of use seems, from this post, really nice.]]></description>
		<content:encoded><![CDATA[<p>That was great &#8212; probably one of the most fun (for me) articles so far.  I have no darn idea what I&#8217;d ever use them for, but the overall interface and simplicity of use seems, from this post, really nice.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: colomon</title>
		<link>http://perl6advent.wordpress.com/2009/12/14/day-14-going-to-the-rats/#comment-110</link>
		<dc:creator><![CDATA[colomon]]></dc:creator>
		<pubDate>Mon, 14 Dec 2009 18:15:41 +0000</pubDate>
		<guid isPermaLink="false">http://perl6advent.wordpress.com/?p=225#comment-110</guid>
		<description><![CDATA[They are in the spec, but probably won&#039;t make it into Rakudo until the second half of 2010.]]></description>
		<content:encoded><![CDATA[<p>They are in the spec, but probably won&#8217;t make it into Rakudo until the second half of 2010.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: bened</title>
		<link>http://perl6advent.wordpress.com/2009/12/14/day-14-going-to-the-rats/#comment-109</link>
		<dc:creator><![CDATA[bened]]></dc:creator>
		<pubDate>Mon, 14 Dec 2009 16:43:10 +0000</pubDate>
		<guid isPermaLink="false">http://perl6advent.wordpress.com/?p=225#comment-109</guid>
		<description><![CDATA[Will there be automatic big numbers in Rakudo in future releases? That&#039;s a feature I was always impressed by in Common Lisp.]]></description>
		<content:encoded><![CDATA[<p>Will there be automatic big numbers in Rakudo in future releases? That&#8217;s a feature I was always impressed by in Common Lisp.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: colomon</title>
		<link>http://perl6advent.wordpress.com/2009/12/14/day-14-going-to-the-rats/#comment-107</link>
		<dc:creator><![CDATA[colomon]]></dc:creator>
		<pubDate>Mon, 14 Dec 2009 07:11:06 +0000</pubDate>
		<guid isPermaLink="false">http://perl6advent.wordpress.com/?p=225#comment-107</guid>
		<description><![CDATA[It&#039;s kind of wonky, which is why I think I skirted around the answer.  Most directly, it&#039;s because (in current Rakudo), 60000 * 60001 is a Num, not an Int, because it trips an Int overflow check after the multiplication.  What&#039;s weird about this is it trips that 32-bit overflow flag even if Rakudo is compiled with 64-bit Ints and thus is perfectly capable of storing 60000 * 60001 in an Int.  (On my 32-bit OS X, (60000 * 60001).Int == -2147483648; on my 64-bit Linux machine, (60000 * 60001).Int == 3600060000.  On both of them (60000 * 60001).WHAT is Num.)

In theory, an Int should be a BigNum and able to handle 60000 * 60001 with ease, but that&#039;s not the case in Rakudo.  But then, in theory, the denominator of a Rat should be an Int64, a 64-bit Int, but Rakudo doesn&#039;t have such a type yet.  Once these types are in place, the gist of the example still is correct, but you&#039;ll need larger numbers that 60001 to see the effect in practice.)]]></description>
		<content:encoded><![CDATA[<p>It&#8217;s kind of wonky, which is why I think I skirted around the answer.  Most directly, it&#8217;s because (in current Rakudo), 60000 * 60001 is a Num, not an Int, because it trips an Int overflow check after the multiplication.  What&#8217;s weird about this is it trips that 32-bit overflow flag even if Rakudo is compiled with 64-bit Ints and thus is perfectly capable of storing 60000 * 60001 in an Int.  (On my 32-bit OS X, (60000 * 60001).Int == -2147483648; on my 64-bit Linux machine, (60000 * 60001).Int == 3600060000.  On both of them (60000 * 60001).WHAT is Num.)</p>
<p>In theory, an Int should be a BigNum and able to handle 60000 * 60001 with ease, but that&#8217;s not the case in Rakudo.  But then, in theory, the denominator of a Rat should be an Int64, a 64-bit Int, but Rakudo doesn&#8217;t have such a type yet.  Once these types are in place, the gist of the example still is correct, but you&#8217;ll need larger numbers that 60001 to see the effect in practice.)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Joe Z</title>
		<link>http://perl6advent.wordpress.com/2009/12/14/day-14-going-to-the-rats/#comment-106</link>
		<dc:creator><![CDATA[Joe Z]]></dc:creator>
		<pubDate>Mon, 14 Dec 2009 05:33:33 +0000</pubDate>
		<guid isPermaLink="false">http://perl6advent.wordpress.com/?p=225#comment-106</guid>
		<description><![CDATA[It wasn&#039;t immediately clear to me why &quot;1 / 60000 + 1 / 60001&quot; shouldn&#039;t also be a rational.   Is it that Rats are built on Ints, and 60000 * 60001 doesn&#039;t fit in an Int?  If so, then that makes sense.  &quot;Int&quot; doesn&#039;t appear anywhere in the post, though.]]></description>
		<content:encoded><![CDATA[<p>It wasn&#8217;t immediately clear to me why &#8220;1 / 60000 + 1 / 60001&#8243; shouldn&#8217;t also be a rational.   Is it that Rats are built on Ints, and 60000 * 60001 doesn&#8217;t fit in an Int?  If so, then that makes sense.  &#8220;Int&#8221; doesn&#8217;t appear anywhere in the post, though.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
