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

Reply via email to