reader-0.0.8: A reader data type with all the bits
Safe HaskellSafe-Inferred
LanguageHaskell2010

Data.Reader.Reader3

Documentation

newtype Reader3T (f :: Type -> Type) b a Source #

Constructors

Reader3T (a -> f b) 

Instances

Instances details
Contravariant (Reader3T f b) Source # 
Instance details

Defined in Data.Reader.Reader3

Methods

contramap :: (a' -> a) -> Reader3T f b a -> Reader3T f b a' #

(>$) :: b0 -> Reader3T f b b0 -> Reader3T f b a #

(Monoid b, Applicative f) => Decidable (Reader3T f b) Source # 
Instance details

Defined in Data.Reader.Reader3

Methods

lose :: (a -> Void) -> Reader3T f b a #

choose :: (a -> Either b0 c) -> Reader3T f b b0 -> Reader3T f b c -> Reader3T f b a #

(Monoid b, Applicative f) => Divisible (Reader3T f b) Source # 
Instance details

Defined in Data.Reader.Reader3

Methods

divide :: (a -> (b0, c)) -> Reader3T f b b0 -> Reader3T f b c -> Reader3T f b a #

conquer :: Reader3T f b a #

(Monoid b, Apply f, Applicative f) => Monoid (Reader3T f b a) Source # 
Instance details

Defined in Data.Reader.Reader3

Methods

mempty :: Reader3T f b a #

mappend :: Reader3T f b a -> Reader3T f b a -> Reader3T f b a #

mconcat :: [Reader3T f b a] -> Reader3T f b a #

(Semigroup b, Apply f) => Semigroup (Reader3T f b a) Source # 
Instance details

Defined in Data.Reader.Reader3

Methods

(<>) :: Reader3T f b a -> Reader3T f b a -> Reader3T f b a #

sconcat :: NonEmpty (Reader3T f b a) -> Reader3T f b a #

stimes :: Integral b0 => b0 -> Reader3T f b a -> Reader3T f b a #

Wrapped (Reader3T f b a) Source # 
Instance details

Defined in Data.Reader.Reader3

Associated Types

type Unwrapped (Reader3T f b a) 
Instance details

Defined in Data.Reader.Reader3

type Unwrapped (Reader3T f b a) = a -> f b

Methods

_Wrapped' :: Iso' (Reader3T f b a) (Unwrapped (Reader3T f b a)) #

Reader3T f b a ~ x => Rewrapped (Reader3T f' b' a') x Source # 
Instance details

Defined in Data.Reader.Reader3

type Unwrapped (Reader3T f b a) Source # 
Instance details

Defined in Data.Reader.Reader3

type Unwrapped (Reader3T f b a) = a -> f b

type Reader3Lens (f :: Type -> Type) s t a b = Reader3T f b a -> Reader3T f t s Source #

reader3 :: forall a b a' b' p f. (Profunctor p, Functor f) => p (a -> b) (f (a' -> b')) -> p (Reader3 a b) (f (Reader3 a' b')) Source #

reader3Lens :: forall f1 s t a b f' s' t' a' b' p f2. (Profunctor p, Functor f2) => p (Reader3Lens f1 s t a b) (f2 (Reader3Lens f' s' t' a' b')) -> p (LensLike f1 s t a b) (f2 (LensLike f' s' t' a' b')) Source #

reader3' :: forall a (f1 :: Type -> Type) b a' (f' :: Type -> Type) b' p f2. (Profunctor p, Functor f2) => p (Reader3T f1 b a) (f2 (Reader3T f' b' a')) -> p (ReaderT a f1 b) (f2 (ReaderT a' f' b')) Source #

star3 :: forall (f1 :: Type -> Type) a b (f' :: Type -> Type) a' b' p f2. (Profunctor p, Functor f2) => p (Reader3T f1 b a) (f2 (Reader3T f' b' a')) -> p (Star f1 a b) (f2 (Star f' a' b')) Source #

kleisli3 :: forall (f1 :: Type -> Type) a b (f' :: Type -> Type) a' b' p f2. (Profunctor p, Functor f2) => p (Reader3T f1 b a) (f2 (Reader3T f' b' a')) -> p (Kleisli f1 a b) (f2 (Kleisli f' a' b')) Source #

liftReader3 :: forall f1 b a f' b' a' p f2. (Profunctor p, Functor f2) => p (Reader3 a (f1 b)) (f2 (Reader3 a' (f' b'))) -> p (Reader3T f1 b a) (f2 (Reader3T f' b' a')) Source #

pureReader3 :: forall (f :: Type -> Type) a b. Applicative f => Reader3 a b -> Reader3T f b a Source #

homReader3 :: (forall x. f x -> g x) -> Reader3T f b a -> Reader3T g b a Source #