<?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/"
		>
<channel>
	<title>Comments for Martijn&#039;s Journal</title>
	<atom:link href="http://martijn.van.steenbergen.nl/journal/comments/feed/" rel="self" type="application/rss+xml" />
	<link>http://martijn.van.steenbergen.nl/journal</link>
	<description>Just another WordPress weblog</description>
	<lastBuildDate>Sun, 02 Oct 2011 13:50:03 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.5</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>Comment on Myst III On Leopard Intel by Max Wiberg</title>
		<link>http://martijn.van.steenbergen.nl/journal/2008/04/08/myst-iii-on-leopard-intel/comment-page-1/#comment-4465</link>
		<dc:creator>Max Wiberg</dc:creator>
		<pubDate>Sun, 02 Oct 2011 13:50:03 +0000</pubDate>
		<guid isPermaLink="false">http://martijn.van.steenbergen.nl/journal/2008/04/08/myst-iii-on-leopard-intel/#comment-4465</guid>
		<description>Thanks for the instructions.

However the Myst III Exile will NOT start up on my Intel Mac Quadcore Nehalem
The downloaded Myst Application and carbon libray claim they are A PowerPC application.
=============================================================
Can not open the program &quot;Myst3 OS X US&quot; 
since PowerPc-programs are no longer supported:
=============================================================

