joint-0.1.7: Trying to compose non-composable

Safe HaskellSafe
LanguageHaskell2010

Control.Joint.Effects.State

Contents

Documentation

newtype State s a Source #

Constructors

State (((->) s :. (,) s) := a) 
Instances
Monad (State s) Source # 
Instance details

Defined in Control.Joint.Effects.State

Methods

(>>=) :: State s a -> (a -> State s b) -> State s b #

(>>) :: State s a -> State s b -> State s b #

return :: a -> State s a #

fail :: String -> State s a #

Functor (State s) Source # 
Instance details

Defined in Control.Joint.Effects.State

Methods

fmap :: (a -> b) -> State s a -> State s b #

(<$) :: a -> State s b -> State s a #

Applicative (State s) Source # 
Instance details

Defined in Control.Joint.Effects.State

Methods

pure :: a -> State s a #

(<*>) :: State s (a -> b) -> State s a -> State s b #

liftA2 :: (a -> b -> c) -> State s a -> State s b -> State s c #

(*>) :: State s a -> State s b -> State s b #

(<*) :: State s a -> State s b -> State s a #

Interpreted (State s) Source # 
Instance details

Defined in Control.Joint.Effects.State

Associated Types

type Primary (State s) a :: Type Source #

Methods

run :: State s a -> Primary (State s) a Source #

Transformer (State s) Source # 
Instance details

Defined in Control.Joint.Effects.State

Associated Types

type Schema (State s) = (r :: (Type -> Type) -> Type -> Type) Source #

Methods

embed :: Functor u => u ~> (State s :> u) Source #

build :: Applicative u => State s ~> (State s :> u) Source #

unite :: Primary (Schema (State s) u) a -> (State s :> u) a Source #

Adaptable (Writer e) (State e) Source # 
Instance details

Defined in Control.Joint.Effects.State

Methods

adapt :: Writer e ~> State e Source #

Adaptable (Reader e) (State e) Source # 
Instance details

Defined in Control.Joint.Effects.State

Methods

adapt :: Reader e ~> State e Source #

type Schema (State s) Source # 
Instance details

Defined in Control.Joint.Effects.State

type Schema (State s) = TUT ((->) s :: Type -> Type) ((,) s)
type Primary (State s) a Source # 
Instance details

Defined in Control.Joint.Effects.State

type Primary (State s) a = (((->) s :: Type -> Type) :. (,) s) := a

statefully :: s -> State s a -> (s, a) Source #

modify :: Stateful s t => (s -> s) -> t () Source #

current :: Stateful s t => t s Source #

replace :: Stateful s t => s -> t () Source #

Orphan instances

Adaptable (Writer e) (State e) Source # 
Instance details

Methods

adapt :: Writer e ~> State e Source #

Adaptable (Reader e) (State e) Source # 
Instance details

Methods

adapt :: Reader e ~> State e Source #

Monad u => Monad (TUT ((->) s :: Type -> Type) ((,) s) u) Source # 
Instance details

Methods

(>>=) :: TUT ((->) s) ((,) s) u a -> (a -> TUT ((->) s) ((,) s) u b) -> TUT ((->) s) ((,) s) u b #

(>>) :: TUT ((->) s) ((,) s) u a -> TUT ((->) s) ((,) s) u b -> TUT ((->) s) ((,) s) u b #

return :: a -> TUT ((->) s) ((,) s) u a #

fail :: String -> TUT ((->) s) ((,) s) u a #

Functor u => Functor (TUT ((->) s :: Type -> Type) ((,) s) u) Source # 
Instance details

Methods

fmap :: (a -> b) -> TUT ((->) s) ((,) s) u a -> TUT ((->) s) ((,) s) u b #

(<$) :: a -> TUT ((->) s) ((,) s) u b -> TUT ((->) s) ((,) s) u a #

Monad u => Applicative (TUT ((->) s :: Type -> Type) ((,) s) u) Source # 
Instance details

Methods

pure :: a -> TUT ((->) s) ((,) s) u a #

(<*>) :: TUT ((->) s) ((,) s) u (a -> b) -> TUT ((->) s) ((,) s) u a -> TUT ((->) s) ((,) s) u b #

liftA2 :: (a -> b -> c) -> TUT ((->) s) ((,) s) u a -> TUT ((->) s) ((,) s) u b -> TUT ((->) s) ((,) s) u c #

(*>) :: TUT ((->) s) ((,) s) u a -> TUT ((->) s) ((,) s) u b -> TUT ((->) s) ((,) s) u b #

(<*) :: TUT ((->) s) ((,) s) u a -> TUT ((->) s) ((,) s) u b -> TUT ((->) s) ((,) s) u a #

(Alternative u, Monad u) => Alternative (TUT ((->) s :: Type -> Type) ((,) s) u) Source # 
Instance details

Methods

empty :: TUT ((->) s) ((,) s) u a #

(<|>) :: TUT ((->) s) ((,) s) u a -> TUT ((->) s) ((,) s) u a -> TUT ((->) s) ((,) s) u a #

some :: TUT ((->) s) ((,) s) u a -> TUT ((->) s) ((,) s) u [a] #

many :: TUT ((->) s) ((,) s) u a -> TUT ((->) s) ((,) s) u [a] #