<?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 to day rubinius</title>
	<atom:link href="http://blog.fallingsnow.net/2008/01/16/day-to-day-rubinius/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.fallingsnow.net/2008/01/16/day-to-day-rubinius/</link>
	<description>life and tech stuff by Evan Phoenix</description>
	<lastBuildDate>Tue, 24 Aug 2010 02:53:22 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
	<item>
		<title>By: Branden Timm</title>
		<link>http://blog.fallingsnow.net/2008/01/16/day-to-day-rubinius/#comment-8733</link>
		<dc:creator>Branden Timm</dc:creator>
		<pubDate>Tue, 05 Feb 2008 15:37:23 +0000</pubDate>
		<guid isPermaLink="false">http://evanphx.wordpress.com/2008/01/16/day-to-day-rubinius/#comment-8733</guid>
		<description>What are the other rubinius team blogs?  My GoogleReader rubinius tag is too sparse ;)</description>
		<content:encoded><![CDATA[<p>What are the other rubinius team blogs?  My GoogleReader rubinius tag is too sparse <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Paolo Bonzini</title>
		<link>http://blog.fallingsnow.net/2008/01/16/day-to-day-rubinius/#comment-8480</link>
		<dc:creator>Paolo Bonzini</dc:creator>
		<pubDate>Mon, 28 Jan 2008 08:04:29 +0000</pubDate>
		<guid isPermaLink="false">http://evanphx.wordpress.com/2008/01/16/day-to-day-rubinius/#comment-8480</guid>
		<description>Uhm, I screwed up.  What mathn does is not awful, it is correct, because it requires &quot;rational.rb&quot; before aliasing Fixnum#/ to Fixnum#quo.  So, it *does* return a rational number for Fixnum#/ and the above snippet returns 1 after requiring &quot;mathn.rb&quot;.  In fact, with mathn Ruby has the same behavior I attributed to Smalltalk.

Looks like you Rubinius people have some work to do. :-P</description>
		<content:encoded><![CDATA[<p>Uhm, I screwed up.  What mathn does is not awful, it is correct, because it requires &#8220;rational.rb&#8221; before aliasing Fixnum#/ to Fixnum#quo.  So, it *does* return a rational number for Fixnum#/ and the above snippet returns 1 after requiring &#8220;mathn.rb&#8221;.  In fact, with mathn Ruby has the same behavior I attributed to Smalltalk.</p>
<p>Looks like you Rubinius people have some work to do. <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_razz.gif' alt=':-P' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Paolo Bonzini</title>
		<link>http://blog.fallingsnow.net/2008/01/16/day-to-day-rubinius/#comment-8450</link>
		<dc:creator>Paolo Bonzini</dc:creator>
		<pubDate>Sun, 27 Jan 2008 11:34:16 +0000</pubDate>
		<guid isPermaLink="false">http://evanphx.wordpress.com/2008/01/16/day-to-day-rubinius/#comment-8450</guid>
		<description>What mathn does is awful.  Case in point: ((2 ** 64 + 1).quo(2) * 2) - (2 ** 64) = 0.0

The right thing to do would be to have Fixnum#/ return a rational number; this is what Smalltalk does.</description>
		<content:encoded><![CDATA[<p>What mathn does is awful.  Case in point: ((2 ** 64 + 1).quo(2) * 2) &#8211; (2 ** 64) = 0.0</p>
<p>The right thing to do would be to have Fixnum#/ return a rational number; this is what Smalltalk does.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Peter Cooper</title>
		<link>http://blog.fallingsnow.net/2008/01/16/day-to-day-rubinius/#comment-8252</link>
		<dc:creator>Peter Cooper</dc:creator>
		<pubDate>Sun, 20 Jan 2008 23:22:00 +0000</pubDate>
		<guid isPermaLink="false">http://evanphx.wordpress.com/2008/01/16/day-to-day-rubinius/#comment-8252</guid>
		<description>Not to dominate the comments (I hope) but I&#039;d be interested to know how you&#039;re doing for hotel arrangements for Ruby Fools given that your girlfriend is going too. The organizers suggested they either pay me what they would have paid and I can sort the accommodation out, or pay the extra to them, but I haven&#039;t really made my mind up yet..</description>
		<content:encoded><![CDATA[<p>Not to dominate the comments (I hope) but I&#8217;d be interested to know how you&#8217;re doing for hotel arrangements for Ruby Fools given that your girlfriend is going too. The organizers suggested they either pay me what they would have paid and I can sort the accommodation out, or pay the extra to them, but I haven&#8217;t really made my mind up yet..</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Peter Cooper</title>
		<link>http://blog.fallingsnow.net/2008/01/16/day-to-day-rubinius/#comment-8198</link>
		<dc:creator>Peter Cooper</dc:creator>
		<pubDate>Sat, 19 Jan 2008 09:18:40 +0000</pubDate>
		<guid isPermaLink="false">http://evanphx.wordpress.com/2008/01/16/day-to-day-rubinius/#comment-8198</guid>
		<description>Oh, and I pretty ticked off that my session is at the same time as yours, as I&#039;d rather like to see it. Not only that, competition for attendees.. oh well! I guess I&#039;ll get all of the people who haven&#039;t really done any coding before and you&#039;ll get all the experts ;-)</description>
		<content:encoded><![CDATA[<p>Oh, and I pretty ticked off that my session is at the same time as yours, as I&#8217;d rather like to see it. Not only that, competition for attendees.. oh well! I guess I&#8217;ll get all of the people who haven&#8217;t really done any coding before and you&#8217;ll get all the experts <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Peter Cooper</title>
		<link>http://blog.fallingsnow.net/2008/01/16/day-to-day-rubinius/#comment-8197</link>
		<dc:creator>Peter Cooper</dc:creator>
		<pubDate>Sat, 19 Jan 2008 09:17:27 +0000</pubDate>
		<guid isPermaLink="false">http://evanphx.wordpress.com/2008/01/16/day-to-day-rubinius/#comment-8197</guid>
		<description>I&#039;m talking at Ruby Fools too and my girlfriend is coming and going sightseeing during it also. Might be worth introducing them!

I&#039;m also going to be at the European Ruby conference (EuRuKo) that&#039;s a week or two after in Prague.. that should be even more fun.</description>
		<content:encoded><![CDATA[<p>I&#8217;m talking at Ruby Fools too and my girlfriend is coming and going sightseeing during it also. Might be worth introducing them!</p>
<p>I&#8217;m also going to be at the European Ruby conference (EuRuKo) that&#8217;s a week or two after in Prague.. that should be even more fun.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Charles</title>
		<link>http://blog.fallingsnow.net/2008/01/16/day-to-day-rubinius/#comment-8166</link>
		<dc:creator>Charles</dc:creator>
		<pubDate>Fri, 18 Jan 2008 12:31:17 +0000</pubDate>
		<guid isPermaLink="false">http://evanphx.wordpress.com/2008/01/16/day-to-day-rubinius/#comment-8166</guid>
		<description>One possible solution

class Fixnum
  alias divide :/
  def / x
    if caller.first =~ /kernel/
      divide x
    else
      ...
    end
  end
end

:D
(j/k)</description>
		<content:encoded><![CDATA[<p>One possible solution</p>
<p>class Fixnum<br />
  alias divide :/<br />
  def / x<br />
    if caller.first =~ /kernel/<br />
      divide x<br />
    else<br />
      &#8230;<br />
    end<br />
  end<br />
end</p>
<p> <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /><br />
(j/k)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Robert Hulme</title>
		<link>http://blog.fallingsnow.net/2008/01/16/day-to-day-rubinius/#comment-8164</link>
		<dc:creator>Robert Hulme</dc:creator>
		<pubDate>Fri, 18 Jan 2008 11:25:35 +0000</pubDate>
		<guid isPermaLink="false">http://evanphx.wordpress.com/2008/01/16/day-to-day-rubinius/#comment-8164</guid>
		<description>Hi Evan - Why haven&#039;t you used fork() to implement the multi VM feature?</description>
		<content:encoded><![CDATA[<p>Hi Evan &#8211; Why haven&#8217;t you used fork() to implement the multi VM feature?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tim Lovell-Smith</title>
		<link>http://blog.fallingsnow.net/2008/01/16/day-to-day-rubinius/#comment-8150</link>
		<dc:creator>Tim Lovell-Smith</dc:creator>
		<pubDate>Fri, 18 Jan 2008 00:48:23 +0000</pubDate>
		<guid isPermaLink="false">http://evanphx.wordpress.com/2008/01/16/day-to-day-rubinius/#comment-8150</guid>
		<description>I&#039;m tempted to draw analogies to similar problems in other languages - but its difficult, with the main language I know being C++. :)

It seems like the problem is one of unexpected changes of semantics. 

I suppose the closest thing I can think of is importing an extra header file that redefines stuff with macros and e.g. makes all your printouts disappear.

Actually, in the case of the macros, I can imagine situations where you DO exactly want to include a macro that made all your debug print messages disappear - as well as that situation where you didn&#039;t want it to happen.

A related problem crops up in debugging where you also want only e.g. a specific subset of debug information to appear - i.e. you want to change semantics for some modules, not all. The solutions I most often see to this aren&#039;t pretty. A different macro for printing for every module. (extra work/complexity, recompiling the affected files) &#039;Debug levels&#039; to run the program at. (bad granularity)

I suppose a way out for this particular problem is distinguishing in kernel code with rigid semantic requirements by using a different name for the fixnum division that HAS to return fixnum from the fixnum division that can be user-redefined to return what the user wants to work in (fractions, decimals, etc).

Then the user is free to redefine the semantics of the operator (which becomes an alias for one or other division func) without changing semantics the &#039;fixdiv&#039; routine, or whatever.

But every other function that can be redefined gives you the same sort of potential dangers...

You could call this &#039;The danger of side effects in a language&#039;... and contrast it to &#039;the danger of side effects in programs&#039;. :-P</description>
		<content:encoded><![CDATA[<p>I&#8217;m tempted to draw analogies to similar problems in other languages &#8211; but its difficult, with the main language I know being C++. <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>It seems like the problem is one of unexpected changes of semantics. </p>
<p>I suppose the closest thing I can think of is importing an extra header file that redefines stuff with macros and e.g. makes all your printouts disappear.</p>
<p>Actually, in the case of the macros, I can imagine situations where you DO exactly want to include a macro that made all your debug print messages disappear &#8211; as well as that situation where you didn&#8217;t want it to happen.</p>
<p>A related problem crops up in debugging where you also want only e.g. a specific subset of debug information to appear &#8211; i.e. you want to change semantics for some modules, not all. The solutions I most often see to this aren&#8217;t pretty. A different macro for printing for every module. (extra work/complexity, recompiling the affected files) &#8216;Debug levels&#8217; to run the program at. (bad granularity)</p>
<p>I suppose a way out for this particular problem is distinguishing in kernel code with rigid semantic requirements by using a different name for the fixnum division that HAS to return fixnum from the fixnum division that can be user-redefined to return what the user wants to work in (fractions, decimals, etc).</p>
<p>Then the user is free to redefine the semantics of the operator (which becomes an alias for one or other division func) without changing semantics the &#8216;fixdiv&#8217; routine, or whatever.</p>
<p>But every other function that can be redefined gives you the same sort of potential dangers&#8230;</p>
<p>You could call this &#8216;The danger of side effects in a language&#8217;&#8230; and contrast it to &#8216;the danger of side effects in programs&#8217;. <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_razz.gif' alt=':-P' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: shaners</title>
		<link>http://blog.fallingsnow.net/2008/01/16/day-to-day-rubinius/#comment-8124</link>
		<dc:creator>shaners</dc:creator>
		<pubDate>Thu, 17 Jan 2008 04:52:21 +0000</pubDate>
		<guid isPermaLink="false">http://evanphx.wordpress.com/2008/01/16/day-to-day-rubinius/#comment-8124</guid>
		<description>don&#039;t forget about comiccon in june. i&#039;m going as a block of tofu. what&#039;s your costume?</description>
		<content:encoded><![CDATA[<p>don&#8217;t forget about comiccon in june. i&#8217;m going as a block of tofu. what&#8217;s your costume?</p>
]]></content:encoded>
	</item>
</channel>
</rss>
