<?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"
	>
<channel>
	<title>Comments on: Parsing annotated postfix operators with Haskell</title>
	<atom:link href="http://www.hvergi.net/2008/07/parsing-annotated-postfix-operators-with-haskell/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.hvergi.net/2008/07/parsing-annotated-postfix-operators-with-haskell/</link>
	<description>Just another programming weblog</description>
	<pubDate>Tue, 06 Jan 2009 21:52:27 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5.1</generator>
		<item>
		<title>By: imobi</title>
		<link>http://www.hvergi.net/2008/07/parsing-annotated-postfix-operators-with-haskell/#comment-1220</link>
		<dc:creator>imobi</dc:creator>
		<pubDate>Mon, 05 Jan 2009 05:18:22 +0000</pubDate>
		<guid isPermaLink="false">http://www.hvergi.net/?p=30#comment-1220</guid>
		<description>&lt;p&gt;&lt;strong&gt;greatings...&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Great job. But not enought info. Where can i read more?...&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p><strong>greatings&#8230;</strong></p>

<p>Great job. But not enought info. Where can i read more?&#8230;</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Recent URLs tagged Parsers - Urlrecorder</title>
		<link>http://www.hvergi.net/2008/07/parsing-annotated-postfix-operators-with-haskell/#comment-1157</link>
		<dc:creator>Recent URLs tagged Parsers - Urlrecorder</dc:creator>
		<pubDate>Sun, 28 Dec 2008 00:16:25 +0000</pubDate>
		<guid isPermaLink="false">http://www.hvergi.net/?p=30#comment-1157</guid>
		<description>&lt;p&gt;[...] recorded first by Gaarafan220 on 2008-12-16&#8594; Parsing annotated postfix operators with Haskell [...]&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>[...] recorded first by Gaarafan220 on 2008-12-16&rarr; Parsing annotated postfix operators with Haskell [...]</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Websites tagged "parsing" on Postsaver</title>
		<link>http://www.hvergi.net/2008/07/parsing-annotated-postfix-operators-with-haskell/#comment-452</link>
		<dc:creator>Websites tagged "parsing" on Postsaver</dc:creator>
		<pubDate>Thu, 16 Oct 2008 21:47:21 +0000</pubDate>
		<guid isPermaLink="false">http://www.hvergi.net/?p=30#comment-452</guid>
		<description>&lt;p&gt;[...] - Parsing annotated postfix operators with Haskell saved by rideonjp2008-10-16 - When the Passion for Search Technology meets the Logic of Inquiry. [...]&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>[...] - Parsing annotated postfix operators with Haskell saved by rideonjp2008-10-16 - When the Passion for Search Technology meets the Logic of Inquiry. [...]</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Arnar</title>
		<link>http://www.hvergi.net/2008/07/parsing-annotated-postfix-operators-with-haskell/#comment-54</link>
		<dc:creator>Arnar</dc:creator>
		<pubDate>Thu, 24 Jul 2008 18:54:10 +0000</pubDate>
		<guid isPermaLink="false">http://www.hvergi.net/?p=30#comment-54</guid>
		<description>&lt;p&gt;Daniel, thanks, but that wouldn't work here as &lt;code&gt;adapters&lt;/code&gt; may be the empty list.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Daniel, thanks, but that wouldn&#8217;t work here as <code>adapters</code> may be the empty list.</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Daniel Lyons</title>
		<link>http://www.hvergi.net/2008/07/parsing-annotated-postfix-operators-with-haskell/#comment-52</link>
		<dc:creator>Daniel Lyons</dc:creator>
		<pubDate>Thu, 24 Jul 2008 18:00:52 +0000</pubDate>
		<guid isPermaLink="false">http://www.hvergi.net/?p=30#comment-52</guid>
		<description>&lt;p&gt;Micro-optimization: you could use &lt;code&gt;foldr1&lt;/code&gt; instead, and omit &lt;code&gt;id&lt;/code&gt;. :)&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Micro-optimization: you could use <code>foldr1</code> instead, and omit <code>id</code>. :)</p>]]></content:encoded>
	</item>
	<item>
		<title>By: misterbeebee</title>
		<link>http://www.hvergi.net/2008/07/parsing-annotated-postfix-operators-with-haskell/#comment-51</link>
		<dc:creator>misterbeebee</dc:creator>
		<pubDate>Thu, 24 Jul 2008 17:57:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.hvergi.net/?p=30#comment-51</guid>
		<description>&lt;p&gt;You could call it "stackApply", since it applies the listed functions in a stack on top of the argument.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>You could call it &#8220;stackApply&#8221;, since it applies the listed functions in a stack on top of the argument.</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Arnar</title>
		<link>http://www.hvergi.net/2008/07/parsing-annotated-postfix-operators-with-haskell/#comment-48</link>
		<dc:creator>Arnar</dc:creator>
		<pubDate>Thu, 24 Jul 2008 11:03:52 +0000</pubDate>
		<guid isPermaLink="false">http://www.hvergi.net/?p=30#comment-48</guid>
		<description>&lt;p&gt;Hey Amicia,&lt;/p&gt;

&lt;p&gt;Again, with some helps from the folks at #haskell: There is no name for it, but this turns out to be &lt;code&gt;mconcat&lt;/code&gt; for a monoid called &lt;code&gt;Endo a&lt;/code&gt;. Conceptually that is the monoid for &lt;code&gt;a -&#62; a&lt;/code&gt;, i.e. it has unit &lt;code&gt;id&lt;/code&gt; and operator &lt;code&gt;(.)&lt;/code&gt;. Well, almost...&lt;/p&gt;

&lt;p&gt;&lt;code&gt;mconcat [Endo f, Endo g] `appEndo` x&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;gives you &lt;code&gt;f (g x)&lt;/code&gt; so it is the reverse order of what we want. That is solved by using &lt;code&gt;Dual (Endo a)&lt;/code&gt; instead:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;(appEndo . getDual . mconcat . map (Dual . Endo)) [f, g] x&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;will give you &lt;code&gt;g (f x)&lt;/code&gt; which is what we want.&lt;/p&gt;

&lt;p&gt;Examples are courtesy of EvilTerran&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Hey Amicia,</p>

<p>Again, with some helps from the folks at #haskell: There is no name for it, but this turns out to be <code>mconcat</code> for a monoid called <code>Endo a</code>. Conceptually that is the monoid for <code>a -&gt; a</code>, i.e. it has unit <code>id</code> and operator <code>(.)</code>. Well, almost&#8230;</p>

<p><code>mconcat [Endo f, Endo g] `appEndo` x</code></p>

<p>gives you <code>f (g x)</code> so it is the reverse order of what we want. That is solved by using <code>Dual (Endo a)</code> instead:</p>

<p><code>(appEndo . getDual . mconcat . map (Dual . Endo)) [f, g] x</code></p>

<p>will give you <code>g (f x)</code> which is what we want.</p>

<p>Examples are courtesy of EvilTerran</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Amicia Pyn</title>
		<link>http://www.hvergi.net/2008/07/parsing-annotated-postfix-operators-with-haskell/#comment-46</link>
		<dc:creator>Amicia Pyn</dc:creator>
		<pubDate>Thu, 24 Jul 2008 08:12:35 +0000</pubDate>
		<guid isPermaLink="false">http://www.hvergi.net/?p=30#comment-46</guid>
		<description>&lt;p&gt;Why isn't there a name for &lt;code&gt;foldr (flip (.)) id&lt;/code&gt;? Or is there?&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Why isn&#8217;t there a name for <code>foldr (flip (.)) id</code>? Or is there?</p>]]></content:encoded>
	</item>
</channel>
</rss>
