<?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: (rough) Grids in Haskell</title>
	<atom:link href="http://greenokapi.net/blog/2009/03/10/rough-grids-in-haskell/feed/" rel="self" type="application/rss+xml" />
	<link>http://greenokapi.net/blog/2009/03/10/rough-grids-in-haskell/</link>
	<description>Perl, Haskell, stuff</description>
	<pubDate>Fri, 30 Jul 2010 18:20:38 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5.1</generator>
		<item>
		<title>By: Edward Kmett</title>
		<link>http://greenokapi.net/blog/2009/03/10/rough-grids-in-haskell/#comment-1654</link>
		<dc:creator>Edward Kmett</dc:creator>
		<pubDate>Wed, 11 Mar 2009 14:12:21 +0000</pubDate>
		<guid isPermaLink="false">http://greenokapi.net/blog/?p=160#comment-1654</guid>
		<description>If your grid size is regular you can always fall back on something like an array and an index into the array rather than a zipper. 

Dan Piponi used something similar to that for "comonadic arrays"

Most of the actions you'll want to perform on the grid won't be comonadic, but the structure itself is simple enough to work with.

http://blog.sigfpe.com/2008/03/comonadic-arrays.html</description>
		<content:encoded><![CDATA[<br />
<b>Warning</b>:  preg_replace_callback() [<a href='function.preg-replace-callback'>function.preg-replace-callback</a>]: Unknown modifier '|' in <b>/var/www/blog/wp-content/plugins/text-control/text-control/markdown.php</b> on line <b>766</b><br />

]]></content:encoded>
	</item>
	<item>
		<title>By: Dmitry Tsygankov</title>
		<link>http://greenokapi.net/blog/2009/03/10/rough-grids-in-haskell/#comment-1653</link>
		<dc:creator>Dmitry Tsygankov</dc:creator>
		<pubDate>Wed, 11 Mar 2009 08:36:05 +0000</pubDate>
		<guid isPermaLink="false">http://greenokapi.net/blog/?p=160#comment-1653</guid>
		<description>Can it be done with the Data.Map thing? A map from (int, int) to Piece or something. Without any empty cells present in the map.</description>
		<content:encoded><![CDATA[<br />
<b>Warning</b>:  preg_replace_callback() [<a href='function.preg-replace-callback'>function.preg-replace-callback</a>]: Unknown modifier '|' in <b>/var/www/blog/wp-content/plugins/text-control/text-control/markdown.php</b> on line <b>766</b><br />

]]></content:encoded>
	</item>
	<item>
		<title>By: Colin Adams</title>
		<link>http://greenokapi.net/blog/2009/03/10/rough-grids-in-haskell/#comment-1652</link>
		<dc:creator>Colin Adams</dc:creator>
		<pubDate>Wed, 11 Mar 2009 07:34:41 +0000</pubDate>
		<guid isPermaLink="false">http://greenokapi.net/blog/?p=160#comment-1652</guid>
		<description>I'm using an Array of Arrays.

One reason is that I'd like to try exploiting DPH. I don't think that's possible right now (I seem to recall the types permitted are very restricted), but that might change in the future.

In any case, I could see the advantage of using a list of lists.</description>
		<content:encoded><![CDATA[<br />
<b>Warning</b>:  preg_replace_callback() [<a href='function.preg-replace-callback'>function.preg-replace-callback</a>]: Unknown modifier '|' in <b>/var/www/blog/wp-content/plugins/text-control/text-control/markdown.php</b> on line <b>766</b><br />

]]></content:encoded>
	</item>
	<item>
		<title>By: banbh</title>
		<link>http://greenokapi.net/blog/2009/03/10/rough-grids-in-haskell/#comment-1651</link>
		<dc:creator>banbh</dc:creator>
		<pubDate>Wed, 11 Mar 2009 01:10:50 +0000</pubDate>
		<guid isPermaLink="false">http://greenokapi.net/blog/?p=160#comment-1651</guid>
		<description>You may find the following post interesting:

http://banbh.blogspot.com/2007/08/pascals-triangle.html

It defines Pascal's triangle.  If there were done naively you would end up with a (exponentially growing) tree.  Done right (as in the post above) you end up with essentially a grid.</description>
		<content:encoded><![CDATA[<br />
<b>Warning</b>:  preg_replace_callback() [<a href='function.preg-replace-callback'>function.preg-replace-callback</a>]: Unknown modifier '|' in <b>/var/www/blog/wp-content/plugins/text-control/text-control/markdown.php</b> on line <b>766</b><br />

]]></content:encoded>
	</item>
	<item>
		<title>By: Dan P</title>
		<link>http://greenokapi.net/blog/2009/03/10/rough-grids-in-haskell/#comment-1650</link>
		<dc:creator>Dan P</dc:creator>
		<pubDate>Tue, 10 Mar 2009 16:57:00 +0000</pubDate>
		<guid isPermaLink="false">http://greenokapi.net/blog/?p=160#comment-1650</guid>
		<description>At first, the lack of mutability can seem annoying in Haskell. But if you're writing a game AI there's actually a big advantage. When you're searching a game tree you often find that you have many representations of boards in memory at one time, and that you're often copying boards so that you can modify the position of something or other without destroying the original board.

When you use non-mutable boards, and you use some kind of tree structure to represent them, whenever you make a new board you reuse subtrees of the old board in the new one. The result is that you get lots of sharing between boards in memory and you also don't have to copy entire boards.</description>
		<content:encoded><![CDATA[<br />
<b>Warning</b>:  preg_replace_callback() [<a href='function.preg-replace-callback'>function.preg-replace-callback</a>]: Unknown modifier '|' in <b>/var/www/blog/wp-content/plugins/text-control/text-control/markdown.php</b> on line <b>766</b><br />

]]></content:encoded>
	</item>
	<item>
		<title>By: chessguy</title>
		<link>http://greenokapi.net/blog/2009/03/10/rough-grids-in-haskell/#comment-1649</link>
		<dc:creator>chessguy</dc:creator>
		<pubDate>Tue, 10 Mar 2009 11:38:47 +0000</pubDate>
		<guid isPermaLink="false">http://greenokapi.net/blog/?p=160#comment-1649</guid>
		<description>Here are two interesting articles about representing chess boards in imperative languages:
http://www.cis.uab.edu/hyatt/boardrep.html
http://www.cis.uab.edu/hyatt/bitmaps.html</description>
		<content:encoded><![CDATA[<br />
<b>Warning</b>:  preg_replace_callback() [<a href='function.preg-replace-callback'>function.preg-replace-callback</a>]: Unknown modifier '|' in <b>/var/www/blog/wp-content/plugins/text-control/text-control/markdown.php</b> on line <b>766</b><br />

]]></content:encoded>
	</item>
</channel>
</rss>
