Luke Palmer wrote:
On Mon, Dec 29, 2008 at 3:55 PM, Martijn van Steenbergen
<mart...@van.steenbergen.nl <mailto:mart...@van.steenbergen.nl>> wrote:
Hello,
I would like to construct an infinite two-dimensional grid of nodes,
where a node looks like this:
data Node = Node
{ north :: Node
, east :: Node
, south :: Node
, west :: Node
}
in such a way that for every node n in the grid it doesn't matter
how I travel to n, I always end up in the same memory location for
that node.
No problem:
let n = Node n n n n in n
But you probably want some additional data in each node, also, in which
the problem becomes harder.
The solution very much depends on how the data is initialized / computed /
obtained.
Note that one can put an IORef into the Node to allow for mutable value.
Also, see if you need something akin to mkDList at
http://haskell.org/haskellwiki/Tying_the_Knot
Cheers,
Chris
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe