| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Nes.Internal.MonadState
Contents
Synopsis
- class Monad m => MonadState s (m :: Type -> Type) where
- modify :: MonadState s m => (s -> s) -> m ()
- modify' :: MonadState s m => (s -> (a, s)) -> m a
- gets :: MonadState s m => (s -> a) -> m a
- getsM :: MonadState s m => (s -> m a) -> m a
- (.=) :: MonadState s m => ASetter' s a -> a -> m ()
- (+=) :: (MonadState s m, Num a) => ASetter' s a -> a -> m ()
- (-=) :: (MonadState s m, Num a) => ASetter' s a -> a -> m ()
- (%=) :: MonadState s m => ASetter' s a -> (a -> a) -> m ()
- use :: MonadState s m => Getting a s a -> m a
- uses :: MonadState s m => Getting a s a -> (a -> r) -> m r
- usesM :: MonadState s m => Getting a s a -> (a -> m r) -> m r
Definition
class Monad m => MonadState s (m :: Type -> Type) where Source #
Very similar to mtl's StateMonad, however we don't use functional dependencies to resolve the type of the state. Monads that have multiple instances for this class will have to use explicit type application
Instances
| MonadState APUState (APU r) Source # | |
| MonadState BusState (Bus r) Source # | |
| MonadState BusState (CPU r) Source # | |
| MonadState CPUState (CPU r) Source # | |
| MonadState InterruptStatus (APU r) Source # | |
Defined in Nes.APU.Monad | |
| MonadState InterruptStatus (CPU r) Source # | |
Defined in Nes.CPU.Monad | |
| MonadState PPUState (PPU r) Source # | |
modify :: MonadState s m => (s -> s) -> m () Source #
modify' :: MonadState s m => (s -> (a, s)) -> m a Source #
gets :: MonadState s m => (s -> a) -> m a Source #
getsM :: MonadState s m => (s -> m a) -> m a Source #
Lenses
(.=) :: MonadState s m => ASetter' s a -> a -> m () Source #
(%=) :: MonadState s m => ASetter' s a -> (a -> a) -> m () Source #
use :: MonadState s m => Getting a s a -> m a Source #
uses :: MonadState s m => Getting a s a -> (a -> r) -> m r Source #