[Haskell-cafe] Growing Trees
Tom Hawkins
tom at confluent.org
Thu Sep 22 15:55:40 EDT 2005
I'm porting an ML program to Haskell, but am having difficulty with
particular data structure: a tree where each node has references to the
children as well as the parent...
data Tree a
= TreeRoot { stuff :: a
, children :: [Tree]
}
| TreeNode { stuff :: a
, parent :: Tree
, children :: [Tree]
}
But because of these bidirectional links, every time I add a node I must
reconstructing the entire tree. There is also the add coding complexity
of threading the tree through various functions to simulate state.
What are my [monadic] options?
-Tom
More information about the Haskell-Cafe
mailing list