[Haskell-cafe] FGL: The cost and propoer way of changing the label at a node.

Jeffrey Brown jeffbrown.the at gmail.com
Thu Aug 6 22:29:59 UTC 2015


Is changing the label at a node O(N)?

The only way I can think of to do it is with a map, like the following --
which works, but seems like its speed must be linear in the number of nodes
of the graph:

> :m Data.Graph.Inductive.Example Data.Graph.Inductive.Graph
> let f c@(adjIn, node, lab, adjOut) = case node of {1 -> (adjIn, node,
'b', adjOut); _ -> c}
> loop
mkGraph [(1,'a')] [(1,1,())]
> gmap f loop
mkGraph [(1,'b')] [(1,1,())]
>

Is that in fact the right way? Am I somehow missing the point of FGL if I
have to do a lot of that?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/haskell-cafe/attachments/20150806/8aafc64e/attachment.html>


More information about the Haskell-Cafe mailing list