<?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/"
	xmlns:media="http://search.yahoo.com/mrss/"
		>
<channel>
	<title>Comments for Sententia cdsmithus</title>
	<atom:link href="http://cdsmith.wordpress.com/comments/feed/" rel="self" type="application/rss+xml" />
	<link>http://cdsmith.wordpress.com</link>
	<description>software, programming languages, and other ideas</description>
	<lastBuildDate>Sat, 07 Nov 2009 18:46:32 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>Comment on View Patterns as Pattern Matching for Records by Anonymous</title>
		<link>http://cdsmith.wordpress.com/2009/10/04/view-patterns-as-pattern-matching-for-records/#comment-1223</link>
		<dc:creator>Anonymous</dc:creator>
		<pubDate>Sat, 07 Nov 2009 18:46:32 +0000</pubDate>
		<guid isPermaLink="false">http://cdsmith.wordpress.com/?p=130#comment-1223</guid>
		<description>Oh, I like that one... without the special function, one can still do (slightly more messy)

foo (replicate 3 -&gt; [ (^.field1) -&gt; Just k, (^.field2) -&gt; 4, (^.field3) -&gt; (x:_) ]) = 4*k - x</description>
		<content:encoded><![CDATA[<p>Oh, I like that one&#8230; without the special function, one can still do (slightly more messy)</p>
<p>foo (replicate 3 -&gt; [ (^.field1) -&gt; Just k, (^.field2) -&gt; 4, (^.field3) -&gt; (x:_) ]) = 4*k &#8211; x</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on View Patterns as Pattern Matching for Records by Dan Licata</title>
		<link>http://cdsmith.wordpress.com/2009/10/04/view-patterns-as-pattern-matching-for-records/#comment-1222</link>
		<dc:creator>Dan Licata</dc:creator>
		<pubDate>Sat, 07 Nov 2009 15:37:26 +0000</pubDate>
		<guid isPermaLink="false">http://cdsmith.wordpress.com/?p=130#comment-1222</guid>
		<description>Also I meant to mention that this use of view patterns is very cool! Nice idea! :)</description>
		<content:encoded><![CDATA[<p>Also I meant to mention that this use of view patterns is very cool! Nice idea! :)</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on View Patterns as Pattern Matching for Records by Dan Licata</title>
		<link>http://cdsmith.wordpress.com/2009/10/04/view-patterns-as-pattern-matching-for-records/#comment-1221</link>
		<dc:creator>Dan Licata</dc:creator>
		<pubDate>Sat, 07 Nov 2009 15:31:21 +0000</pubDate>
		<guid isPermaLink="false">http://cdsmith.wordpress.com/?p=130#comment-1221</guid>
		<description>You can already kind of match on a value multiple times with view patterns: just define a function that pairs the value with itself the appropriate number of times.

Instead of

foo :: MyRecord -&gt; Int
foo ((^.field1) -&gt; Just k ; (^.field2) -&gt; 4 ; (^.field3) -&gt; (x:_)) = 4*k - x

write

three x = (x , x , x)
foo (three -&gt; ((^.field1) -&gt; Just k , (^.field2) -&gt; 4 , (^.field3) -&gt; (x:_))) = 4*k - x</description>
		<content:encoded><![CDATA[<p>You can already kind of match on a value multiple times with view patterns: just define a function that pairs the value with itself the appropriate number of times.</p>
<p>Instead of</p>
<p>foo :: MyRecord -&gt; Int<br />
foo ((^.field1) -&gt; Just k ; (^.field2) -&gt; 4 ; (^.field3) -&gt; (x:_)) = 4*k &#8211; x</p>
<p>write</p>
<p>three x = (x , x , x)<br />
foo (three -&gt; ((^.field1) -&gt; Just k , (^.field2) -&gt; 4 , (^.field3) -&gt; (x:_))) = 4*k &#8211; x</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on The &quot;X Improves My Design Anyway&quot; Myth by CurtainDog</title>
		<link>http://cdsmith.wordpress.com/2007/09/29/the-x-improves-my-design-anyway-myth/#comment-1220</link>
		<dc:creator>CurtainDog</dc:creator>
		<pubDate>Sat, 07 Nov 2009 07:55:06 +0000</pubDate>
		<guid isPermaLink="false">http://cdsmith.wordpress.com/2007/09/29/the-x-improves-my-design-anyway-myth/#comment-1220</guid>
		<description>Well, it at a minimum it does improve your design to the extent that others are able to quickly grok what you&#039;re trying to do. For example I may see something like a singleton and have to suppress the urge to retch but at least I know whats going on.

When it comes to architectural decisions we can argue pragmatism vs principle until the cows come home, but I&#039;ve seen some nightmares in the security and performance realms when developers have gone for pragmatism.</description>
		<content:encoded><![CDATA[<p>Well, it at a minimum it does improve your design to the extent that others are able to quickly grok what you&#8217;re trying to do. For example I may see something like a singleton and have to suppress the urge to retch but at least I know whats going on.</p>
<p>When it comes to architectural decisions we can argue pragmatism vs principle until the cows come home, but I&#8217;ve seen some nightmares in the security and performance realms when developers have gone for pragmatism.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Functions and Partial Orders by Roy33</title>
		<link>http://cdsmith.wordpress.com/2008/03/07/functions-and-partial-orders/#comment-1218</link>
		<dc:creator>Roy33</dc:creator>
		<pubDate>Thu, 22 Oct 2009 07:28:58 +0000</pubDate>
		<guid isPermaLink="false">http://cdsmith.wordpress.com/?p=36#comment-1218</guid>
		<description>DNS client and server implementations   will typically discard non-matching responses and continue to wait for   a matching response. ,</description>
		<content:encoded><![CDATA[<p>DNS client and server implementations   will typically discard non-matching responses and continue to wait for   a matching response. ,</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on View Patterns as Pattern Matching for Records by Ravi</title>
		<link>http://cdsmith.wordpress.com/2009/10/04/view-patterns-as-pattern-matching-for-records/#comment-1216</link>
		<dc:creator>Ravi</dc:creator>
		<pubDate>Sun, 18 Oct 2009 04:30:57 +0000</pubDate>
		<guid isPermaLink="false">http://cdsmith.wordpress.com/?p=130#comment-1216</guid>
		<description>I think that would be very interesting. I&#039;d love to see you try to implement this extension (and, of course, as someone on the Haskell&#039; committee, to see you turn this into a proposal for a future revision of Haskell if it works out well).</description>
		<content:encoded><![CDATA[<p>I think that would be very interesting. I&#8217;d love to see you try to implement this extension (and, of course, as someone on the Haskell&#8217; committee, to see you turn this into a proposal for a future revision of Haskell if it works out well).</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on What To Know Before Debating About Type Systems by Anonymous</title>
		<link>http://cdsmith.wordpress.com/2007/06/26/what-to-know-before-debating-about-type-systems/#comment-1214</link>
		<dc:creator>Anonymous</dc:creator>
		<pubDate>Sat, 17 Oct 2009 17:48:53 +0000</pubDate>
		<guid isPermaLink="false">http://cdsmith.wordpress.com/2007/06/26/what-to-know-before-debating-about-type-systems/#comment-1214</guid>
		<description>http://www.pphsg.org/cdsmith/types.html</description>
		<content:encoded><![CDATA[<p><a href="http://www.pphsg.org/cdsmith/types.html" rel="nofollow">http://www.pphsg.org/cdsmith/types.html</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on View Patterns as Pattern Matching for Records by Edward Kmett</title>
		<link>http://cdsmith.wordpress.com/2009/10/04/view-patterns-as-pattern-matching-for-records/#comment-1210</link>
		<dc:creator>Edward Kmett</dc:creator>
		<pubDate>Fri, 09 Oct 2009 18:07:10 +0000</pubDate>
		<guid isPermaLink="false">http://cdsmith.wordpress.com/?p=130#comment-1210</guid>
		<description>@Ben: 

Note that @ bindings currently only allow for a simple variable name to be bound on the left hand side of the @, so allowing @ bindings in this setting would require a fairly invasive retooling of how @ works inside patterns.</description>
		<content:encoded><![CDATA[<p>@Ben: </p>
<p>Note that @ bindings currently only allow for a simple variable name to be bound on the left hand side of the @, so allowing @ bindings in this setting would require a fairly invasive retooling of how @ works inside patterns.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on View Patterns as Pattern Matching for Records by Ben Moseley</title>
		<link>http://cdsmith.wordpress.com/2009/10/04/view-patterns-as-pattern-matching-for-records/#comment-1207</link>
		<dc:creator>Ben Moseley</dc:creator>
		<pubDate>Sun, 04 Oct 2009 17:23:48 +0000</pubDate>
		<guid isPermaLink="false">http://cdsmith.wordpress.com/?p=130#comment-1207</guid>
		<description>That&#039;s an interesting idea. Derek&#039;s is a nice interim solution, but I agree with Chris that simultaneous pattern-matching seems like a nice thing. Maybe @ could be reused rather than ;  ...</description>
		<content:encoded><![CDATA[<p>That&#8217;s an interesting idea. Derek&#8217;s is a nice interim solution, but I agree with Chris that simultaneous pattern-matching seems like a nice thing. Maybe @ could be reused rather than ;  &#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on View Patterns as Pattern Matching for Records by Derek Elkins</title>
		<link>http://cdsmith.wordpress.com/2009/10/04/view-patterns-as-pattern-matching-for-records/#comment-1206</link>
		<dc:creator>Derek Elkins</dc:creator>
		<pubDate>Sun, 04 Oct 2009 16:45:28 +0000</pubDate>
		<guid isPermaLink="false">http://cdsmith.wordpress.com/?p=130#comment-1206</guid>
		<description>foo :: MyRecord -&gt; Int
foo r &#124; Just k &lt;- r ^. field1, 4 &lt;- r ^. field2, x:_ &lt;- r ^. field3 = 4*k - x</description>
		<content:encoded><![CDATA[<p>foo :: MyRecord -&gt; Int<br />
foo r | Just k &lt;- r ^. field1, 4 &lt;- r ^. field2, x:_ &lt;- r ^. field3 = 4*k &#8211; x</p>
]]></content:encoded>
	</item>
</channel>
</rss>
