<?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: A Haskell regular expression tutorial</title>
	<atom:link href="http://www.serpentine.com/blog/2007/02/27/a-haskell-regular-expression-tutorial/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.serpentine.com/blog/2007/02/27/a-haskell-regular-expression-tutorial/</link>
	<description>Bryan O&#039;Sullivan&#039;s blog</description>
	<lastBuildDate>Wed, 08 Feb 2012 06:41:38 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>By: replacement / substition with Haskell regex libraries</title>
		<link>http://www.serpentine.com/blog/2007/02/27/a-haskell-regular-expression-tutorial/comment-page-1/#comment-328950</link>
		<dc:creator>replacement / substition with Haskell regex libraries</dc:creator>
		<pubDate>Tue, 31 Jan 2012 10:54:17 +0000</pubDate>
		<guid isPermaLink="false">http://www.serpentine.com/blog/2007/02/27/a-haskell-regular-expression-tutorial/#comment-328950</guid>
		<description>[...] p.s. Haskell documentation for this is pretty lacking. Some low-level API notes are here: http://www.serpentine.com/blog/2007/02/27/a-haskell-regular-expression-tutorial/ [...]</description>
		<content:encoded><![CDATA[<p>[...] p.s. Haskell documentation for this is pretty lacking. Some low-level API notes are here: <a href="http://www.serpentine.com/blog/2007/02/27/a-haskell-regular-expression-tutorial/" rel="nofollow">http://www.serpentine.com/blog/2007/02/27/a-haskell-regular-expression-tutorial/</a> [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: missingfaktor</title>
		<link>http://www.serpentine.com/blog/2007/02/27/a-haskell-regular-expression-tutorial/comment-page-1/#comment-328318</link>
		<dc:creator>missingfaktor</dc:creator>
		<pubDate>Fri, 30 Dec 2011 06:44:31 +0000</pubDate>
		<guid isPermaLink="false">http://www.serpentine.com/blog/2007/02/27/a-haskell-regular-expression-tutorial/#comment-328318</guid>
		<description>Doesn&#039;t work for me.

haskell&gt;(&quot;22&quot; =~ &quot;*&quot;) :: Bool

:1:7:
    No instances for (RegexMaker Regex CompOption ExecOption [Char],
                      RegexContext Regex [Char] Bool)
      arising from a use of `=~&#039;
    Possible fix:
      add instance declarations for
      (RegexMaker Regex CompOption ExecOption [Char],
       RegexContext Regex [Char] Bool)
    In the expression: (&quot;22&quot; =~ &quot;*&quot;) :: Bool
    In an equation for `it&#039;: it = (&quot;22&quot; =~ &quot;*&quot;) :: Bool</description>
		<content:encoded><![CDATA[<p>Doesn&#8217;t work for me.</p>
<p>haskell&gt;(&#8220;22&#8243; =~ &#8220;*&#8221;) :: Bool</p>
<p>:1:7:<br />
    No instances for (RegexMaker Regex CompOption ExecOption [Char],<br />
                      RegexContext Regex [Char] Bool)<br />
      arising from a use of `=~&#8217;<br />
    Possible fix:<br />
      add instance declarations for<br />
      (RegexMaker Regex CompOption ExecOption [Char],<br />
       RegexContext Regex [Char] Bool)<br />
    In the expression: (&#8220;22&#8243; =~ &#8220;*&#8221;) :: Bool<br />
    In an equation for `it&#8217;: it = (&#8220;22&#8243; =~ &#8220;*&#8221;) :: Bool</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: czhedu</title>
		<link>http://www.serpentine.com/blog/2007/02/27/a-haskell-regular-expression-tutorial/comment-page-1/#comment-326837</link>
		<dc:creator>czhedu</dc:creator>
		<pubDate>Sat, 15 Oct 2011 16:05:43 +0000</pubDate>
		<guid isPermaLink="false">http://www.serpentine.com/blog/2007/02/27/a-haskell-regular-expression-tutorial/#comment-326837</guid>
		<description>&quot;In practice, you will want to avoid the Text.Regex.Posix implementation; it’s terribly slow, and too strict besides.&quot; ---- Then the question is: what shall we use???

According to the comparision on 
http://www.haskell.org/haskellwiki/Regular_expressions#Overview
http://www.haskell.org/haskellwiki/Regular_expressions#Sample_benchmark

I recommend regex-tdfa, which is very fast and also native implementation in haskell. 
http://hackage.haskell.org/package/regex-tdfa</description>
		<content:encoded><![CDATA[<p>&#8220;In practice, you will want to avoid the Text.Regex.Posix implementation; it’s terribly slow, and too strict besides.&#8221; &#8212;- Then the question is: what shall we use???</p>
<p>According to the comparision on<br />
<a href="http://www.haskell.org/haskellwiki/Regular_expressions#Overview" rel="nofollow">http://www.haskell.org/haskellwiki/Regular_expressions#Overview</a><br />
<a href="http://www.haskell.org/haskellwiki/Regular_expressions#Sample_benchmark" rel="nofollow">http://www.haskell.org/haskellwiki/Regular_expressions#Sample_benchmark</a></p>
<p>I recommend regex-tdfa, which is very fast and also native implementation in haskell.<br />
<a href="http://hackage.haskell.org/package/regex-tdfa" rel="nofollow">http://hackage.haskell.org/package/regex-tdfa</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: czhedu</title>
		<link>http://www.serpentine.com/blog/2007/02/27/a-haskell-regular-expression-tutorial/comment-page-1/#comment-326836</link>
		<dc:creator>czhedu</dc:creator>
		<pubDate>Sat, 15 Oct 2011 15:59:48 +0000</pubDate>
		<guid isPermaLink="false">http://www.serpentine.com/blog/2007/02/27/a-haskell-regular-expression-tutorial/#comment-326836</guid>
		<description>OK. I figure out how to do the above in latest GHC 7. Just use 

“foo foo foo” =~ “foo” :: [[String]]

What is [[String]] ??? Yes, its the List of String List. Then you can use head/tail etc to get subgroup of matches. This is extremely useful, when you want to use captured parenthesized subexpressions.</description>
		<content:encoded><![CDATA[<p>OK. I figure out how to do the above in latest GHC 7. Just use </p>
<p>“foo foo foo” =~ “foo” :: [[String]]</p>
<p>What is [[String]] ??? Yes, its the List of String List. Then you can use head/tail etc to get subgroup of matches. This is extremely useful, when you want to use captured parenthesized subexpressions.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: czhedu</title>
		<link>http://www.serpentine.com/blog/2007/02/27/a-haskell-regular-expression-tutorial/comment-page-1/#comment-326834</link>
		<dc:creator>czhedu</dc:creator>
		<pubDate>Sat, 15 Oct 2011 15:45:16 +0000</pubDate>
		<guid isPermaLink="false">http://www.serpentine.com/blog/2007/02/27/a-haskell-regular-expression-tutorial/#comment-326834</guid>
		<description>&quot;foo foo foo&quot; =~ &quot;foo&quot; :: [String] is really awesome. However it doesn&#039;t work any more in GHC 7.0.3.</description>
		<content:encoded><![CDATA[<p>&#8220;foo foo foo&#8221; =~ &#8220;foo&#8221; :: [String] is really awesome. However it doesn&#8217;t work any more in GHC 7.0.3.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Haskell - Return type overloading in Haskell - Matthew Manela - Farblondzshet in Code</title>
		<link>http://www.serpentine.com/blog/2007/02/27/a-haskell-regular-expression-tutorial/comment-page-1/#comment-305846</link>
		<dc:creator>Haskell - Return type overloading in Haskell - Matthew Manela - Farblondzshet in Code</dc:creator>
		<pubDate>Fri, 17 Jun 2011 19:00:35 +0000</pubDate>
		<guid isPermaLink="false">http://www.serpentine.com/blog/2007/02/27/a-haskell-regular-expression-tutorial/#comment-305846</guid>
		<description>[...] module.Â  This module contains regular expression functions and in particular exposes the =~ operator. This operator lets you match a regex pattern against a string and its behavior is overloaded based [...]</description>
		<content:encoded><![CDATA[<p>[...] module.Â  This module contains regular expression functions and in particular exposes the =~ operator. This operator lets you match a regex pattern against a string and its behavior is overloaded based [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Bastien</title>
		<link>http://www.serpentine.com/blog/2007/02/27/a-haskell-regular-expression-tutorial/comment-page-1/#comment-267924</link>
		<dc:creator>Bastien</dc:creator>
		<pubDate>Tue, 31 Aug 2010 23:58:18 +0000</pubDate>
		<guid isPermaLink="false">http://www.serpentine.com/blog/2007/02/27/a-haskell-regular-expression-tutorial/#comment-267924</guid>
		<description>=&gt; Peter,
use [[:digit:]] instead of [:digit:]. Common pitfall. Think about what you would have to write if you would enclose two or more character classes in the same range.</description>
		<content:encoded><![CDATA[<p>=&gt; Peter,<br />
use [[:digit:]] instead of [:digit:]. Common pitfall. Think about what you would have to write if you would enclose two or more character classes in the same range.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Peter White</title>
		<link>http://www.serpentine.com/blog/2007/02/27/a-haskell-regular-expression-tutorial/comment-page-1/#comment-244105</link>
		<dc:creator>Peter White</dc:creator>
		<pubDate>Fri, 28 Aug 2009 18:57:58 +0000</pubDate>
		<guid isPermaLink="false">http://www.serpentine.com/blog/2007/02/27/a-haskell-regular-expression-tutorial/#comment-244105</guid>
		<description>Oh I forgot to say that the tutorial was very useful!</description>
		<content:encoded><![CDATA[<p>Oh I forgot to say that the tutorial was very useful!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Peter White</title>
		<link>http://www.serpentine.com/blog/2007/02/27/a-haskell-regular-expression-tutorial/comment-page-1/#comment-244104</link>
		<dc:creator>Peter White</dc:creator>
		<pubDate>Fri, 28 Aug 2009 18:54:27 +0000</pubDate>
		<guid isPermaLink="false">http://www.serpentine.com/blog/2007/02/27/a-haskell-regular-expression-tutorial/#comment-244104</guid>
		<description>I am unable to get the regular expression matching to work when I use Posix character classes such as [:digit:]. For example, if I use &quot;^[:digit:] +INTRODUCTION&quot;, this does not match the string &quot;1 INTRODUCTION&quot;, but if I use what is supposed to be equivalent, namely &quot;^[0-9] +INTRODUCTION&quot;, this does match the string &quot;1 INTRODUCTION&quot;. Any ideas what I am doing wrong?</description>
		<content:encoded><![CDATA[<p>I am unable to get the regular expression matching to work when I use Posix character classes such as [:digit:]. For example, if I use &#8220;^[:digit:] +INTRODUCTION&#8221;, this does not match the string &#8220;1 INTRODUCTION&#8221;, but if I use what is supposed to be equivalent, namely &#8220;^[0-9] +INTRODUCTION&#8221;, this does match the string &#8220;1 INTRODUCTION&#8221;. Any ideas what I am doing wrong?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Haskell Problem: Unix grep &#171; Clark Grubb&#8217;s Blog</title>
		<link>http://www.serpentine.com/blog/2007/02/27/a-haskell-regular-expression-tutorial/comment-page-1/#comment-231296</link>
		<dc:creator>Haskell Problem: Unix grep &#171; Clark Grubb&#8217;s Blog</dc:creator>
		<pubDate>Mon, 25 May 2009 06:54:07 +0000</pubDate>
		<guid isPermaLink="false">http://www.serpentine.com/blog/2007/02/27/a-haskell-regular-expression-tutorial/#comment-231296</guid>
		<description>[...] searches, the -l and -L flags, and regular expressions. Regular expressions were difficult. This blog post explains how to use Test.Regex.Posix, but I had difficulty compiling the code. Instead [...]</description>
		<content:encoded><![CDATA[<p>[...] searches, the -l and -L flags, and regular expressions. Regular expressions were difficult. This blog post explains how to use Test.Regex.Posix, but I had difficulty compiling the code. Instead [...]</p>
]]></content:encoded>
	</item>
</channel>
</rss>

