Use the slightly more standard non-standard module ST instead of the
completely non-standard MutableArray.
-- std interfaces
import Maybe
-- std interfaces
import Maybe
%************************************************************************
\begin{code}
%************************************************************************
\begin{code}
-type Set s = MutableArray s Vertex Bool
+type Set s = STArray s Vertex Bool
mkEmpty :: Bounds -> ST s (Set s)
mkEmpty :: Bounds -> ST s (Set s)
-mkEmpty bnds = newArray bnds False
+mkEmpty bnds = newSTArray bnds False
contains :: Set s -> Vertex -> ST s Bool
contains :: Set s -> Vertex -> ST s Bool
-contains m v = readArray m v
+contains m v = readSTArray m v
include :: Set s -> Vertex -> ST s ()
include :: Set s -> Vertex -> ST s ()
-include m v = writeArray m v True
+include m v = writeSTArray m v True