joint-0.1.9: Trying to compose non-composable
Safe HaskellSafe-Inferred
LanguageHaskell2010

Control.Joint.Effects.Reader

Documentation

newtype Reader e a Source #

Constructors

Reader (e -> a) 

Instances

Instances details
Monad (Reader e) Source # 
Instance details

Defined in Control.Joint.Effects.Reader

Methods

(>>=) :: Reader e a -> (a -> Reader e b) -> Reader e b #

(>>) :: Reader e a -> Reader e b -> Reader e b #

return :: a -> Reader e a #

Functor (Reader e) Source # 
Instance details

Defined in Control.Joint.Effects.Reader

Methods

fmap :: (a -> b) -> Reader e a -> Reader e b #

(<$) :: a -> Reader e b -> Reader e a #

Applicative (Reader e) Source # 
Instance details

Defined in Control.Joint.Effects.Reader

Methods

pure :: a -> Reader e a #

(<*>) :: Reader e (a -> b) -> Reader e a -> Reader e b #

liftA2 :: (a -> b -> c) -> Reader e a -> Reader e b -> Reader e c #

(*>) :: Reader e a -> Reader e b -> Reader e b #

(<*) :: Reader e a -> Reader e b -> Reader e a #

Interpreted (Reader e) Source # 
Instance details

Defined in Control.Joint.Effects.Reader

Associated Types

type Primary (Reader e) a Source #

Methods

run :: Reader e a -> Primary (Reader e) a Source #

Transformer (Reader e) Source # 
Instance details

Defined in Control.Joint.Effects.Reader

Methods

build :: forall (u :: Type -> Type). Applicative u => Reader e ~> (Reader e :> u) Source #

unite :: forall (u :: Type -> Type) a. Primary (Schema (Reader e) u) a -> (Reader e :> u) a Source #

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

Defined in Control.Joint.Effects.State

Methods

complete :: Reader e ~> State e Source #

type Schema (Reader e) Source # 
Instance details

Defined in Control.Joint.Effects.Reader

type Schema (Reader e) = TU ((->) e :: Type -> Type) :: (Type -> Type) -> Type -> Type
type Primary (Reader e) a Source # 
Instance details

Defined in Control.Joint.Effects.Reader

type Primary (Reader e) a = e -> a

get :: Configured e t => t e Source #

Orphan instances

(Applicative u, Monad u) => Monad (((->) e :: Type -> Type) <:.> u) Source # 
Instance details

Methods

(>>=) :: ((->) e <:.> u) a -> (a -> ((->) e <:.> u) b) -> ((->) e <:.> u) b #

(>>) :: ((->) e <:.> u) a -> ((->) e <:.> u) b -> ((->) e <:.> u) b #

return :: a -> ((->) e <:.> u) a #

Functor u => Functor (((->) e :: Type -> Type) <:.> u) Source # 
Instance details

Methods

fmap :: (a -> b) -> ((->) e <:.> u) a -> ((->) e <:.> u) b #

(<$) :: a -> ((->) e <:.> u) b -> ((->) e <:.> u) a #

Applicative u => Applicative (((->) e :: Type -> Type) <:.> u) Source # 
Instance details

Methods

pure :: a -> ((->) e <:.> u) a #

(<*>) :: ((->) e <:.> u) (a -> b) -> ((->) e <:.> u) a -> ((->) e <:.> u) b #

liftA2 :: (a -> b -> c) -> ((->) e <:.> u) a -> ((->) e <:.> u) b -> ((->) e <:.> u) c #

(*>) :: ((->) e <:.> u) a -> ((->) e <:.> u) b -> ((->) e <:.> u) b #

(<*) :: ((->) e <:.> u) a -> ((->) e <:.> u) b -> ((->) e <:.> u) a #