<?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 on: Kid&#8217;s play with HTML in Haskell</title>
	<atom:link href="http://therning.org/magnus/archives/341/feed" rel="self" type="application/rss+xml" />
	<link>http://therning.org/magnus/archives/341</link>
	<description>Incoherent mumblings</description>
	<lastBuildDate>Fri, 09 Dec 2011 20:40:28 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
	<item>
		<title>By: fritz</title>
		<link>http://therning.org/magnus/archives/341/comment-page-1#comment-112586</link>
		<dc:creator>fritz</dc:creator>
		<pubDate>Tue, 01 Apr 2008 17:28:10 +0000</pubDate>
		<guid isPermaLink="false">http://therning.org/magnus/archives/341#comment-112586</guid>
		<description>&lt;p&gt;All this and a bonus: the code upgrades easily to retrieve broadcasts made in the late afternoon!&lt;/p&gt;

&lt;p&gt;isMp3Link = (==) &quot;3pm.&quot; . take 4 . reverse&lt;/p&gt;

&lt;p&gt;Just take away that reverse ... .&lt;/p&gt;

&lt;p&gt;(Sorry,  April 1st for me, couldn&#039;t resist the &quot;3pm&quot; part :) ).&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>All this and a bonus: the code upgrades easily to retrieve broadcasts made in the late afternoon!</p>

<p>isMp3Link = (==) &#8220;3pm.&#8221; . take 4 . reverse</p>

<p>Just take away that reverse &#8230; .</p>

<p>(Sorry,  April 1st for me, couldn&#8217;t resist the &#8220;3pm&#8221; part <img src='http://therning.org/magnus/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  ).</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Neil Mitchell</title>
		<link>http://therning.org/magnus/archives/341/comment-page-1#comment-112270</link>
		<dc:creator>Neil Mitchell</dc:creator>
		<pubDate>Sun, 30 Mar 2008 22:30:50 +0000</pubDate>
		<guid isPermaLink="false">http://therning.org/magnus/archives/341#comment-112270</guid>
		<description>&lt;p&gt;@Magnus,
I decided to write it up as a post on my blog, http://neilmitchell.blogspot.com/2008/03/toddlers-play-with-html-in-haskell.html&lt;/p&gt;

&lt;p&gt;HXT certainly does a lot more than TagSoup does, but for the simple cases (like this one), I find TagSoup tends to be shorter and a bit clearer.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>@Magnus,
I decided to write it up as a post on my blog, <a href="http://neilmitchell.blogspot.com/2008/03/toddlers-play-with-html-in-haskell.html" rel="nofollow">http://neilmitchell.blogspot.com/2008/03/toddlers-play-with-html-in-haskell.html</a></p>

<p>HXT certainly does a lot more than TagSoup does, but for the simple cases (like this one), I find TagSoup tends to be shorter and a bit clearer.</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Magnus</title>
		<link>http://therning.org/magnus/archives/341/comment-page-1#comment-112269</link>
		<dc:creator>Magnus</dc:creator>
		<pubDate>Sun, 30 Mar 2008 22:22:56 +0000</pubDate>
		<guid isPermaLink="false">http://therning.org/magnus/archives/341#comment-112269</guid>
		<description>&lt;p&gt;@Neil,&lt;/p&gt;

&lt;p&gt;Nice.  I&#039;ve never looked at tagsoup so it&#039;s nice to see some code using it.  One nice thing with HXT is that it handles both URLs and files without any extra work by me.  Though I think your code above is a bit more “intuitive”, at least for someone like me who doesn&#039;t have a lot of previous exposure to arrows.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>@Neil,</p>

<p>Nice.  I&#8217;ve never looked at tagsoup so it&#8217;s nice to see some code using it.  One nice thing with HXT is that it handles both URLs and files without any extra work by me.  Though I think your code above is a bit more “intuitive”, at least for someone like me who doesn&#8217;t have a lot of previous exposure to arrows.</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Neil Mitchell</title>
		<link>http://therning.org/magnus/archives/341/comment-page-1#comment-112268</link>
		<dc:creator>Neil Mitchell</dc:creator>
		<pubDate>Sun, 30 Mar 2008 22:16:06 +0000</pubDate>
		<guid isPermaLink="false">http://therning.org/magnus/archives/341#comment-112268</guid>
		<description>&lt;p&gt;Instead of using HXT, you can do this directly in TagSoup:&lt;/p&gt;

&lt;p&gt;import System.FilePath
import System.Environment
import Text.HTML.TagSoup&lt;/p&gt;

&lt;p&gt;main = do
   [src] &lt;- getArgs
   txt &lt;- readFile src
   mapM_ putStrLn [mp3 &#124; TagOpen &quot;a&quot; atts &lt;- parseTags txt, (&quot;href&quot;,mp3) &lt;- atts, takeExtension mp3 == &quot;.mp3&quot;]&lt;/p&gt;

&lt;p&gt;I&#039;ve also used System.FilePath to check if an extension is mp3&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Instead of using HXT, you can do this directly in TagSoup:</p>

<p>import System.FilePath
import System.Environment
import Text.HTML.TagSoup</p>

<p>main = do
   [src] &lt;- getArgs
   txt &lt;- readFile src
   mapM_ putStrLn [mp3 | TagOpen "a" atts &lt;- parseTags txt, ("href",mp3) &lt;- atts, takeExtension mp3 == ".mp3"]</p>

<p>I&#8217;ve also used System.FilePath to check if an extension is mp3</p>]]></content:encoded>
	</item>
</channel>
</rss>

