-- | Classes and concrete implementations for mutable data structures. -- -- For more information on the design of this library, see the README file, -- also available at . module Data.Mutable ( -- * Data types -- ** Single-cell mutable references PRef , IOPRef , asPRef , URef , IOURef , asURef , SRef , IOSRef , asSRef , BRef , IOBRef , asBRef -- *** Standard re-exports , IORef , asIORef , STRef , asSTRef , MutVar , asMutVar -- ** Collections/queues , Deque , UDeque , asUDeque , SDeque , asSDeque , BDeque , asBDeque , DLList , asDLList -- * Type classes , MutableContainer (..) , MutableRef (..) , MutableAtomicRef (..) , MutableCollection (..) , MutablePushFront (..) , MutablePushBack (..) , MutablePopFront (..) , MutablePopBack (..) -- * Constraint kinds , MutableQueue , MutableStack , MutableDeque -- * Convenience re-exports , PrimMonad , PrimState , RealWorld , Prim , Unbox , Storable ) where import Data.Mutable.Class import Data.Mutable.URef import Data.Mutable.SRef import Data.Mutable.PRef import Data.Mutable.BRef import Data.Mutable.Deque import Data.Mutable.DLList import Data.Vector.Unboxed (Unbox) import Data.Primitive (Prim) import Data.Vector.Storable (Storable)