<?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: 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?&amp;owa_from=feed&amp;owa_sid=</link>
	<description>Incoherent mumblings</description>
	<pubDate>Sat, 30 Aug 2008 04:44:24 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.1</generator>
		<item>
		<title>By: fritz</title>
		<link>http://therning.org/magnus/archives/341#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 = (==) "3pm." . 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't resist the "3pm" 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-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,<br />
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-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've never looked at tagsoup so it'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'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-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] &#60;- getArgs
   txt &#60;- readFile src
   mapM_ putStrLn [mp3 &#124; TagOpen "a" atts &#60;- parseTags txt, ("href",mp3) &#60;- atts, takeExtension mp3 == ".mp3"]&lt;/p&gt;

&lt;p&gt;I'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<br />
import System.Environment<br />
import Text.HTML.TagSoup</p>
<p>main = do<br />
   [src] &lt;- getArgs<br />
   txt &lt;- readFile src<br />
   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>
