funes-0.1.0.0
Safe HaskellNone
LanguageHaskell2010

Nes.Render.Monad

Synopsis

Monad

newtype Render (s0 :: RenderStep) (s1 :: RenderStep) r a Source #

An operation that updates a FrameStep

Constructors

MkRender 

Fields

Instances

Instances details
Applicative (Render s0 s1 r) Source # 
Instance details

Defined in Nes.Render.Monad

Methods

pure :: a -> Render s0 s1 r a #

(<*>) :: Render s0 s1 r (a -> b) -> Render s0 s1 r a -> Render s0 s1 r b #

liftA2 :: (a -> b -> c) -> Render s0 s1 r a -> Render s0 s1 r b -> Render s0 s1 r c #

(*>) :: Render s0 s1 r a -> Render s0 s1 r b -> Render s0 s1 r b #

(<*) :: Render s0 s1 r a -> Render s0 s1 r b -> Render s0 s1 r a #

Functor (Render s0 s1 r) Source # 
Instance details

Defined in Nes.Render.Monad

Methods

fmap :: (a -> b) -> Render s0 s1 r a -> Render s0 s1 r b #

(<$) :: a -> Render s0 s1 r b -> Render s0 s1 r a #

data RenderStep Source #

Instances

Instances details
Eq RenderStep Source # 
Instance details

Defined in Nes.Render.Monad

withFrameState :: forall a (b :: RenderStep) r. (FrameState -> IO a) -> Render b b r a Source #

modifyFrameState :: forall (b :: RenderStep) r. (FrameState -> FrameState) -> Render b b r () Source #

(>>=) :: forall (a :: RenderStep) (b :: RenderStep) r s (c :: RenderStep) s'. Render a b r s -> (s -> Render b c r s') -> Render a c r s' Source #

(>>) :: forall (a :: RenderStep) (b :: RenderStep) r s (c :: RenderStep) s'. Render a b r s -> Render b c r s' -> Render a c r s' Source #

return :: forall a (b :: RenderStep) r. a -> Render b b r a Source #

Operations

whenR :: forall (a :: RenderStep) r. Bool -> Render a a r () -> Render a a r () Source #

liftIO :: forall a (b :: RenderStep) r. IO a -> Render b b r a Source #

unsafeStep :: forall (b :: RenderStep) (a :: RenderStep) r. Render a b r () Source #

unsafeCastRender :: forall (a :: RenderStep) (b :: RenderStep) r c (a' :: RenderStep) (b' :: RenderStep). Render a b r c -> Render a' b' r c Source #