Cheers:  Max!</description>
		<content:encoded><![CDATA[<p>Thanks for the instructions.</p>
<p>However the Myst III Exile will NOT start up on my Intel Mac Quadcore Nehalem<br />
The downloaded Myst Application and carbon libray claim they are A PowerPC application.<br />
=============================================================<br />
Can not open the program &#8220;Myst3 OS X US&#8221;<br />
since PowerPc-programs are no longer supported:<br />
=============================================================</p>
<p>Cheers:  Max!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Colors in GHCi by Joel</title>
		<link>http://martijn.van.steenbergen.nl/journal/2010/02/27/colors-in-ghci/comment-page-1/#comment-4379</link>
		<dc:creator>Joel</dc:creator>
		<pubDate>Sat, 10 Sep 2011 21:37:08 +0000</pubDate>
		<guid isPermaLink="false">http://martijn.van.steenbergen.nl/journal/?p=467#comment-4379</guid>
		<description>Why not go all out and style the output as well? Here&#039;s what I came up:


#!/bin/sh

# Colors
red=`echo &quot;33[91m&quot;`
green=`echo &quot;33[92m&quot;`
yellow=`echo &quot;33[93m&quot;`
blue=`echo &quot;33[94m&quot;`
purple=`echo &quot;33[95m&quot;`
cyan=`echo &quot;33[96m&quot;`

# Bold colors
bold=`echo &quot;33[1m&quot;`
bold_red=`echo &quot;33[1;91m&quot;`
bold_green=`echo &quot;33[1;92m&quot;`
bold_yellow=`echo &quot;33[1;93m&quot;`
bold_blue=`echo &quot;33[1;94m&quot;`
bold_purple=`echo &quot;33[1;95m&quot;`
bold_cyan=`echo &quot;33[1;96m&quot;`

# Color reset
reset=`echo &quot;33[0m&quot;`

# Patterns
double_colon=&quot;s/::/$red&amp;$reset/;&quot;
rocket=&quot;s/=&gt;/$red&amp;$reset/;&quot;
left_arrow=&quot;s//$red&amp;$reset/;&quot;
strings=&quot;s/\&quot;[^\&quot;]*\&quot;/$yellow&amp;$reset/g;&quot;
chars=&quot;s/&#039;[a-zA-Z]*&#039;/$purple&amp;$reset/g;&quot;

exec &quot;`which ghc`&quot; --interactive ${1+&quot;$@&quot;} &#124;\
  sed &quot;$double_colon
       $rocket
       $right_arrow
       $left_arrow
       $strings
       $chars&quot;


You could really take this pretty far and style all sorts of things. Numbers however can get a bit dicey since the color codes contain numbers.

Though this feels a bit hackish, it works well enough for me.</description>
		<content:encoded><![CDATA[<p>Why not go all out and style the output as well? Here&#8217;s what I came up:</p>
<p>#!/bin/sh</p>
<p># Colors<br />
red=`echo &#8220;33[91m"`<br />
green=`echo "33[92m"`<br />
yellow=`echo "33[93m"`<br />
blue=`echo "33[94m"`<br />
purple=`echo "33[95m"`<br />
cyan=`echo "33[96m"`</p>
<p># Bold colors<br />
bold=`echo "33[1m"`<br />
bold_red=`echo "33[1;91m"`<br />
bold_green=`echo "33[1;92m"`<br />
bold_yellow=`echo "33[1;93m"`<br />
bold_blue=`echo "33[1;94m"`<br />
bold_purple=`echo "33[1;95m"`<br />
bold_cyan=`echo "33[1;96m"`</p>
<p># Color reset<br />
reset=`echo "33[0m"`</p>
<p># Patterns<br />
double_colon="s/::/$red&amp;$reset/;"<br />
rocket="s/=&gt;/$red&amp;$reset/;"<br />
left_arrow="s//$red&amp;$reset/;"<br />
strings="s/\"[^\"]*\&#8221;/$yellow&amp;$reset/g;&#8221;<br />
chars=&#8221;s/&#8217;[a-zA-Z]*&#8217;/$purple&amp;$reset/g;&#8221;</p>
<p>exec &#8220;`which ghc`&#8221; &#8211;interactive ${1+&#8221;$@&#8221;} |\<br />
  sed &#8220;$double_colon<br />
       $rocket<br />
       $right_arrow<br />
       $left_arrow<br />
       $strings<br />
       $chars&#8221;</p>
<p>You could really take this pretty far and style all sorts of things. Numbers however can get a bit dicey since the color codes contain numbers.</p>
<p>Though this feels a bit hackish, it works well enough for me.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Replication schemes by Martijn</title>
		<link>http://martijn.van.steenbergen.nl/journal/2011/01/16/replication-schemes/comment-page-1/#comment-4293</link>
		<dc:creator>Martijn</dc:creator>
		<pubDate>Mon, 23 May 2011 11:35:13 +0000</pubDate>
		<guid isPermaLink="false">http://martijn.van.steenbergen.nl/journal/?p=522#comment-4293</guid>
		<description>Thank you Twan, that does seem to work. :-)</description>
		<content:encoded><![CDATA[<p>Thank you Twan, that does seem to work. <img src='http://martijn.van.steenbergen.nl/journal/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Replication schemes by Martijn</title>
		<link>http://martijn.van.steenbergen.nl/journal/2011/01/16/replication-schemes/comment-page-1/#comment-4292</link>
		<dc:creator>Martijn</dc:creator>
		<pubDate>Mon, 23 May 2011 11:34:55 +0000</pubDate>
		<guid isPermaLink="false">http://martijn.van.steenbergen.nl/journal/?p=522#comment-4292</guid>
		<description>Thanks, Dean! Fixed it.</description>
		<content:encoded><![CDATA[<p>Thanks, Dean! Fixed it.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Introducing JsonGrammar by Martijn</title>
		<link>http://martijn.van.steenbergen.nl/journal/2011/05/08/introducing-jsongrammar/comment-page-1/#comment-4278</link>
		<dc:creator>Martijn</dc:creator>
		<pubDate>Fri, 13 May 2011 10:37:12 +0000</pubDate>
		<guid isPermaLink="false">http://martijn.van.steenbergen.nl/journal/?p=540#comment-4278</guid>
		<description>Yes, this might be a problem. In this sense &#039;inverse&#039; is a poor name. I wonder how hard Sjoerd&#039;s suggestion would be to implement.

For JSON grammars it might actually be a feature: you can map two different JSON constructs to the same Haskell value, and on the way back consistenly map the Haskell value to the preferred of the two JSON constructs.

Btw, I fixed the missing &lt;&gt;s in your comment.</description>
		<content:encoded><![CDATA[<p>Yes, this might be a problem. In this sense &#8216;inverse&#8217; is a poor name. I wonder how hard Sjoerd&#8217;s suggestion would be to implement.</p>
<p>For JSON grammars it might actually be a feature: you can map two different JSON constructs to the same Haskell value, and on the way back consistenly map the Haskell value to the preferred of the two JSON constructs.</p>
<p>Btw, I fixed the missing &lt;&gt;s in your comment.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Introducing JsonGrammar by Sjoerd Visscher</title>
		<link>http://martijn.van.steenbergen.nl/journal/2011/05/08/introducing-jsongrammar/comment-page-1/#comment-4277</link>
		<dc:creator>Sjoerd Visscher</dc:creator>
		<pubDate>Fri, 13 May 2011 10:18:45 +0000</pubDate>
		<guid isPermaLink="false">http://martijn.van.steenbergen.nl/journal/?p=540#comment-4277</guid>
		<description>There&#039;s a kind of underlying assumption that &lt;&gt; is used on disjoint pattern matches. It would be nice to have a way to check that this is always the case, and also that there are no cases missing when pattern matching.</description>
		<content:encoded><![CDATA[<p>There&#8217;s a kind of underlying assumption that &lt;&gt; is used on disjoint pattern matches. It would be nice to have a way to check that this is always the case, and also that there are no cases missing when pattern matching.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Introducing JsonGrammar by Tillmann Rendel</title>
		<link>http://martijn.van.steenbergen.nl/journal/2011/05/08/introducing-jsongrammar/comment-page-1/#comment-4275</link>
		<dc:creator>Tillmann Rendel</dc:creator>
		<pubDate>Thu, 12 May 2011 23:50:36 +0000</pubDate>
		<guid isPermaLink="false">http://martijn.van.steenbergen.nl/journal/?p=540#comment-4275</guid>
		<description>I looked at your Semigroup instance, and I am not sure I like it. Consider the following two partial isomorphisms:

  iso1, iso2 :: Iso Char ()
  iso1 = unstack (unit . inverse (lit &#039;x&#039;))
  iso2 = unstack (unit . inverse (lit &#039;y&#039;))

In isolation, these partial isomorphisms are fine. But (iso1 &lt;&gt; iso2) has a problem: It is not really inverse to (inverse (iso1 &lt;&gt; iso2)). 

  &gt; convert (iso1 &lt;&gt; iso2) &#039;y&#039;
  Just ()

  &gt; convert (inverse (iso1 &lt;&gt; iso2)) ()
  Just &#039;x&#039;.

Oups. We successfully converted from Char to () and back to Char, but we arrived at a different character. I am not sure how serios that problem is in your setting.

From a theoretical point of view, I believe this problem is fundamental with partial isomorphisms: They do not really support choice. That is why in our paper, we used partial isomorphisms only for semantic actions, and built the additional layer of syntax descriptions on top of it.</description>
		<content:encoded><![CDATA[<p>I looked at your Semigroup instance, and I am not sure I like it. Consider the following two partial isomorphisms:</p>
<p>  iso1, iso2 :: Iso Char ()<br />
  iso1 = unstack (unit . inverse (lit &#8216;x&#8217;))<br />
  iso2 = unstack (unit . inverse (lit &#8216;y&#8217;))</p>
<p>In isolation, these partial isomorphisms are fine. But (iso1 &lt;&gt; iso2) has a problem: It is not really inverse to (inverse (iso1 &lt;&gt; iso2)). </p>
<p>  > convert (iso1 &lt;&gt; iso2) &#8216;y&#8217;<br />
  Just ()</p>
<p>  > convert (inverse (iso1 &lt;&gt; iso2)) ()<br />
  Just &#8216;x&#8217;.</p>
<p>Oups. We successfully converted from Char to () and back to Char, but we arrived at a different character. I am not sure how serios that problem is in your setting.</p>
<p>From a theoretical point of view, I believe this problem is fundamental with partial isomorphisms: They do not really support choice. That is why in our paper, we used partial isomorphisms only for semantic actions, and built the additional layer of syntax descriptions on top of it.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Introducing JsonGrammar by Martijn</title>
		<link>http://martijn.van.steenbergen.nl/journal/2011/05/08/introducing-jsongrammar/comment-page-1/#comment-4274</link>
		<dc:creator>Martijn</dc:creator>
		<pubDate>Tue, 10 May 2011 21:10:11 +0000</pubDate>
		<guid isPermaLink="false">http://martijn.van.steenbergen.nl/journal/?p=540#comment-4274</guid>
		<description>I actually have already, Yitz! :-) I hope his package gains some more popularity. Thank you for your comment!</description>
		<content:encoded><![CDATA[<p>I actually have already, Yitz! <img src='http://martijn.van.steenbergen.nl/journal/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  I hope his package gains some more popularity. Thank you for your comment!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Introducing JsonGrammar by Yitz</title>
		<link>http://martijn.van.steenbergen.nl/journal/2011/05/08/introducing-jsongrammar/comment-page-1/#comment-4273</link>
		<dc:creator>Yitz</dc:creator>
		<pubDate>Tue, 10 May 2011 13:20:47 +0000</pubDate>
		<guid isPermaLink="false">http://martijn.van.steenbergen.nl/journal/?p=540#comment-4273</guid>
		<description>Very nice ideas, Martijn!

&gt; The &lt;&gt; is just another name for mappend from Data.Monoid

Can you make it be  from Edward Kmett&#039;s semigroups package instead? Otherwise, your module will be less convenient to use with any program that uses a datatype which is a semigroup but not a monoid. Now that I noticed the semigroups package, I am finding more and more of those...</description>
		<content:encoded><![CDATA[<p>Very nice ideas, Martijn!</p>
<p>> The &lt;&gt; is just another name for mappend from Data.Monoid</p>
<p>Can you make it be  from Edward Kmett&#8217;s semigroups package instead? Otherwise, your module will be less convenient to use with any program that uses a datatype which is a semigroup but not a monoid. Now that I noticed the semigroups package, I am finding more and more of those&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Introducing JsonGrammar by Chris Done</title>
		<link>http://martijn.van.steenbergen.nl/journal/2011/05/08/introducing-jsongrammar/comment-page-1/#comment-4272</link>
		<dc:creator>Chris Done</dc:creator>
		<pubDate>Tue, 10 May 2011 06:56:29 +0000</pubDate>
		<guid isPermaLink="false">http://martijn.van.steenbergen.nl/journal/?p=540#comment-4272</guid>
		<description>solrize: Text.JSON.Generic generates based on Data and Typeable, but you don&#039;t get any control over the mapping (which you really need most of the time).</description>
		<content:encoded><![CDATA[<p>solrize: Text.JSON.Generic generates based on Data and Typeable, but you don&#8217;t get any control over the mapping (which you really need most of the time).</p>
]]></content:encoded>
	</item>
</channel>
</rss>

