fgl
fgl copied to clipboard
Make the internal queue monadic
Data.Graph.Inductive.Internal.Queue
isn't efficient for persistent use. It would be easier to ensure that it's not accidentally used persistently if it's given a monadic interface. It should probably also be benchmarked against other queue implementations, such as Control.Monad.Queue.Corec
from control-monad-queue
, my own considerable simplification thereof, or perhaps something fancier in ST
.
I'm hesitant to add any dependencies due to the fact that fgl is in the Platform. But I don't disagree that the various Data.Graph.Inductive.Internal.*
modules aren't all that great.