ArrayRef-0.1.3.1: Unboxed references, dynamic arrays and moreSource codeContentsIndex
Data.SyntaxSugar
PortabilityHugs/GHC
Stabilityexperimental
MaintainerBulat Ziganshin <Bulat.Ziganshin@gmail.com>
Description
Universal interface for reading and writing mutable data (references, array and hash elements) Syntax sugar (=:, +=, val...) based on this interface
Synopsis
class Monad m => Mutable m r a | r -> a where
readVar :: r -> m a
writeVar :: r -> a -> m ()
modifyVar :: Mutable m r b => r -> (b -> b) -> m ()
modifyVarM :: Mutable m r a => r -> (a -> m a) -> m ()
hashUpdate :: HashTable key val -> key -> val -> IO Bool
ref :: Ref m r => a -> m (r a)
uref :: (Unboxed a, URef m r) => a -> m (r a)
val :: Mutable m r a => r -> m a
(=:) :: Mutable m r a => r -> a -> m ()
(+=) :: (Mutable m r b, Num b) => r -> b -> m ()
(-=) :: (Mutable m r b, Num b) => r -> b -> m ()
(.=) :: Mutable m r b => r -> (b -> b) -> m ()
(.<-) :: Mutable m r a => r -> (a -> m a) -> m ()
Documentation
class Monad m => Mutable m r a | r -> a whereSource
Methods
readVar :: r -> m aSource
Read the value of an Mutable
writeVar :: r -> a -> m ()Source
Write new value into an Mutable
show/hide Instances
Mutable IO (IORef a) a
Mutable IO (IORef a) a
Unboxed a => Mutable IO (IOURef a) a
Unboxed a => Mutable IO (IOURef a) a
Mutable IO ((,) (HashTable key e) key) e
Mutable IO ((,) (HashTable key e) key) e
(Storable e, Ix i) => Mutable IO ((,) (StorableArray i e) i) e
(Storable e, Ix i) => Mutable IO ((,) (StorableArray i e) i) e
(Unboxed e, Ix i) => Mutable IO ((,) (IOUArray i e) i) e
(Unboxed e, Ix i) => Mutable IO ((,) (IOUArray i e) i) e
Ix i => Mutable IO ((,) (IOArray i e) i) e
Ix i => Mutable IO ((,) (IOArray i e) i) e
(MArray a e m, Ix i, Ix j) => Mutable m ((,,) (a ((,) i j) e) i j) e
(MArray a e m, Ix i, Ix j, Ix k) => Mutable m ((,,,) (a ((,,) i j k) e) i j k) e
(Unboxed e, Ix i) => Mutable (ST s) ((,) (STUArray s i e) i) e
(Unboxed e, Ix i) => Mutable (ST s) ((,) (STUArray s i e) i) e
Ix i => Mutable (ST s) ((,) (STArray s i e) i) e
Ix i => Mutable (ST s) ((,) (STArray s i e) i) e
Unboxed a => Mutable (ST s) (STURef s a) a
Unboxed a => Mutable (ST s) (STURef s a) a
Mutable (ST s) (STRef s a) a
Mutable (ST s) (STRef s a) a
modifyVar :: Mutable m r b => r -> (b -> b) -> m ()Source
Modify the contents of an Mutable by applying pure function to it
modifyVarM :: Mutable m r a => r -> (a -> m a) -> m ()Source
Modify the contents of an Mutable by applying monadic computation to it
hashUpdate :: HashTable key val -> key -> val -> IO BoolSource
ref :: Ref m r => a -> m (r a)Source
uref :: (Unboxed a, URef m r) => a -> m (r a)Source
val :: Mutable m r a => r -> m aSource
(=:) :: Mutable m r a => r -> a -> m ()Source
(+=) :: (Mutable m r b, Num b) => r -> b -> m ()Source
(-=) :: (Mutable m r b, Num b) => r -> b -> m ()Source
(.=) :: Mutable m r b => r -> (b -> b) -> m ()Source
(.<-) :: Mutable m r a => r -> (a -> m a) -> m ()Source
Produced by Haddock version 2.4.2