Safe Haskell | Trustworthy |
---|
- class HasGet m v where
- get :: v a -> m a
- class HasPut m v where
- put :: v a -> a -> m ()
- put' :: HasPut m v => v a -> a -> m ()
- modify :: (HasGet m v, HasPut m v, Monad m) => v a -> (a -> a) -> m ()
- modify' :: (HasGet m v, HasPut m v, Monad m) => v a -> (a -> a) -> m ()
- swap :: (HasGet m v, HasPut m v, Monad m) => v a -> a -> m a
- ($=) :: HasPut m v => v a -> a -> m ()
- ($~) :: (HasGet m v, HasPut m v, Monad m) => v a -> (a -> a) -> m ()
- ($=!) :: HasPut m v => v a -> a -> m ()
- ($~!) :: (HasGet m v, HasPut m v, Monad m) => v a -> (a -> a) -> m ()
Overloaded get and put
modify :: (HasGet m v, HasPut m v, Monad m) => v a -> (a -> a) -> m ()Source
Modify the value inside the variable with the given function.
list <- newIORef [1,2,3] modify list (0:) -- prepend 0 to the list
modify' :: (HasGet m v, HasPut m v, Monad m) => v a -> (a -> a) -> m ()Source
Variant of modify
that forces the result of the function.
tally <- newIORef (0 :: Int) modify tally (+ 10) -- add 10 to the tally
swap :: (HasGet m v, HasPut m v, Monad m) => v a -> a -> m aSource
Write a new value and return the old value.