freelude-0.3.2.0: A generalisation of the Category->Functor->Applicative->Monad hierarchy and more

Safe HaskellNone
LanguageHaskell2010

Freelude.Impl.Classes

Documentation

class Semigroupoid p where Source #

Minimal complete definition

(.)

Methods

(.) :: (CategoryC p b c, CategoryC p a b, CategoryC p a c) => CategoryT p b c -> CategoryT p a b -> CategoryT p a c infixr 9 Source #

Instances

Semigroupoid FunctionP Source # 
Semigroupoid p => Semigroupoid (Identity p) Source # 

Methods

(.) :: (CategoryC (Identity p) b c, CategoryC (Identity p) a b, CategoryC (Identity p) a c) => CategoryT (Identity p) b c -> CategoryT (Identity p) a b -> CategoryT (Identity p) a c Source #

Semigroupoid p => Semigroupoid (Dual p) Source # 

Methods

(.) :: (CategoryC (Dual p) b c, CategoryC (Dual p) a b, CategoryC (Dual p) a c) => CategoryT (Dual p) b c -> CategoryT (Dual p) a b -> CategoryT (Dual p) a c Source #

Semigroup m => Semigroupoid (MonoidAsCategory m) Source # 
(Semigroupoid p1, Semigroupoid p2) => Semigroupoid (p1, p2) Source # 

Methods

(.) :: (CategoryC (p1, p2) b c, CategoryC (p1, p2) a b, CategoryC (p1, p2) a c) => CategoryT (p1, p2) b c -> CategoryT (p1, p2) a b -> CategoryT (p1, p2) a c Source #

Semigroupoid p => Semigroupoid (FunctorCategoryP (BasicFunctorP []) p) Source # 
Semigroupoid p => Semigroupoid (FunctorCategoryP (BasicFunctorP Maybe) p) Source # 
(Semigroupoid p1, Semigroupoid p2, Semigroupoid p3) => Semigroupoid (p1, p2, p3) Source # 

Methods

(.) :: (CategoryC (p1, p2, p3) b c, CategoryC (p1, p2, p3) a b, CategoryC (p1, p2, p3) a c) => CategoryT (p1, p2, p3) b c -> CategoryT (p1, p2, p3) a b -> CategoryT (p1, p2, p3) a c Source #

(Semigroupoid p1, Semigroupoid p2, Semigroupoid p3, Semigroupoid p4) => Semigroupoid (p1, p2, p3, p4) Source # 

Methods

(.) :: (CategoryC (p1, p2, p3, p4) b c, CategoryC (p1, p2, p3, p4) a b, CategoryC (p1, p2, p3, p4) a c) => CategoryT (p1, p2, p3, p4) b c -> CategoryT (p1, p2, p3, p4) a b -> CategoryT (p1, p2, p3, p4) a c Source #

(Semigroupoid p1, Semigroupoid p2, Semigroupoid p3, Semigroupoid p4, Semigroupoid p5) => Semigroupoid (p1, p2, p3, p4, p5) Source # 

Methods

(.) :: (CategoryC (p1, p2, p3, p4, p5) b c, CategoryC (p1, p2, p3, p4, p5) a b, CategoryC (p1, p2, p3, p4, p5) a c) => CategoryT (p1, p2, p3, p4, p5) b c -> CategoryT (p1, p2, p3, p4, p5) a b -> CategoryT (p1, p2, p3, p4, p5) a c Source #

(<<<) :: (Semigroupoid p, CategoryC p b c, CategoryC p a b, CategoryC p a c) => CategoryT p b c -> CategoryT p a b -> CategoryT p a c Source #

(>>>) :: (Semigroupoid p, CategoryC p a b, CategoryC p b c, CategoryC p a c) => CategoryT p a b -> CategoryT p b c -> CategoryT p a c Source #

class Semigroupoid p => Category p where Source #

Minimal complete definition

id

Methods

id :: (CategoryC p a a, ExoCategoryC p a a, t ~ CategoryT p a a, t ~ ExoCategoryT p a a) => t Source #

Instances

Category FunctionP Source # 

Methods

id :: (CategoryC FunctionP a a, ExoCategoryC FunctionP a a, (Type ~ t) (CategoryT FunctionP a a), (Type ~ t) (ExoCategoryT FunctionP a a)) => t Source #

Category p => Category (Identity p) Source # 

Methods

id :: (CategoryC (Identity p) a a, ExoCategoryC (Identity p) a a, (Type ~ t) (CategoryT (Identity p) a a), (Type ~ t) (ExoCategoryT (Identity p) a a)) => t Source #

Category p => Category (Dual p) Source # 

Methods

id :: (CategoryC (Dual p) a a, ExoCategoryC (Dual p) a a, (Type ~ t) (CategoryT (Dual p) a a), (Type ~ t) (ExoCategoryT (Dual p) a a)) => t Source #

(Semigroup m, Monoid m) => Category (MonoidAsCategory m) Source # 
Semigroupoid p => Category (FunctorCategoryP (BasicFunctorP []) p) Source # 
Semigroupoid p => Category (FunctorCategoryP (BasicFunctorP Maybe) p) Source # 

data FunctionP Source #

Instances

Arr FunctionP Source # 

Methods

arr :: CategoryC FunctionP a b => (a -> b) -> CategoryT FunctionP a b Source #

Const FunctionP Source # 

Methods

const :: CategoryC FunctionP a b => b -> CategoryT FunctionP a b Source #

Category FunctionP Source # 

Methods

id :: (CategoryC FunctionP a a, ExoCategoryC FunctionP a a, (Type ~ t) (CategoryT FunctionP a a), (Type ~ t) (ExoCategoryT FunctionP a a)) => t Source #

Semigroupoid FunctionP Source # 
Functor FunctionP (BasicFunctorP []) Source # 

Methods

fmap :: (FunctorTC (BasicFunctorP []) a ra, FunctorTC (BasicFunctorP []) b rb, CategoryC FunctionP a b, CategoryC FunctionP ra rb, FunctorSrcC (BasicFunctorP []) a, FunctorDstC (BasicFunctorP []) b) => CategoryT FunctionP a b -> CategoryT FunctionP ra rb Source #

Functor FunctionP (BasicFunctorP Maybe) Source # 
Functor FunctionP (BasicFunctorP IO) Source # 
Functor FunctionP (BasicFunctorP (Either a)) Source # 

Methods

fmap :: (FunctorTC (BasicFunctorP (Either a)) a ra, FunctorTC (BasicFunctorP (Either a)) b rb, CategoryC FunctionP a b, CategoryC FunctionP ra rb, FunctorSrcC (BasicFunctorP (Either a)) a, FunctorDstC (BasicFunctorP (Either a)) b) => CategoryT FunctionP a b -> CategoryT FunctionP ra rb Source #

Ix i => Functor FunctionP (BasicFunctorP (UArray i)) Source # 

Methods

fmap :: (FunctorTC (BasicFunctorP (UArray i)) a ra, FunctorTC (BasicFunctorP (UArray i)) b rb, CategoryC FunctionP a b, CategoryC FunctionP ra rb, FunctorSrcC (BasicFunctorP (UArray i)) a, FunctorDstC (BasicFunctorP (UArray i)) b) => CategoryT FunctionP a b -> CategoryT FunctionP ra rb Source #

Ix i => Functor FunctionP (BasicFunctorP (Array i)) Source # 

Methods

fmap :: (FunctorTC (BasicFunctorP (Array i)) a ra, FunctorTC (BasicFunctorP (Array i)) b rb, CategoryC FunctionP a b, CategoryC FunctionP ra rb, FunctorSrcC (BasicFunctorP (Array i)) a, FunctorDstC (BasicFunctorP (Array i)) b) => CategoryT FunctionP a b -> CategoryT FunctionP ra rb Source #

Functor FunctionP (BasicFunctorP Min) Source # 
Functor FunctionP (BasicFunctorP Max) Source # 
Functor FunctionP (BasicFunctorP First) Source # 
Functor FunctionP (BasicFunctorP Last) Source # 
Functor FunctionP (BasicFunctorP Option) Source # 
Functor FunctionP (BasicFunctorP NonEmpty) Source # 
Functor FunctionP (BasicFunctorP Identity) Source # 
Functor FunctionP (BasicFunctorP Tree) Source # 
Functor FunctionP (BasicFunctorP Set) Source # 
Functor FunctionP (BasicFunctorP (Constant Type a)) Source # 
Arr (Identity FunctionP) Source # 

Methods

arr :: CategoryC (Identity FunctionP) a b => (a -> b) -> CategoryT (Identity FunctionP) a b Source #

Const (Identity FunctionP) Source # 
Arr (FunctorCategoryP (BasicFunctorP []) FunctionP) Source # 
Arr (FunctorCategoryP (BasicFunctorP Maybe) FunctionP) Source # 
Const (FunctorCategoryP (BasicFunctorP []) FunctionP) Source # 
Const (FunctorCategoryP (BasicFunctorP Maybe) FunctionP) Source # 
(ExoFunctor p1 FunctionP, ExoFunctor p2 FunctionP) => ExoFunctor (p1, p2) FunctionP Source # 

Methods

exomap :: (ExoCategoryC (p1, p2) a b, ExoCategoryC FunctionP a b) => ExoCategoryT (p1, p2) a b -> ExoCategoryT FunctionP a b Source #

ExoFunctor p FunctionP => ExoFunctor (FunctorCategoryP (BasicFunctorP []) p) FunctionP Source # 
ExoFunctor p FunctionP => ExoFunctor (FunctorCategoryP (BasicFunctorP Maybe) p) FunctionP Source # 
(ExoFunctor p1 FunctionP, ExoFunctor p2 FunctionP, ExoFunctor p3 FunctionP) => ExoFunctor (p1, p2, p3) FunctionP Source # 

Methods

exomap :: (ExoCategoryC (p1, p2, p3) a b, ExoCategoryC FunctionP a b) => ExoCategoryT (p1, p2, p3) a b -> ExoCategoryT FunctionP a b Source #

(ExoFunctor p1 FunctionP, ExoFunctor p2 FunctionP, ExoFunctor p3 FunctionP, ExoFunctor p4 FunctionP) => ExoFunctor (p1, p2, p3, p4) FunctionP Source # 

Methods

exomap :: (ExoCategoryC (p1, p2, p3, p4) a b, ExoCategoryC FunctionP a b) => ExoCategoryT (p1, p2, p3, p4) a b -> ExoCategoryT FunctionP a b Source #

(ExoFunctor p1 FunctionP, ExoFunctor p2 FunctionP, ExoFunctor p3 FunctionP, ExoFunctor p4 FunctionP, ExoFunctor p5 FunctionP) => ExoFunctor (p1, p2, p3, p4, p5) FunctionP Source # 

Methods

exomap :: (ExoCategoryC (p1, p2, p3, p4, p5) a b, ExoCategoryC FunctionP a b) => ExoCategoryT (p1, p2, p3, p4, p5) a b -> ExoCategoryT FunctionP a b Source #

type CategoryDstC' FunctionP Source # 
type CategorySrcC' FunctionP Source # 
type ExoCategoryDstC FunctionP b Source # 
type ExoCategorySrcC FunctionP a Source # 
type ExoCategoryT FunctionP a b Source # 
type ExoCategoryT FunctionP a b = a -> b
type CategoryT FunctionP a b Source # 
type CategoryT FunctionP a b = a -> b

type family CategoryT (p :: Type) (a :: Type) (b :: Type) = (f :: Type) | f -> p a b Source #

Instances

type CategoryT FunctionP a b Source # 
type CategoryT FunctionP a b = a -> b
type CategoryT (Identity p) a b Source # 
type CategoryT (Identity p) a b = Identity (CategoryT p a b)
type CategoryT (Dual p) a b Source # 
type CategoryT (Dual p) a b = Dual (CategoryT p b a)
type CategoryT (MonoidAsCategory a) Void Void Source # 
type CategoryT (FunctorCategoryP (BasicFunctorP []) p) a b Source # 
type CategoryT (FunctorCategoryP (BasicFunctorP Maybe) p) a b Source # 
type CategoryT (p1, p2) (a1, a2) (b1, b2) Source # 
type CategoryT (p1, p2) (a1, a2) (b1, b2) = (CategoryT p1 a1 b1, CategoryT p2 a2 b2)
type CategoryT (p1, p2, p3) (a1, a2, a3) (b1, b2, b3) Source # 
type CategoryT (p1, p2, p3) (a1, a2, a3) (b1, b2, b3) = (CategoryT p1 a1 b1, CategoryT p2 a2 b2, CategoryT p3 a3 b3)
type CategoryT (p1, p2, p3, p4) (a1, a2, a3, a4) (b1, b2, b3, b4) Source # 
type CategoryT (p1, p2, p3, p4) (a1, a2, a3, a4) (b1, b2, b3, b4) = (CategoryT p1 a1 b1, CategoryT p2 a2 b2, CategoryT p3 a3 b3, CategoryT p4 a4 b4)
type CategoryT (p1, p2, p3, p4, p5) (a1, a2, a3, a4, a5) (b1, b2, b3, b4, b5) Source # 
type CategoryT (p1, p2, p3, p4, p5) (a1, a2, a3, a4, a5) (b1, b2, b3, b4, b5) = (CategoryT p1 a1 b1, CategoryT p2 a2 b2, CategoryT p3 a3 b3, CategoryT p4 a4 b4, CategoryT p5 a5 b5)

type family ExoCategoryT (p :: Type) (a :: Type) (b :: Type) = (f :: Type) | f -> p a b Source #

Instances

type ExoCategoryT FunctionP a b Source # 
type ExoCategoryT FunctionP a b = a -> b
type ExoCategoryT (Identity p) a b Source # 
type ExoCategoryT (Dual p) a b Source # 
type ExoCategoryT (Dual p) a b = Dual (ExoCategoryT p b a)
type ExoCategoryT (FunctorCategoryP (BasicFunctorP []) p) [a] [b] Source # 
type ExoCategoryT (FunctorCategoryP (BasicFunctorP Maybe) p) (Maybe a) (Maybe b) Source # 
type ExoCategoryT (p1, p2) (a1, a2) (b1, b2) Source # 
type ExoCategoryT (p1, p2) (a1, a2) (b1, b2) = (ExoCategoryT p1 a1 b1, ExoCategoryT p2 a2 b2)
type ExoCategoryT (p1, p2, p3) (a1, a2, a3) (b1, b2, b3) Source # 
type ExoCategoryT (p1, p2, p3) (a1, a2, a3) (b1, b2, b3) = (ExoCategoryT p1 a1 b1, ExoCategoryT p2 a2 b2, ExoCategoryT p3 a3 b3)
type ExoCategoryT (p1, p2, p3, p4) (a1, a2, a3, a4) (b1, b2, b3, b4) Source # 
type ExoCategoryT (p1, p2, p3, p4) (a1, a2, a3, a4) (b1, b2, b3, b4) = (ExoCategoryT p1 a1 b1, ExoCategoryT p2 a2 b2, ExoCategoryT p3 a3 b3, ExoCategoryT p4 a4 b4)
type ExoCategoryT (p1, p2, p3, p4, p5) (a1, a2, a3, a4, a5) (b1, b2, b3, b4, b5) Source # 
type ExoCategoryT (p1, p2, p3, p4, p5) (a1, a2, a3, a4, a5) (b1, b2, b3, b4, b5) = (ExoCategoryT p1 a1 b1, ExoCategoryT p2 a2 b2, ExoCategoryT p3 a3 b3, ExoCategoryT p4 a4 b4, ExoCategoryT p5 a5 b5)

type family CategorySrcC' (p :: Type) :: Maybe (Type -> Constraint) Source #

Instances

type CategorySrcC' FunctionP Source # 
type CategorySrcC' (Identity p) Source # 
type CategorySrcC' (Dual p) Source # 
type CategorySrcC' (MonoidAsCategory _) Source # 
type CategorySrcC' (p1, p2) Source # 
type CategorySrcC' (p1, p2)
type CategorySrcC' (FunctorCategoryP _ p) Source # 
type CategorySrcC' (p1, p2, p3) Source # 
type CategorySrcC' (p1, p2, p3)
type CategorySrcC' (p1, p2, p3, p4) Source # 
type CategorySrcC' (p1, p2, p3, p4)
type CategorySrcC' (p1, p2, p3, p4, p5) Source # 
type CategorySrcC' (p1, p2, p3, p4, p5)

type family ExoCategorySrcC (p :: Type) (a :: Type) :: Constraint Source #

Instances

type ExoCategorySrcC FunctionP a Source # 
type ExoCategorySrcC (Identity p) a Source # 
type ExoCategorySrcC (Dual p) a Source # 
type ExoCategorySrcC (p1, p2) a Source # 
type ExoCategorySrcC (p1, p2) a = (TupleConstraint 2 a, ExoCategorySrcC p1 (IndexT 0 a), ExoCategorySrcC p2 (IndexT 1 a))
type ExoCategorySrcC (FunctorCategoryP functorP p) a Source # 
type ExoCategorySrcC (FunctorCategoryP functorP p) a = (ExoCategorySrcC p (IndexC 1 0 a), (~) Type a (FunctorT functorP (IndexC 1 0 a)))
type ExoCategorySrcC (p1, p2, p3) a Source # 
type ExoCategorySrcC (p1, p2, p3) a = (TupleConstraint 3 a, ExoCategorySrcC p1 (IndexT 0 a), ExoCategorySrcC p2 (IndexT 1 a), ExoCategorySrcC p3 (IndexT 2 a))
type ExoCategorySrcC (p1, p2, p3, p4) a Source # 
type ExoCategorySrcC (p1, p2, p3, p4) a = (TupleConstraint 4 a, ExoCategorySrcC p1 (IndexT 0 a), ExoCategorySrcC p2 (IndexT 1 a), ExoCategorySrcC p3 (IndexT 2 a), ExoCategorySrcC p4 (IndexT 3 a))
type ExoCategorySrcC (p1, p2, p3, p4, p5) a Source # 
type ExoCategorySrcC (p1, p2, p3, p4, p5) a = (TupleConstraint 5 a, ExoCategorySrcC p1 (IndexT 0 a), ExoCategorySrcC p2 (IndexT 1 a), ExoCategorySrcC p3 (IndexT 2 a), ExoCategorySrcC p4 (IndexT 3 a), ExoCategorySrcC p5 (IndexT 4 a))

type family CategoryDstC' (p :: Type) :: Maybe (Type -> Constraint) Source #

Instances

type CategoryDstC' FunctionP Source # 
type CategoryDstC' (Identity p) Source # 
type CategoryDstC' (Dual p) Source # 
type CategoryDstC' (MonoidAsCategory _) Source # 
type CategoryDstC' (p1, p2) Source # 
type CategoryDstC' (p1, p2)
type CategoryDstC' (FunctorCategoryP _ p) Source # 
type CategoryDstC' (p1, p2, p3) Source # 
type CategoryDstC' (p1, p2, p3)
type CategoryDstC' (p1, p2, p3, p4) Source # 
type CategoryDstC' (p1, p2, p3, p4)
type CategoryDstC' (p1, p2, p3, p4, p5) Source # 
type CategoryDstC' (p1, p2, p3, p4, p5)

type family ExoCategoryDstC (p :: Type) (b :: Type) :: Constraint Source #

Instances

type ExoCategoryDstC FunctionP b Source # 
type ExoCategoryDstC (Identity p) b Source # 
type ExoCategoryDstC (Dual p) b Source # 
type ExoCategoryDstC (p1, p2) b Source # 
type ExoCategoryDstC (p1, p2) b = (TupleConstraint 2 b, ExoCategoryDstC p1 (IndexT 0 b), ExoCategoryDstC p2 (IndexT 1 b))
type ExoCategoryDstC (FunctorCategoryP functorP p) b Source # 
type ExoCategoryDstC (FunctorCategoryP functorP p) b = (ExoCategoryDstC p (IndexC 1 0 b), (~) Type b (FunctorT functorP (IndexC 1 0 b)))
type ExoCategoryDstC (p1, p2, p3) b Source # 
type ExoCategoryDstC (p1, p2, p3) b = (TupleConstraint 3 b, ExoCategoryDstC p1 (IndexT 0 b), ExoCategoryDstC p2 (IndexT 1 b), ExoCategoryDstC p3 (IndexT 2 b))
type ExoCategoryDstC (p1, p2, p3, p4) b Source # 
type ExoCategoryDstC (p1, p2, p3, p4) b = (TupleConstraint 4 b, ExoCategoryDstC p1 (IndexT 0 b), ExoCategoryDstC p2 (IndexT 1 b), ExoCategoryDstC p3 (IndexT 2 b), ExoCategoryDstC p4 (IndexT 3 b))
type ExoCategoryDstC (p1, p2, p3, p4, p5) b Source # 
type ExoCategoryDstC (p1, p2, p3, p4, p5) b = (TupleConstraint 5 b, ExoCategoryDstC p1 (IndexT 0 b), ExoCategoryDstC p2 (IndexT 1 b), ExoCategoryDstC p3 (IndexT 2 b), ExoCategoryDstC p4 (IndexT 3 b), ExoCategoryDstC p5 (IndexT 4 b))

type CategoryC p a b = (CategorySrcC p a, CategoryDstC p b) Source #

type IsSemigroupoid t p a b = (Semigroupoid p, t ~ CategoryT p a b, CategoryC p a b) Source #

type ExoIsSemigroupoid t p a b = (Semigroupoid p, t ~ ExoCategoryT p a b, ExoCategoryC p a b) Source #

type IsCategory t p a b = (IsSemigroupoid t p a b, Category p) Source #

type ExoIsCategory t p a b = (ExoIsSemigroupoid t p a b, Category p) Source #

type family FunctorT (p :: Type) a = b | b -> p a Source #

Instances

type FunctorT (BasicFunctorP []) a Source # 
type FunctorT (BasicFunctorP []) a = [a]
type FunctorT (BasicFunctorP Maybe) a Source # 
type FunctorT (BasicFunctorP IO) a Source # 
type FunctorT (BasicFunctorP (Either a)) b Source # 
type FunctorT (BasicFunctorP (Either a)) b = Either a b
type FunctorT (BasicFunctorP (UArray i)) e Source # 
type FunctorT (BasicFunctorP (UArray i)) e = UArray i e
type FunctorT (BasicFunctorP (Array i)) e Source # 
type FunctorT (BasicFunctorP (Array i)) e = Array i e
type FunctorT (BasicFunctorP Min) a Source # 
type FunctorT (BasicFunctorP Max) a Source # 
type FunctorT (BasicFunctorP First) a Source # 
type FunctorT (BasicFunctorP Last) a Source # 
type FunctorT (BasicFunctorP Option) a Source # 
type FunctorT (BasicFunctorP NonEmpty) a Source # 
type FunctorT (BasicFunctorP Identity) a Source # 
type FunctorT (BasicFunctorP Tree) a Source # 
type FunctorT (BasicFunctorP Set) a Source # 
type FunctorT (BasicFunctorP (Constant Type a)) b Source # 

type family FunctorSrcC' (p :: Type) :: Maybe (Type -> Constraint) Source #

Instances

type FunctorSrcC' (BasicFunctorP []) Source # 
type FunctorSrcC' (BasicFunctorP Maybe) Source # 
type FunctorSrcC' (BasicFunctorP IO) Source # 
type FunctorSrcC' (BasicFunctorP (Either a)) Source # 
type FunctorSrcC' (BasicFunctorP (UArray i)) Source # 
type FunctorSrcC' (BasicFunctorP (Array i)) Source # 
type FunctorSrcC' (BasicFunctorP Min) Source # 
type FunctorSrcC' (BasicFunctorP Max) Source # 
type FunctorSrcC' (BasicFunctorP First) Source # 
type FunctorSrcC' (BasicFunctorP Last) Source # 
type FunctorSrcC' (BasicFunctorP Option) Source # 
type FunctorSrcC' (BasicFunctorP NonEmpty) Source # 
type FunctorSrcC' (BasicFunctorP Identity) Source # 
type FunctorSrcC' (BasicFunctorP Tree) Source # 
type FunctorSrcC' (BasicFunctorP Set) Source # 
type FunctorSrcC' (BasicFunctorP (Constant Type a)) Source # 

type family FunctorDstC' (p :: Type) :: Maybe (Type -> Constraint) Source #

Instances

type FunctorDstC' (BasicFunctorP []) Source # 
type FunctorDstC' (BasicFunctorP Maybe) Source # 
type FunctorDstC' (BasicFunctorP IO) Source # 
type FunctorDstC' (BasicFunctorP (Either a)) Source # 
type FunctorDstC' (BasicFunctorP (UArray i)) Source # 
type FunctorDstC' (BasicFunctorP (Array i)) Source # 
type FunctorDstC' (BasicFunctorP Min) Source # 
type FunctorDstC' (BasicFunctorP Max) Source # 
type FunctorDstC' (BasicFunctorP First) Source # 
type FunctorDstC' (BasicFunctorP Last) Source # 
type FunctorDstC' (BasicFunctorP Option) Source # 
type FunctorDstC' (BasicFunctorP NonEmpty) Source # 
type FunctorDstC' (BasicFunctorP Identity) Source # 
type FunctorDstC' (BasicFunctorP Tree) Source # 
type FunctorDstC' (BasicFunctorP Set) Source # 
type FunctorDstC' (BasicFunctorP (Constant Type a)) Source # 

type family FromMaybeConstraintFunc (p :: Maybe (Type -> Constraint)) :: Type -> Constraint where ... Source #

Equations

FromMaybeConstraintFunc Nothing = EmptyConstraint 
FromMaybeConstraintFunc (Just c) = c 

data BasicFunctorP (f :: Type -> Type) Source #

Instances

Functor FunctionP (BasicFunctorP []) Source # 

Methods

fmap :: (FunctorTC (BasicFunctorP []) a ra, FunctorTC (BasicFunctorP []) b rb, CategoryC FunctionP a b, CategoryC FunctionP ra rb, FunctorSrcC (BasicFunctorP []) a, FunctorDstC (BasicFunctorP []) b) => CategoryT FunctionP a b -> CategoryT FunctionP ra rb Source #

Functor FunctionP (BasicFunctorP Maybe) Source # 
Functor FunctionP (BasicFunctorP IO) Source # 
Functor FunctionP (BasicFunctorP (Either a)) Source # 

Methods

fmap :: (FunctorTC (BasicFunctorP (Either a)) a ra, FunctorTC (BasicFunctorP (Either a)) b rb, CategoryC FunctionP a b, CategoryC FunctionP ra rb, FunctorSrcC (BasicFunctorP (Either a)) a, FunctorDstC (BasicFunctorP (Either a)) b) => CategoryT FunctionP a b -> CategoryT FunctionP ra rb Source #

Ix i => Functor FunctionP (BasicFunctorP (UArray i)) Source # 

Methods

fmap :: (FunctorTC (BasicFunctorP (UArray i)) a ra, FunctorTC (BasicFunctorP (UArray i)) b rb, CategoryC FunctionP a b, CategoryC FunctionP ra rb, FunctorSrcC (BasicFunctorP (UArray i)) a, FunctorDstC (BasicFunctorP (UArray i)) b) => CategoryT FunctionP a b -> CategoryT FunctionP ra rb Source #

Ix i => Functor FunctionP (BasicFunctorP (Array i)) Source # 

Methods

fmap :: (FunctorTC (BasicFunctorP (Array i)) a ra, FunctorTC (BasicFunctorP (Array i)) b rb, CategoryC FunctionP a b, CategoryC FunctionP ra rb, FunctorSrcC (BasicFunctorP (Array i)) a, FunctorDstC (BasicFunctorP (Array i)) b) => CategoryT FunctionP a b -> CategoryT FunctionP ra rb Source #

Functor FunctionP (BasicFunctorP Min) Source # 
Functor FunctionP (BasicFunctorP Max) Source # 
Functor FunctionP (BasicFunctorP First) Source # 
Functor FunctionP (BasicFunctorP Last) Source # 
Functor FunctionP (BasicFunctorP Option) Source # 
Functor FunctionP (BasicFunctorP NonEmpty) Source # 
Functor FunctionP (BasicFunctorP Identity) Source # 
Functor FunctionP (BasicFunctorP Tree) Source # 
Functor FunctionP (BasicFunctorP Set) Source # 
Functor FunctionP (BasicFunctorP (Constant Type a)) Source # 
Monad (BasicFunctorP []) Source # 

Methods

(>>=) :: (FunctorSrcC (BasicFunctorP []) a, FunctorSrcC (BasicFunctorP []) b, FunctorDstC (BasicFunctorP []) b, FunctorTC (BasicFunctorP []) a ra, FunctorTC (BasicFunctorP []) b rb) => ra -> (a -> rb) -> rb Source #

(>>) :: (FunctorSrcC (BasicFunctorP []) a, FunctorSrcC (BasicFunctorP []) b, FunctorDstC (BasicFunctorP []) b, FunctorTC (BasicFunctorP []) a ra, FunctorTC (BasicFunctorP []) b rb) => ra -> rb -> rb Source #

Monad (BasicFunctorP Maybe) Source # 

Methods

(>>=) :: (FunctorSrcC (BasicFunctorP Maybe) a, FunctorSrcC (BasicFunctorP Maybe) b, FunctorDstC (BasicFunctorP Maybe) b, FunctorTC (BasicFunctorP Maybe) a ra, FunctorTC (BasicFunctorP Maybe) b rb) => ra -> (a -> rb) -> rb Source #

(>>) :: (FunctorSrcC (BasicFunctorP Maybe) a, FunctorSrcC (BasicFunctorP Maybe) b, FunctorDstC (BasicFunctorP Maybe) b, FunctorTC (BasicFunctorP Maybe) a ra, FunctorTC (BasicFunctorP Maybe) b rb) => ra -> rb -> rb Source #

Monad (BasicFunctorP IO) Source # 

Methods

(>>=) :: (FunctorSrcC (BasicFunctorP IO) a, FunctorSrcC (BasicFunctorP IO) b, FunctorDstC (BasicFunctorP IO) b, FunctorTC (BasicFunctorP IO) a ra, FunctorTC (BasicFunctorP IO) b rb) => ra -> (a -> rb) -> rb Source #

(>>) :: (FunctorSrcC (BasicFunctorP IO) a, FunctorSrcC (BasicFunctorP IO) b, FunctorDstC (BasicFunctorP IO) b, FunctorTC (BasicFunctorP IO) a ra, FunctorTC (BasicFunctorP IO) b rb) => ra -> rb -> rb Source #

Monad (BasicFunctorP (Either a)) Source # 

Methods

(>>=) :: (FunctorSrcC (BasicFunctorP (Either a)) a, FunctorSrcC (BasicFunctorP (Either a)) b, FunctorDstC (BasicFunctorP (Either a)) b, FunctorTC (BasicFunctorP (Either a)) a ra, FunctorTC (BasicFunctorP (Either a)) b rb) => ra -> (a -> rb) -> rb Source #

(>>) :: (FunctorSrcC (BasicFunctorP (Either a)) a, FunctorSrcC (BasicFunctorP (Either a)) b, FunctorDstC (BasicFunctorP (Either a)) b, FunctorTC (BasicFunctorP (Either a)) a ra, FunctorTC (BasicFunctorP (Either a)) b rb) => ra -> rb -> rb Source #

Monad (BasicFunctorP Min) Source # 

Methods

(>>=) :: (FunctorSrcC (BasicFunctorP Min) a, FunctorSrcC (BasicFunctorP Min) b, FunctorDstC (BasicFunctorP Min) b, FunctorTC (BasicFunctorP Min) a ra, FunctorTC (BasicFunctorP Min) b rb) => ra -> (a -> rb) -> rb Source #

(>>) :: (FunctorSrcC (BasicFunctorP Min) a, FunctorSrcC (BasicFunctorP Min) b, FunctorDstC (BasicFunctorP Min) b, FunctorTC (BasicFunctorP Min) a ra, FunctorTC (BasicFunctorP Min) b rb) => ra -> rb -> rb Source #

Monad (BasicFunctorP Max) Source # 

Methods

(>>=) :: (FunctorSrcC (BasicFunctorP Max) a, FunctorSrcC (BasicFunctorP Max) b, FunctorDstC (BasicFunctorP Max) b, FunctorTC (BasicFunctorP Max) a ra, FunctorTC (BasicFunctorP Max) b rb) => ra -> (a -> rb) -> rb Source #

(>>) :: (FunctorSrcC (BasicFunctorP Max) a, FunctorSrcC (BasicFunctorP Max) b, FunctorDstC (BasicFunctorP Max) b, FunctorTC (BasicFunctorP Max) a ra, FunctorTC (BasicFunctorP Max) b rb) => ra -> rb -> rb Source #

Monad (BasicFunctorP First) Source # 

Methods

(>>=) :: (FunctorSrcC (BasicFunctorP First) a, FunctorSrcC (BasicFunctorP First) b, FunctorDstC (BasicFunctorP First) b, FunctorTC (BasicFunctorP First) a ra, FunctorTC (BasicFunctorP First) b rb) => ra -> (a -> rb) -> rb Source #

(>>) :: (FunctorSrcC (BasicFunctorP First) a, FunctorSrcC (BasicFunctorP First) b, FunctorDstC (BasicFunctorP First) b, FunctorTC (BasicFunctorP First) a ra, FunctorTC (BasicFunctorP First) b rb) => ra -> rb -> rb Source #

Monad (BasicFunctorP Last) Source # 

Methods

(>>=) :: (FunctorSrcC (BasicFunctorP Last) a, FunctorSrcC (BasicFunctorP Last) b, FunctorDstC (BasicFunctorP Last) b, FunctorTC (BasicFunctorP Last) a ra, FunctorTC (BasicFunctorP Last) b rb) => ra -> (a -> rb) -> rb Source #

(>>) :: (FunctorSrcC (BasicFunctorP Last) a, FunctorSrcC (BasicFunctorP Last) b, FunctorDstC (BasicFunctorP Last) b, FunctorTC (BasicFunctorP Last) a ra, FunctorTC (BasicFunctorP Last) b rb) => ra -> rb -> rb Source #

Monad (BasicFunctorP Option) Source # 

Methods

(>>=) :: (FunctorSrcC (BasicFunctorP Option) a, FunctorSrcC (BasicFunctorP Option) b, FunctorDstC (BasicFunctorP Option) b, FunctorTC (BasicFunctorP Option) a ra, FunctorTC (BasicFunctorP Option) b rb) => ra -> (a -> rb) -> rb Source #

(>>) :: (FunctorSrcC (BasicFunctorP Option) a, FunctorSrcC (BasicFunctorP Option) b, FunctorDstC (BasicFunctorP Option) b, FunctorTC (BasicFunctorP Option) a ra, FunctorTC (BasicFunctorP Option) b rb) => ra -> rb -> rb Source #

Monad (BasicFunctorP NonEmpty) Source # 
Monad (BasicFunctorP Identity) Source # 
Monad (BasicFunctorP Tree) Source # 

Methods

(>>=) :: (FunctorSrcC (BasicFunctorP Tree) a, FunctorSrcC (BasicFunctorP Tree) b, FunctorDstC (BasicFunctorP Tree) b, FunctorTC (BasicFunctorP Tree) a ra, FunctorTC (BasicFunctorP Tree) b rb) => ra -> (a -> rb) -> rb Source #

(>>) :: (FunctorSrcC (BasicFunctorP Tree) a, FunctorSrcC (BasicFunctorP Tree) b, FunctorDstC (BasicFunctorP Tree) b, FunctorTC (BasicFunctorP Tree) a ra, FunctorTC (BasicFunctorP Tree) b rb) => ra -> rb -> rb Source #

Monad (BasicFunctorP Set) Source # 

Methods

(>>=) :: (FunctorSrcC (BasicFunctorP Set) a, FunctorSrcC (BasicFunctorP Set) b, FunctorDstC (BasicFunctorP Set) b, FunctorTC (BasicFunctorP Set) a ra, FunctorTC (BasicFunctorP Set) b rb) => ra -> (a -> rb) -> rb Source #

(>>) :: (FunctorSrcC (BasicFunctorP Set) a, FunctorSrcC (BasicFunctorP Set) b, FunctorDstC (BasicFunctorP Set) b, FunctorTC (BasicFunctorP Set) a ra, FunctorTC (BasicFunctorP Set) b rb) => ra -> rb -> rb Source #

Pure (BasicFunctorP []) Source # 

Methods

pure :: (FunctorDstC (BasicFunctorP []) a, FunctorTC (BasicFunctorP []) a ra) => a -> ra Source #

Pure (BasicFunctorP Maybe) Source # 

Methods

pure :: (FunctorDstC (BasicFunctorP Maybe) a, FunctorTC (BasicFunctorP Maybe) a ra) => a -> ra Source #

Pure (BasicFunctorP IO) Source # 

Methods

pure :: (FunctorDstC (BasicFunctorP IO) a, FunctorTC (BasicFunctorP IO) a ra) => a -> ra Source #

Pure (BasicFunctorP (Either a)) Source # 

Methods

pure :: (FunctorDstC (BasicFunctorP (Either a)) a, FunctorTC (BasicFunctorP (Either a)) a ra) => a -> ra Source #

(Ix i, Num i) => Pure (BasicFunctorP (UArray i)) Source # 

Methods

pure :: (FunctorDstC (BasicFunctorP (UArray i)) a, FunctorTC (BasicFunctorP (UArray i)) a ra) => a -> ra Source #

(Ix i, Num i) => Pure (BasicFunctorP (Array i)) Source # 

Methods

pure :: (FunctorDstC (BasicFunctorP (Array i)) a, FunctorTC (BasicFunctorP (Array i)) a ra) => a -> ra Source #

Pure (BasicFunctorP Min) Source # 

Methods

pure :: (FunctorDstC (BasicFunctorP Min) a, FunctorTC (BasicFunctorP Min) a ra) => a -> ra Source #

Pure (BasicFunctorP Max) Source # 

Methods

pure :: (FunctorDstC (BasicFunctorP Max) a, FunctorTC (BasicFunctorP Max) a ra) => a -> ra Source #

Pure (BasicFunctorP First) Source # 

Methods

pure :: (FunctorDstC (BasicFunctorP First) a, FunctorTC (BasicFunctorP First) a ra) => a -> ra Source #

Pure (BasicFunctorP Last) Source # 

Methods

pure :: (FunctorDstC (BasicFunctorP Last) a, FunctorTC (BasicFunctorP Last) a ra) => a -> ra Source #

Pure (BasicFunctorP Option) Source # 

Methods

pure :: (FunctorDstC (BasicFunctorP Option) a, FunctorTC (BasicFunctorP Option) a ra) => a -> ra Source #

Pure (BasicFunctorP NonEmpty) Source # 

Methods

pure :: (FunctorDstC (BasicFunctorP NonEmpty) a, FunctorTC (BasicFunctorP NonEmpty) a ra) => a -> ra Source #

Pure (BasicFunctorP Identity) Source # 

Methods

pure :: (FunctorDstC (BasicFunctorP Identity) a, FunctorTC (BasicFunctorP Identity) a ra) => a -> ra Source #

Pure (BasicFunctorP Tree) Source # 

Methods

pure :: (FunctorDstC (BasicFunctorP Tree) a, FunctorTC (BasicFunctorP Tree) a ra) => a -> ra Source #

Pure (BasicFunctorP Set) Source # 

Methods

pure :: (FunctorDstC (BasicFunctorP Set) a, FunctorTC (BasicFunctorP Set) a ra) => a -> ra Source #

Apply (BasicFunctorP []) Source # 

Methods

(<*>) :: (FunctorDstC (BasicFunctorP []) b, FunctorTC (BasicFunctorP []) (a -> b) rab, FunctorTC (BasicFunctorP []) a ra, FunctorTC (BasicFunctorP []) b rb) => rab -> ra -> rb Source #

Apply (BasicFunctorP Maybe) Source # 

Methods

(<*>) :: (FunctorDstC (BasicFunctorP Maybe) b, FunctorTC (BasicFunctorP Maybe) (a -> b) rab, FunctorTC (BasicFunctorP Maybe) a ra, FunctorTC (BasicFunctorP Maybe) b rb) => rab -> ra -> rb Source #

Apply (BasicFunctorP IO) Source # 

Methods

(<*>) :: (FunctorDstC (BasicFunctorP IO) b, FunctorTC (BasicFunctorP IO) (a -> b) rab, FunctorTC (BasicFunctorP IO) a ra, FunctorTC (BasicFunctorP IO) b rb) => rab -> ra -> rb Source #

Apply (BasicFunctorP (Either a)) Source # 

Methods

(<*>) :: (FunctorDstC (BasicFunctorP (Either a)) b, FunctorTC (BasicFunctorP (Either a)) (a -> b) rab, FunctorTC (BasicFunctorP (Either a)) a ra, FunctorTC (BasicFunctorP (Either a)) b rb) => rab -> ra -> rb Source #

(Ix i, Num i) => Apply (BasicFunctorP (Array i)) Source # 

Methods

(<*>) :: (FunctorDstC (BasicFunctorP (Array i)) b, FunctorTC (BasicFunctorP (Array i)) (a -> b) rab, FunctorTC (BasicFunctorP (Array i)) a ra, FunctorTC (BasicFunctorP (Array i)) b rb) => rab -> ra -> rb Source #

Apply (BasicFunctorP Min) Source # 

Methods

(<*>) :: (FunctorDstC (BasicFunctorP Min) b, FunctorTC (BasicFunctorP Min) (a -> b) rab, FunctorTC (BasicFunctorP Min) a ra, FunctorTC (BasicFunctorP Min) b rb) => rab -> ra -> rb Source #

Apply (BasicFunctorP Max) Source # 

Methods

(<*>) :: (FunctorDstC (BasicFunctorP Max) b, FunctorTC (BasicFunctorP Max) (a -> b) rab, FunctorTC (BasicFunctorP Max) a ra, FunctorTC (BasicFunctorP Max) b rb) => rab -> ra -> rb Source #

Apply (BasicFunctorP First) Source # 

Methods

(<*>) :: (FunctorDstC (BasicFunctorP First) b, FunctorTC (BasicFunctorP First) (a -> b) rab, FunctorTC (BasicFunctorP First) a ra, FunctorTC (BasicFunctorP First) b rb) => rab -> ra -> rb Source #

Apply (BasicFunctorP Last) Source # 

Methods

(<*>) :: (FunctorDstC (BasicFunctorP Last) b, FunctorTC (BasicFunctorP Last) (a -> b) rab, FunctorTC (BasicFunctorP Last) a ra, FunctorTC (BasicFunctorP Last) b rb) => rab -> ra -> rb Source #

Apply (BasicFunctorP Option) Source # 

Methods

(<*>) :: (FunctorDstC (BasicFunctorP Option) b, FunctorTC (BasicFunctorP Option) (a -> b) rab, FunctorTC (BasicFunctorP Option) a ra, FunctorTC (BasicFunctorP Option) b rb) => rab -> ra -> rb Source #

Apply (BasicFunctorP NonEmpty) Source # 

Methods

(<*>) :: (FunctorDstC (BasicFunctorP NonEmpty) b, FunctorTC (BasicFunctorP NonEmpty) (a -> b) rab, FunctorTC (BasicFunctorP NonEmpty) a ra, FunctorTC (BasicFunctorP NonEmpty) b rb) => rab -> ra -> rb Source #

Apply (BasicFunctorP Identity) Source # 

Methods

(<*>) :: (FunctorDstC (BasicFunctorP Identity) b, FunctorTC (BasicFunctorP Identity) (a -> b) rab, FunctorTC (BasicFunctorP Identity) a ra, FunctorTC (BasicFunctorP Identity) b rb) => rab -> ra -> rb Source #

Apply (BasicFunctorP Tree) Source # 

Methods

(<*>) :: (FunctorDstC (BasicFunctorP Tree) b, FunctorTC (BasicFunctorP Tree) (a -> b) rab, FunctorTC (BasicFunctorP Tree) a ra, FunctorTC (BasicFunctorP Tree) b rb) => rab -> ra -> rb Source #

Apply (BasicFunctorP Set) Source # 

Methods

(<*>) :: (FunctorDstC (BasicFunctorP Set) b, FunctorTC (BasicFunctorP Set) (a -> b) rab, FunctorTC (BasicFunctorP Set) a ra, FunctorTC (BasicFunctorP Set) b rb) => rab -> ra -> rb Source #

Lift (BasicFunctorP []) Source # 

Methods

liftA2 :: (FunctorTC (BasicFunctorP []) a ra, FunctorTC (BasicFunctorP []) b rb, FunctorTC (BasicFunctorP []) c rc, FunctorSrcC (BasicFunctorP []) a, FunctorSrcC (BasicFunctorP []) b, FunctorDstC (BasicFunctorP []) c) => (a -> b -> c) -> ra -> rb -> rc Source #

(*>) :: (FunctorTC (BasicFunctorP []) a ra, FunctorTC (BasicFunctorP []) b rb, FunctorSrcC (BasicFunctorP []) a, FunctorSrcC (BasicFunctorP []) b, FunctorDstC (BasicFunctorP []) b) => ra -> rb -> rb Source #

(<*) :: (FunctorTC (BasicFunctorP []) a ra, FunctorTC (BasicFunctorP []) b rb, FunctorSrcC (BasicFunctorP []) a, FunctorSrcC (BasicFunctorP []) b, FunctorDstC (BasicFunctorP []) a) => ra -> rb -> ra Source #

Lift (BasicFunctorP Maybe) Source # 

Methods

liftA2 :: (FunctorTC (BasicFunctorP Maybe) a ra, FunctorTC (BasicFunctorP Maybe) b rb, FunctorTC (BasicFunctorP Maybe) c rc, FunctorSrcC (BasicFunctorP Maybe) a, FunctorSrcC (BasicFunctorP Maybe) b, FunctorDstC (BasicFunctorP Maybe) c) => (a -> b -> c) -> ra -> rb -> rc Source #

(*>) :: (FunctorTC (BasicFunctorP Maybe) a ra, FunctorTC (BasicFunctorP Maybe) b rb, FunctorSrcC (BasicFunctorP Maybe) a, FunctorSrcC (BasicFunctorP Maybe) b, FunctorDstC (BasicFunctorP Maybe) b) => ra -> rb -> rb Source #

(<*) :: (FunctorTC (BasicFunctorP Maybe) a ra, FunctorTC (BasicFunctorP Maybe) b rb, FunctorSrcC (BasicFunctorP Maybe) a, FunctorSrcC (BasicFunctorP Maybe) b, FunctorDstC (BasicFunctorP Maybe) a) => ra -> rb -> ra Source #

Lift (BasicFunctorP IO) Source # 

Methods

liftA2 :: (FunctorTC (BasicFunctorP IO) a ra, FunctorTC (BasicFunctorP IO) b rb, FunctorTC (BasicFunctorP IO) c rc, FunctorSrcC (BasicFunctorP IO) a, FunctorSrcC (BasicFunctorP IO) b, FunctorDstC (BasicFunctorP IO) c) => (a -> b -> c) -> ra -> rb -> rc Source #

(*>) :: (FunctorTC (BasicFunctorP IO) a ra, FunctorTC (BasicFunctorP IO) b rb, FunctorSrcC (BasicFunctorP IO) a, FunctorSrcC (BasicFunctorP IO) b, FunctorDstC (BasicFunctorP IO) b) => ra -> rb -> rb Source #

(<*) :: (FunctorTC (BasicFunctorP IO) a ra, FunctorTC (BasicFunctorP IO) b rb, FunctorSrcC (BasicFunctorP IO) a, FunctorSrcC (BasicFunctorP IO) b, FunctorDstC (BasicFunctorP IO) a) => ra -> rb -> ra Source #

Lift (BasicFunctorP (Either a)) Source # 

Methods

liftA2 :: (FunctorTC (BasicFunctorP (Either a)) a ra, FunctorTC (BasicFunctorP (Either a)) b rb, FunctorTC (BasicFunctorP (Either a)) c rc, FunctorSrcC (BasicFunctorP (Either a)) a, FunctorSrcC (BasicFunctorP (Either a)) b, FunctorDstC (BasicFunctorP (Either a)) c) => (a -> b -> c) -> ra -> rb -> rc Source #

(*>) :: (FunctorTC (BasicFunctorP (Either a)) a ra, FunctorTC (BasicFunctorP (Either a)) b rb, FunctorSrcC (BasicFunctorP (Either a)) a, FunctorSrcC (BasicFunctorP (Either a)) b, FunctorDstC (BasicFunctorP (Either a)) b) => ra -> rb -> rb Source #

(<*) :: (FunctorTC (BasicFunctorP (Either a)) a ra, FunctorTC (BasicFunctorP (Either a)) b rb, FunctorSrcC (BasicFunctorP (Either a)) a, FunctorSrcC (BasicFunctorP (Either a)) b, FunctorDstC (BasicFunctorP (Either a)) a) => ra -> rb -> ra Source #

(Ix i, Num i) => Lift (BasicFunctorP (UArray i)) Source # 

Methods

liftA2 :: (FunctorTC (BasicFunctorP (UArray i)) a ra, FunctorTC (BasicFunctorP (UArray i)) b rb, FunctorTC (BasicFunctorP (UArray i)) c rc, FunctorSrcC (BasicFunctorP (UArray i)) a, FunctorSrcC (BasicFunctorP (UArray i)) b, FunctorDstC (BasicFunctorP (UArray i)) c) => (a -> b -> c) -> ra -> rb -> rc Source #

(*>) :: (FunctorTC (BasicFunctorP (UArray i)) a ra, FunctorTC (BasicFunctorP (UArray i)) b rb, FunctorSrcC (BasicFunctorP (UArray i)) a, FunctorSrcC (BasicFunctorP (UArray i)) b, FunctorDstC (BasicFunctorP (UArray i)) b) => ra -> rb -> rb Source #

(<*) :: (FunctorTC (BasicFunctorP (UArray i)) a ra, FunctorTC (BasicFunctorP (UArray i)) b rb, FunctorSrcC (BasicFunctorP (UArray i)) a, FunctorSrcC (BasicFunctorP (UArray i)) b, FunctorDstC (BasicFunctorP (UArray i)) a) => ra -> rb -> ra Source #

(Ix i, Num i) => Lift (BasicFunctorP (Array i)) Source # 

Methods

liftA2 :: (FunctorTC (BasicFunctorP (Array i)) a ra, FunctorTC (BasicFunctorP (Array i)) b rb, FunctorTC (BasicFunctorP (Array i)) c rc, FunctorSrcC (BasicFunctorP (Array i)) a, FunctorSrcC (BasicFunctorP (Array i)) b, FunctorDstC (BasicFunctorP (Array i)) c) => (a -> b -> c) -> ra -> rb -> rc Source #

(*>) :: (FunctorTC (BasicFunctorP (Array i)) a ra, FunctorTC (BasicFunctorP (Array i)) b rb, FunctorSrcC (BasicFunctorP (Array i)) a, FunctorSrcC (BasicFunctorP (Array i)) b, FunctorDstC (BasicFunctorP (Array i)) b) => ra -> rb -> rb Source #

(<*) :: (FunctorTC (BasicFunctorP (Array i)) a ra, FunctorTC (BasicFunctorP (Array i)) b rb, FunctorSrcC (BasicFunctorP (Array i)) a, FunctorSrcC (BasicFunctorP (Array i)) b, FunctorDstC (BasicFunctorP (Array i)) a) => ra -> rb -> ra Source #

Lift (BasicFunctorP Min) Source # 

Methods

liftA2 :: (FunctorTC (BasicFunctorP Min) a ra, FunctorTC (BasicFunctorP Min) b rb, FunctorTC (BasicFunctorP Min) c rc, FunctorSrcC (BasicFunctorP Min) a, FunctorSrcC (BasicFunctorP Min) b, FunctorDstC (BasicFunctorP Min) c) => (a -> b -> c) -> ra -> rb -> rc Source #

(*>) :: (FunctorTC (BasicFunctorP Min) a ra, FunctorTC (BasicFunctorP Min) b rb, FunctorSrcC (BasicFunctorP Min) a, FunctorSrcC (BasicFunctorP Min) b, FunctorDstC (BasicFunctorP Min) b) => ra -> rb -> rb Source #

(<*) :: (FunctorTC (BasicFunctorP Min) a ra, FunctorTC (BasicFunctorP Min) b rb, FunctorSrcC (BasicFunctorP Min) a, FunctorSrcC (BasicFunctorP Min) b, FunctorDstC (BasicFunctorP Min) a) => ra -> rb -> ra Source #

Lift (BasicFunctorP Max) Source # 

Methods

liftA2 :: (FunctorTC (BasicFunctorP Max) a ra, FunctorTC (BasicFunctorP Max) b rb, FunctorTC (BasicFunctorP Max) c rc, FunctorSrcC (BasicFunctorP Max) a, FunctorSrcC (BasicFunctorP Max) b, FunctorDstC (BasicFunctorP Max) c) => (a -> b -> c) -> ra -> rb -> rc Source #

(*>) :: (FunctorTC (BasicFunctorP Max) a ra, FunctorTC (BasicFunctorP Max) b rb, FunctorSrcC (BasicFunctorP Max) a, FunctorSrcC (BasicFunctorP Max) b, FunctorDstC (BasicFunctorP Max) b) => ra -> rb -> rb Source #

(<*) :: (FunctorTC (BasicFunctorP Max) a ra, FunctorTC (BasicFunctorP Max) b rb, FunctorSrcC (BasicFunctorP Max) a, FunctorSrcC (BasicFunctorP Max) b, FunctorDstC (BasicFunctorP Max) a) => ra -> rb -> ra Source #

Lift (BasicFunctorP First) Source # 

Methods

liftA2 :: (FunctorTC (BasicFunctorP First) a ra, FunctorTC (BasicFunctorP First) b rb, FunctorTC (BasicFunctorP First) c rc, FunctorSrcC (BasicFunctorP First) a, FunctorSrcC (BasicFunctorP First) b, FunctorDstC (BasicFunctorP First) c) => (a -> b -> c) -> ra -> rb -> rc Source #

(*>) :: (FunctorTC (BasicFunctorP First) a ra, FunctorTC (BasicFunctorP First) b rb, FunctorSrcC (BasicFunctorP First) a, FunctorSrcC (BasicFunctorP First) b, FunctorDstC (BasicFunctorP First) b) => ra -> rb -> rb Source #

(<*) :: (FunctorTC (BasicFunctorP First) a ra, FunctorTC (BasicFunctorP First) b rb, FunctorSrcC (BasicFunctorP First) a, FunctorSrcC (BasicFunctorP First) b, FunctorDstC (BasicFunctorP First) a) => ra -> rb -> ra Source #

Lift (BasicFunctorP Last) Source # 

Methods

liftA2 :: (FunctorTC (BasicFunctorP Last) a ra, FunctorTC (BasicFunctorP Last) b rb, FunctorTC (BasicFunctorP Last) c rc, FunctorSrcC (BasicFunctorP Last) a, FunctorSrcC (BasicFunctorP Last) b, FunctorDstC (BasicFunctorP Last) c) => (a -> b -> c) -> ra -> rb -> rc Source #

(*>) :: (FunctorTC (BasicFunctorP Last) a ra, FunctorTC (BasicFunctorP Last) b rb, FunctorSrcC (BasicFunctorP Last) a, FunctorSrcC (BasicFunctorP Last) b, FunctorDstC (BasicFunctorP Last) b) => ra -> rb -> rb Source #

(<*) :: (FunctorTC (BasicFunctorP Last) a ra, FunctorTC (BasicFunctorP Last) b rb, FunctorSrcC (BasicFunctorP Last) a, FunctorSrcC (BasicFunctorP Last) b, FunctorDstC (BasicFunctorP Last) a) => ra -> rb -> ra Source #

Lift (BasicFunctorP Option) Source # 

Methods

liftA2 :: (FunctorTC (BasicFunctorP Option) a ra, FunctorTC (BasicFunctorP Option) b rb, FunctorTC (BasicFunctorP Option) c rc, FunctorSrcC (BasicFunctorP Option) a, FunctorSrcC (BasicFunctorP Option) b, FunctorDstC (BasicFunctorP Option) c) => (a -> b -> c) -> ra -> rb -> rc Source #

(*>) :: (FunctorTC (BasicFunctorP Option) a ra, FunctorTC (BasicFunctorP Option) b rb, FunctorSrcC (BasicFunctorP Option) a, FunctorSrcC (BasicFunctorP Option) b, FunctorDstC (BasicFunctorP Option) b) => ra -> rb -> rb Source #

(<*) :: (FunctorTC (BasicFunctorP Option) a ra, FunctorTC (BasicFunctorP Option) b rb, FunctorSrcC (BasicFunctorP Option) a, FunctorSrcC (BasicFunctorP Option) b, FunctorDstC (BasicFunctorP Option) a) => ra -> rb -> ra Source #

Lift (BasicFunctorP NonEmpty) Source # 
Lift (BasicFunctorP Identity) Source # 
Lift (BasicFunctorP Tree) Source # 

Methods

liftA2 :: (FunctorTC (BasicFunctorP Tree) a ra, FunctorTC (BasicFunctorP Tree) b rb, FunctorTC (BasicFunctorP Tree) c rc, FunctorSrcC (BasicFunctorP Tree) a, FunctorSrcC (BasicFunctorP Tree) b, FunctorDstC (BasicFunctorP Tree) c) => (a -> b -> c) -> ra -> rb -> rc Source #

(*>) :: (FunctorTC (BasicFunctorP Tree) a ra, FunctorTC (BasicFunctorP Tree) b rb, FunctorSrcC (BasicFunctorP Tree) a, FunctorSrcC (BasicFunctorP Tree) b, FunctorDstC (BasicFunctorP Tree) b) => ra -> rb -> rb Source #

(<*) :: (FunctorTC (BasicFunctorP Tree) a ra, FunctorTC (BasicFunctorP Tree) b rb, FunctorSrcC (BasicFunctorP Tree) a, FunctorSrcC (BasicFunctorP Tree) b, FunctorDstC (BasicFunctorP Tree) a) => ra -> rb -> ra Source #

Lift (BasicFunctorP Set) Source # 

Methods

liftA2 :: (FunctorTC (BasicFunctorP Set) a ra, FunctorTC (BasicFunctorP Set) b rb, FunctorTC (BasicFunctorP Set) c rc, FunctorSrcC (BasicFunctorP Set) a, FunctorSrcC (BasicFunctorP Set) b, FunctorDstC (BasicFunctorP Set) c) => (a -> b -> c) -> ra -> rb -> rc Source #

(*>) :: (FunctorTC (BasicFunctorP Set) a ra, FunctorTC (BasicFunctorP Set) b rb, FunctorSrcC (BasicFunctorP Set) a, FunctorSrcC (BasicFunctorP Set) b, FunctorDstC (BasicFunctorP Set) b) => ra -> rb -> rb Source #

(<*) :: (FunctorTC (BasicFunctorP Set) a ra, FunctorTC (BasicFunctorP Set) b rb, FunctorSrcC (BasicFunctorP Set) a, FunctorSrcC (BasicFunctorP Set) b, FunctorDstC (BasicFunctorP Set) a) => ra -> rb -> ra Source #

Arr (FunctorCategoryP (BasicFunctorP []) FunctionP) Source # 
Arr (FunctorCategoryP (BasicFunctorP Maybe) FunctionP) Source # 
Const (FunctorCategoryP (BasicFunctorP []) FunctionP) Source # 
Const (FunctorCategoryP (BasicFunctorP Maybe) FunctionP) Source # 
Semigroupoid p => Category (FunctorCategoryP (BasicFunctorP []) p) Source # 
Semigroupoid p => Category (FunctorCategoryP (BasicFunctorP Maybe) p) Source # 
Semigroupoid p => Semigroupoid (FunctorCategoryP (BasicFunctorP []) p) Source # 
Semigroupoid p => Semigroupoid (FunctorCategoryP (BasicFunctorP Maybe) p) Source # 
Functor cat p => Functor (FunctorCategoryP (BasicFunctorP []) cat) p Source # 

Methods

fmap :: (FunctorTC p a ra, FunctorTC p b rb, CategoryC (FunctorCategoryP (BasicFunctorP []) cat) a b, CategoryC (FunctorCategoryP (BasicFunctorP []) cat) ra rb, FunctorSrcC p a, FunctorDstC p b) => CategoryT (FunctorCategoryP (BasicFunctorP []) cat) a b -> CategoryT (FunctorCategoryP (BasicFunctorP []) cat) ra rb Source #

Functor cat p => Functor (FunctorCategoryP (BasicFunctorP Maybe) cat) p Source # 

Methods

fmap :: (FunctorTC p a ra, FunctorTC p b rb, CategoryC (FunctorCategoryP (BasicFunctorP Maybe) cat) a b, CategoryC (FunctorCategoryP (BasicFunctorP Maybe) cat) ra rb, FunctorSrcC p a, FunctorDstC p b) => CategoryT (FunctorCategoryP (BasicFunctorP Maybe) cat) a b -> CategoryT (FunctorCategoryP (BasicFunctorP Maybe) cat) ra rb Source #

ExoFunctor p FunctionP => ExoFunctor (FunctorCategoryP (BasicFunctorP []) p) FunctionP Source # 
ExoFunctor p FunctionP => ExoFunctor (FunctorCategoryP (BasicFunctorP Maybe) p) FunctionP Source # 
type FunctorDstC' (BasicFunctorP []) Source # 
type FunctorDstC' (BasicFunctorP Maybe) Source # 
type FunctorDstC' (BasicFunctorP IO) Source # 
type FunctorDstC' (BasicFunctorP (Either a)) Source # 
type FunctorDstC' (BasicFunctorP (UArray i)) Source # 
type FunctorDstC' (BasicFunctorP (Array i)) Source # 
type FunctorDstC' (BasicFunctorP Min) Source # 
type FunctorDstC' (BasicFunctorP Max) Source # 
type FunctorDstC' (BasicFunctorP First) Source # 
type FunctorDstC' (BasicFunctorP Last) Source # 
type FunctorDstC' (BasicFunctorP Option) Source # 
type FunctorDstC' (BasicFunctorP NonEmpty) Source # 
type FunctorDstC' (BasicFunctorP Identity) Source # 
type FunctorDstC' (BasicFunctorP Tree) Source # 
type FunctorDstC' (BasicFunctorP Set) Source # 
type FunctorDstC' (BasicFunctorP (Constant Type a)) Source # 
type FunctorSrcC' (BasicFunctorP []) Source # 
type FunctorSrcC' (BasicFunctorP Maybe) Source # 
type FunctorSrcC' (BasicFunctorP IO) Source # 
type FunctorSrcC' (BasicFunctorP (Either a)) Source # 
type FunctorSrcC' (BasicFunctorP (UArray i)) Source # 
type FunctorSrcC' (BasicFunctorP (Array i)) Source # 
type FunctorSrcC' (BasicFunctorP Min) Source # 
type FunctorSrcC' (BasicFunctorP Max) Source # 
type FunctorSrcC' (BasicFunctorP First) Source # 
type FunctorSrcC' (BasicFunctorP Last) Source # 
type FunctorSrcC' (BasicFunctorP Option) Source # 
type FunctorSrcC' (BasicFunctorP NonEmpty) Source # 
type FunctorSrcC' (BasicFunctorP Identity) Source # 
type FunctorSrcC' (BasicFunctorP Tree) Source # 
type FunctorSrcC' (BasicFunctorP Set) Source # 
type FunctorSrcC' (BasicFunctorP (Constant Type a)) Source # 
type FunctorT (BasicFunctorP []) a Source # 
type FunctorT (BasicFunctorP []) a = [a]
type FunctorT (BasicFunctorP Maybe) a Source # 
type FunctorT (BasicFunctorP IO) a Source # 
type FunctorT (BasicFunctorP (Either a)) b Source # 
type FunctorT (BasicFunctorP (Either a)) b = Either a b
type FunctorT (BasicFunctorP (UArray i)) e Source # 
type FunctorT (BasicFunctorP (UArray i)) e = UArray i e
type FunctorT (BasicFunctorP (Array i)) e Source # 
type FunctorT (BasicFunctorP (Array i)) e = Array i e
type FunctorT (BasicFunctorP Min) a Source # 
type FunctorT (BasicFunctorP Max) a Source # 
type FunctorT (BasicFunctorP First) a Source # 
type FunctorT (BasicFunctorP Last) a Source # 
type FunctorT (BasicFunctorP Option) a Source # 
type FunctorT (BasicFunctorP NonEmpty) a Source # 
type FunctorT (BasicFunctorP Identity) a Source # 
type FunctorT (BasicFunctorP Tree) a Source # 
type FunctorT (BasicFunctorP Set) a Source # 
type FunctorT (BasicFunctorP (Constant Type a)) b Source # 
type CategoryT (FunctorCategoryP (BasicFunctorP []) p) a b Source # 
type CategoryT (FunctorCategoryP (BasicFunctorP Maybe) p) a b Source # 
type ExoCategoryT (FunctorCategoryP (BasicFunctorP []) p) [a] [b] Source # 
type ExoCategoryT (FunctorCategoryP (BasicFunctorP Maybe) p) (Maybe a) (Maybe b) Source # 

data FunctorCategoryP (functorP :: Type) (p :: Type) Source #

Instances

Arr (FunctorCategoryP (BasicFunctorP []) FunctionP) Source # 
Arr (FunctorCategoryP (BasicFunctorP Maybe) FunctionP) Source # 
Const (FunctorCategoryP (BasicFunctorP []) FunctionP) Source # 
Const (FunctorCategoryP (BasicFunctorP Maybe) FunctionP) Source # 
Semigroupoid p => Category (FunctorCategoryP (BasicFunctorP []) p) Source # 
Semigroupoid p => Category (FunctorCategoryP (BasicFunctorP Maybe) p) Source # 
Semigroupoid p => Semigroupoid (FunctorCategoryP (BasicFunctorP []) p) Source # 
Semigroupoid p => Semigroupoid (FunctorCategoryP (BasicFunctorP Maybe) p) Source # 
Functor cat p => Functor (FunctorCategoryP (BasicFunctorP []) cat) p Source # 

Methods

fmap :: (FunctorTC p a ra, FunctorTC p b rb, CategoryC (FunctorCategoryP (BasicFunctorP []) cat) a b, CategoryC (FunctorCategoryP (BasicFunctorP []) cat) ra rb, FunctorSrcC p a, FunctorDstC p b) => CategoryT (FunctorCategoryP (BasicFunctorP []) cat) a b -> CategoryT (FunctorCategoryP (BasicFunctorP []) cat) ra rb Source #

Functor cat p => Functor (FunctorCategoryP (BasicFunctorP Maybe) cat) p Source # 

Methods

fmap :: (FunctorTC p a ra, FunctorTC p b rb, CategoryC (FunctorCategoryP (BasicFunctorP Maybe) cat) a b, CategoryC (FunctorCategoryP (BasicFunctorP Maybe) cat) ra rb, FunctorSrcC p a, FunctorDstC p b) => CategoryT (FunctorCategoryP (BasicFunctorP Maybe) cat) a b -> CategoryT (FunctorCategoryP (BasicFunctorP Maybe) cat) ra rb Source #

ExoFunctor p FunctionP => ExoFunctor (FunctorCategoryP (BasicFunctorP []) p) FunctionP Source # 
ExoFunctor p FunctionP => ExoFunctor (FunctorCategoryP (BasicFunctorP Maybe) p) FunctionP Source # 
type CategoryDstC' (FunctorCategoryP _ p) Source # 
type CategorySrcC' (FunctorCategoryP _ p) Source # 
type ExoCategoryDstC (FunctorCategoryP functorP p) b Source # 
type ExoCategoryDstC (FunctorCategoryP functorP p) b = (ExoCategoryDstC p (IndexC 1 0 b), (~) Type b (FunctorT functorP (IndexC 1 0 b)))
type ExoCategorySrcC (FunctorCategoryP functorP p) a Source # 
type ExoCategorySrcC (FunctorCategoryP functorP p) a = (ExoCategorySrcC p (IndexC 1 0 a), (~) Type a (FunctorT functorP (IndexC 1 0 a)))
type CategoryT (FunctorCategoryP (BasicFunctorP []) p) a b Source # 
type CategoryT (FunctorCategoryP (BasicFunctorP Maybe) p) a b Source # 
type ExoCategoryT (FunctorCategoryP (BasicFunctorP []) p) [a] [b] Source # 
type ExoCategoryT (FunctorCategoryP (BasicFunctorP Maybe) p) (Maybe a) (Maybe b) Source # 

class Semigroupoid cat => Functor cat p where Source #

Methods

fmap :: (FunctorTC p a ra, FunctorTC p b rb, CategoryC cat a b, CategoryC cat ra rb, FunctorSrcC p a, FunctorDstC p b) => CategoryT cat a b -> CategoryT cat ra rb Source #

fmap :: (Lift p, Pure p, FunctorTC p a ra, FunctorTC p b rb, CategoryC cat a b, CategoryC cat ra rb, FunctorSrcC p a, FunctorDstC p b, cat ~ FunctionP, FunctorSrcC' p ~ Nothing, FunctorDstC' p ~ Nothing) => CategoryT cat a b -> CategoryT cat ra rb Source #

Instances

Functor FunctionP (BasicFunctorP []) Source # 

Methods

fmap :: (FunctorTC (BasicFunctorP []) a ra, FunctorTC (BasicFunctorP []) b rb, CategoryC FunctionP a b, CategoryC FunctionP ra rb, FunctorSrcC (BasicFunctorP []) a, FunctorDstC (BasicFunctorP []) b) => CategoryT FunctionP a b -> CategoryT FunctionP ra rb Source #

Functor FunctionP (BasicFunctorP Maybe) Source # 
Functor FunctionP (BasicFunctorP IO) Source # 
Functor FunctionP (BasicFunctorP (Either a)) Source # 

Methods

fmap :: (FunctorTC (BasicFunctorP (Either a)) a ra, FunctorTC (BasicFunctorP (Either a)) b rb, CategoryC FunctionP a b, CategoryC FunctionP ra rb, FunctorSrcC (BasicFunctorP (Either a)) a, FunctorDstC (BasicFunctorP (Either a)) b) => CategoryT FunctionP a b -> CategoryT FunctionP ra rb Source #

Ix i => Functor FunctionP (BasicFunctorP (UArray i)) Source # 

Methods

fmap :: (FunctorTC (BasicFunctorP (UArray i)) a ra, FunctorTC (BasicFunctorP (UArray i)) b rb, CategoryC FunctionP a b, CategoryC FunctionP ra rb, FunctorSrcC (BasicFunctorP (UArray i)) a, FunctorDstC (BasicFunctorP (UArray i)) b) => CategoryT FunctionP a b -> CategoryT FunctionP ra rb Source #

Ix i => Functor FunctionP (BasicFunctorP (Array i)) Source # 

Methods

fmap :: (FunctorTC (BasicFunctorP (Array i)) a ra, FunctorTC (BasicFunctorP (Array i)) b rb, CategoryC FunctionP a b, CategoryC FunctionP ra rb, FunctorSrcC (BasicFunctorP (Array i)) a, FunctorDstC (BasicFunctorP (Array i)) b) => CategoryT FunctionP a b -> CategoryT FunctionP ra rb Source #

Functor FunctionP (BasicFunctorP Min) Source # 
Functor FunctionP (BasicFunctorP Max) Source # 
Functor FunctionP (BasicFunctorP First) Source # 
Functor FunctionP (BasicFunctorP Last) Source # 
Functor FunctionP (BasicFunctorP Option) Source # 
Functor FunctionP (BasicFunctorP NonEmpty) Source # 
Functor FunctionP (BasicFunctorP Identity) Source # 
Functor FunctionP (BasicFunctorP Tree) Source # 
Functor FunctionP (BasicFunctorP Set) Source # 
Functor FunctionP (BasicFunctorP (Constant Type a)) Source # 
Functor cat p => Functor (Identity cat) p Source # 

Methods

fmap :: (FunctorTC p a ra, FunctorTC p b rb, CategoryC (Identity cat) a b, CategoryC (Identity cat) ra rb, FunctorSrcC p a, FunctorDstC p b) => CategoryT (Identity cat) a b -> CategoryT (Identity cat) ra rb Source #

Functor cat p => Functor (FunctorCategoryP (BasicFunctorP []) cat) p Source # 

Methods

fmap :: (FunctorTC p a ra, FunctorTC p b rb, CategoryC (FunctorCategoryP (BasicFunctorP []) cat) a b, CategoryC (FunctorCategoryP (BasicFunctorP []) cat) ra rb, FunctorSrcC p a, FunctorDstC p b) => CategoryT (FunctorCategoryP (BasicFunctorP []) cat) a b -> CategoryT (FunctorCategoryP (BasicFunctorP []) cat) ra rb Source #

Functor cat p => Functor (FunctorCategoryP (BasicFunctorP Maybe) cat) p Source # 

Methods

fmap :: (FunctorTC p a ra, FunctorTC p b rb, CategoryC (FunctorCategoryP (BasicFunctorP Maybe) cat) a b, CategoryC (FunctorCategoryP (BasicFunctorP Maybe) cat) ra rb, FunctorSrcC p a, FunctorDstC p b) => CategoryT (FunctorCategoryP (BasicFunctorP Maybe) cat) a b -> CategoryT (FunctorCategoryP (BasicFunctorP Maybe) cat) ra rb Source #

(<$>) :: (Functor cat p, FunctorTC p a ra, FunctorTC p b rb, CategoryC cat a b, CategoryC cat ra rb, FunctorSrcC p a, FunctorDstC p b) => CategoryT cat a b -> CategoryT cat ra rb infixl 4 Source #

class Functor cat p => ConstFunctor cat p where Source #

Methods

(<$) :: (FunctorTC p a ra, FunctorTC p b rb, CategoryC cat a b, CategoryC cat ra rb, FunctorSrcC p a, FunctorDstC p b) => b -> CategoryT cat ra rb infixl 4 Source #

(<$) :: (Const cat, ra ~ FunctorT p a, rb ~ FunctorT p b, CategoryC cat a b, CategoryC cat ra rb, FunctorSrcC p a, FunctorDstC p b) => b -> CategoryT cat ra rb infixl 4 Source #

Instances

(Functor cat p, Const cat) => ConstFunctor cat p Source # 

Methods

(<$) :: (FunctorTC p a ra, FunctorTC p b rb, CategoryC cat a b, CategoryC cat ra rb, FunctorSrcC p a, FunctorDstC p b) => b -> CategoryT cat ra rb Source #

class Pure p where Source #

Minimal complete definition

pure

Methods

pure :: (FunctorDstC p a, FunctorTC p a ra) => a -> ra Source #

Instances

Pure (BasicFunctorP []) Source # 

Methods

pure :: (FunctorDstC (BasicFunctorP []) a, FunctorTC (BasicFunctorP []) a ra) => a -> ra Source #

Pure (BasicFunctorP Maybe) Source # 

Methods

pure :: (FunctorDstC (BasicFunctorP Maybe) a, FunctorTC (BasicFunctorP Maybe) a ra) => a -> ra Source #

Pure (BasicFunctorP IO) Source # 

Methods

pure :: (FunctorDstC (BasicFunctorP IO) a, FunctorTC (BasicFunctorP IO) a ra) => a -> ra Source #

Pure (BasicFunctorP (Either a)) Source # 

Methods

pure :: (FunctorDstC (BasicFunctorP (Either a)) a, FunctorTC (BasicFunctorP (Either a)) a ra) => a -> ra Source #

(Ix i, Num i) => Pure (BasicFunctorP (UArray i)) Source # 

Methods

pure :: (FunctorDstC (BasicFunctorP (UArray i)) a, FunctorTC (BasicFunctorP (UArray i)) a ra) => a -> ra Source #

(Ix i, Num i) => Pure (BasicFunctorP (Array i)) Source # 

Methods

pure :: (FunctorDstC (BasicFunctorP (Array i)) a, FunctorTC (BasicFunctorP (Array i)) a ra) => a -> ra Source #

Pure (BasicFunctorP Min) Source # 

Methods

pure :: (FunctorDstC (BasicFunctorP Min) a, FunctorTC (BasicFunctorP Min) a ra) => a -> ra Source #

Pure (BasicFunctorP Max) Source # 

Methods

pure :: (FunctorDstC (BasicFunctorP Max) a, FunctorTC (BasicFunctorP Max) a ra) => a -> ra Source #

Pure (BasicFunctorP First) Source # 

Methods

pure :: (FunctorDstC (BasicFunctorP First) a, FunctorTC (BasicFunctorP First) a ra) => a -> ra Source #

Pure (BasicFunctorP Last) Source # 

Methods

pure :: (FunctorDstC (BasicFunctorP Last) a, FunctorTC (BasicFunctorP Last) a ra) => a -> ra Source #

Pure (BasicFunctorP Option) Source # 

Methods

pure :: (FunctorDstC (BasicFunctorP Option) a, FunctorTC (BasicFunctorP Option) a ra) => a -> ra Source #

Pure (BasicFunctorP NonEmpty) Source # 

Methods

pure :: (FunctorDstC (BasicFunctorP NonEmpty) a, FunctorTC (BasicFunctorP NonEmpty) a ra) => a -> ra Source #

Pure (BasicFunctorP Identity) Source # 

Methods

pure :: (FunctorDstC (BasicFunctorP Identity) a, FunctorTC (BasicFunctorP Identity) a ra) => a -> ra Source #

Pure (BasicFunctorP Tree) Source # 

Methods

pure :: (FunctorDstC (BasicFunctorP Tree) a, FunctorTC (BasicFunctorP Tree) a ra) => a -> ra Source #

Pure (BasicFunctorP Set) Source # 

Methods

pure :: (FunctorDstC (BasicFunctorP Set) a, FunctorTC (BasicFunctorP Set) a ra) => a -> ra Source #

class Functor FunctionP p => Lift p where Source #

Methods

liftA2 :: (FunctorTC p a ra, FunctorTC p b rb, FunctorTC p c rc, FunctorSrcC p a, FunctorSrcC p b, FunctorDstC p c) => (a -> b -> c) -> ra -> rb -> rc Source #

liftA2 :: (FunctorTC p a ra, FunctorTC p b rb, FunctorTC p c rc, Monad p, Pure p, FunctorSrcC' p ~ Nothing, FunctorDstC' p ~ Nothing) => (a -> b -> c) -> ra -> rb -> rc Source #

(*>) :: (FunctorTC p a ra, FunctorTC p b rb, FunctorSrcC p a, FunctorSrcC p b, FunctorDstC p b) => ra -> rb -> rb infixl 4 Source #

(<*) :: (FunctorTC p a ra, FunctorTC p b rb, FunctorSrcC p a, FunctorSrcC p b, FunctorDstC p a) => ra -> rb -> ra infixl 4 Source #

Instances

Lift (BasicFunctorP []) Source # 

Methods

liftA2 :: (FunctorTC (BasicFunctorP []) a ra, FunctorTC (BasicFunctorP []) b rb, FunctorTC (BasicFunctorP []) c rc, FunctorSrcC (BasicFunctorP []) a, FunctorSrcC (BasicFunctorP []) b, FunctorDstC (BasicFunctorP []) c) => (a -> b -> c) -> ra -> rb -> rc Source #

(*>) :: (FunctorTC (BasicFunctorP []) a ra, FunctorTC (BasicFunctorP []) b rb, FunctorSrcC (BasicFunctorP []) a, FunctorSrcC (BasicFunctorP []) b, FunctorDstC (BasicFunctorP []) b) => ra -> rb -> rb Source #

(<*) :: (FunctorTC (BasicFunctorP []) a ra, FunctorTC (BasicFunctorP []) b rb, FunctorSrcC (BasicFunctorP []) a, FunctorSrcC (BasicFunctorP []) b, FunctorDstC (BasicFunctorP []) a) => ra -> rb -> ra Source #

Lift (BasicFunctorP Maybe) Source # 

Methods

liftA2 :: (FunctorTC (BasicFunctorP Maybe) a ra, FunctorTC (BasicFunctorP Maybe) b rb, FunctorTC (BasicFunctorP Maybe) c rc, FunctorSrcC (BasicFunctorP Maybe) a, FunctorSrcC (BasicFunctorP Maybe) b, FunctorDstC (BasicFunctorP Maybe) c) => (a -> b -> c) -> ra -> rb -> rc Source #

(*>) :: (FunctorTC (BasicFunctorP Maybe) a ra, FunctorTC (BasicFunctorP Maybe) b rb, FunctorSrcC (BasicFunctorP Maybe) a, FunctorSrcC (BasicFunctorP Maybe) b, FunctorDstC (BasicFunctorP Maybe) b) => ra -> rb -> rb Source #

(<*) :: (FunctorTC (BasicFunctorP Maybe) a ra, FunctorTC (BasicFunctorP Maybe) b rb, FunctorSrcC (BasicFunctorP Maybe) a, FunctorSrcC (BasicFunctorP Maybe) b, FunctorDstC (BasicFunctorP Maybe) a) => ra -> rb -> ra Source #

Lift (BasicFunctorP IO) Source # 

Methods

liftA2 :: (FunctorTC (BasicFunctorP IO) a ra, FunctorTC (BasicFunctorP IO) b rb, FunctorTC (BasicFunctorP IO) c rc, FunctorSrcC (BasicFunctorP IO) a, FunctorSrcC (BasicFunctorP IO) b, FunctorDstC (BasicFunctorP IO) c) => (a -> b -> c) -> ra -> rb -> rc Source #

(*>) :: (FunctorTC (BasicFunctorP IO) a ra, FunctorTC (BasicFunctorP IO) b rb, FunctorSrcC (BasicFunctorP IO) a, FunctorSrcC (BasicFunctorP IO) b, FunctorDstC (BasicFunctorP IO) b) => ra -> rb -> rb Source #

(<*) :: (FunctorTC (BasicFunctorP IO) a ra, FunctorTC (BasicFunctorP IO) b rb, FunctorSrcC (BasicFunctorP IO) a, FunctorSrcC (BasicFunctorP IO) b, FunctorDstC (BasicFunctorP IO) a) => ra -> rb -> ra Source #

Lift (BasicFunctorP (Either a)) Source # 

Methods

liftA2 :: (FunctorTC (BasicFunctorP (Either a)) a ra, FunctorTC (BasicFunctorP (Either a)) b rb, FunctorTC (BasicFunctorP (Either a)) c rc, FunctorSrcC (BasicFunctorP (Either a)) a, FunctorSrcC (BasicFunctorP (Either a)) b, FunctorDstC (BasicFunctorP (Either a)) c) => (a -> b -> c) -> ra -> rb -> rc Source #

(*>) :: (FunctorTC (BasicFunctorP (Either a)) a ra, FunctorTC (BasicFunctorP (Either a)) b rb, FunctorSrcC (BasicFunctorP (Either a)) a, FunctorSrcC (BasicFunctorP (Either a)) b, FunctorDstC (BasicFunctorP (Either a)) b) => ra -> rb -> rb Source #

(<*) :: (FunctorTC (BasicFunctorP (Either a)) a ra, FunctorTC (BasicFunctorP (Either a)) b rb, FunctorSrcC (BasicFunctorP (Either a)) a, FunctorSrcC (BasicFunctorP (Either a)) b, FunctorDstC (BasicFunctorP (Either a)) a) => ra -> rb -> ra Source #

(Ix i, Num i) => Lift (BasicFunctorP (UArray i)) Source # 

Methods

liftA2 :: (FunctorTC (BasicFunctorP (UArray i)) a ra, FunctorTC (BasicFunctorP (UArray i)) b rb, FunctorTC (BasicFunctorP (UArray i)) c rc, FunctorSrcC (BasicFunctorP (UArray i)) a, FunctorSrcC (BasicFunctorP (UArray i)) b, FunctorDstC (BasicFunctorP (UArray i)) c) => (a -> b -> c) -> ra -> rb -> rc Source #

(*>) :: (FunctorTC (BasicFunctorP (UArray i)) a ra, FunctorTC (BasicFunctorP (UArray i)) b rb, FunctorSrcC (BasicFunctorP (UArray i)) a, FunctorSrcC (BasicFunctorP (UArray i)) b, FunctorDstC (BasicFunctorP (UArray i)) b) => ra -> rb -> rb Source #

(<*) :: (FunctorTC (BasicFunctorP (UArray i)) a ra, FunctorTC (BasicFunctorP (UArray i)) b rb, FunctorSrcC (BasicFunctorP (UArray i)) a, FunctorSrcC (BasicFunctorP (UArray i)) b, FunctorDstC (BasicFunctorP (UArray i)) a) => ra -> rb -> ra Source #

(Ix i, Num i) => Lift (BasicFunctorP (Array i)) Source # 

Methods

liftA2 :: (FunctorTC (BasicFunctorP (Array i)) a ra, FunctorTC (BasicFunctorP (Array i)) b rb, FunctorTC (BasicFunctorP (Array i)) c rc, FunctorSrcC (BasicFunctorP (Array i)) a, FunctorSrcC (BasicFunctorP (Array i)) b, FunctorDstC (BasicFunctorP (Array i)) c) => (a -> b -> c) -> ra -> rb -> rc Source #

(*>) :: (FunctorTC (BasicFunctorP (Array i)) a ra, FunctorTC (BasicFunctorP (Array i)) b rb, FunctorSrcC (BasicFunctorP (Array i)) a, FunctorSrcC (BasicFunctorP (Array i)) b, FunctorDstC (BasicFunctorP (Array i)) b) => ra -> rb -> rb Source #

(<*) :: (FunctorTC (BasicFunctorP (Array i)) a ra, FunctorTC (BasicFunctorP (Array i)) b rb, FunctorSrcC (BasicFunctorP (Array i)) a, FunctorSrcC (BasicFunctorP (Array i)) b, FunctorDstC (BasicFunctorP (Array i)) a) => ra -> rb -> ra Source #

Lift (BasicFunctorP Min) Source # 

Methods

liftA2 :: (FunctorTC (BasicFunctorP Min) a ra, FunctorTC (BasicFunctorP Min) b rb, FunctorTC (BasicFunctorP Min) c rc, FunctorSrcC (BasicFunctorP Min) a, FunctorSrcC (BasicFunctorP Min) b, FunctorDstC (BasicFunctorP Min) c) => (a -> b -> c) -> ra -> rb -> rc Source #

(*>) :: (FunctorTC (BasicFunctorP Min) a ra, FunctorTC (BasicFunctorP Min) b rb, FunctorSrcC (BasicFunctorP Min) a, FunctorSrcC (BasicFunctorP Min) b, FunctorDstC (BasicFunctorP Min) b) => ra -> rb -> rb Source #

(<*) :: (FunctorTC (BasicFunctorP Min) a ra, FunctorTC (BasicFunctorP Min) b rb, FunctorSrcC (BasicFunctorP Min) a, FunctorSrcC (BasicFunctorP Min) b, FunctorDstC (BasicFunctorP Min) a) => ra -> rb -> ra Source #

Lift (BasicFunctorP Max) Source # 

Methods

liftA2 :: (FunctorTC (BasicFunctorP Max) a ra, FunctorTC (BasicFunctorP Max) b rb, FunctorTC (BasicFunctorP Max) c rc, FunctorSrcC (BasicFunctorP Max) a, FunctorSrcC (BasicFunctorP Max) b, FunctorDstC (BasicFunctorP Max) c) => (a -> b -> c) -> ra -> rb -> rc Source #

(*>) :: (FunctorTC (BasicFunctorP Max) a ra, FunctorTC (BasicFunctorP Max) b rb, FunctorSrcC (BasicFunctorP Max) a, FunctorSrcC (BasicFunctorP Max) b, FunctorDstC (BasicFunctorP Max) b) => ra -> rb -> rb Source #

(<*) :: (FunctorTC (BasicFunctorP Max) a ra, FunctorTC (BasicFunctorP Max) b rb, FunctorSrcC (BasicFunctorP Max) a, FunctorSrcC (BasicFunctorP Max) b, FunctorDstC (BasicFunctorP Max) a) => ra -> rb -> ra Source #

Lift (BasicFunctorP First) Source # 

Methods

liftA2 :: (FunctorTC (BasicFunctorP First) a ra, FunctorTC (BasicFunctorP First) b rb, FunctorTC (BasicFunctorP First) c rc, FunctorSrcC (BasicFunctorP First) a, FunctorSrcC (BasicFunctorP First) b, FunctorDstC (BasicFunctorP First) c) => (a -> b -> c) -> ra -> rb -> rc Source #

(*>) :: (FunctorTC (BasicFunctorP First) a ra, FunctorTC (BasicFunctorP First) b rb, FunctorSrcC (BasicFunctorP First) a, FunctorSrcC (BasicFunctorP First) b, FunctorDstC (BasicFunctorP First) b) => ra -> rb -> rb Source #

(<*) :: (FunctorTC (BasicFunctorP First) a ra, FunctorTC (BasicFunctorP First) b rb, FunctorSrcC (BasicFunctorP First) a, FunctorSrcC (BasicFunctorP First) b, FunctorDstC (BasicFunctorP First) a) => ra -> rb -> ra Source #

Lift (BasicFunctorP Last) Source # 

Methods

liftA2 :: (FunctorTC (BasicFunctorP Last) a ra, FunctorTC (BasicFunctorP Last) b rb, FunctorTC (BasicFunctorP Last) c rc, FunctorSrcC (BasicFunctorP Last) a, FunctorSrcC (BasicFunctorP Last) b, FunctorDstC (BasicFunctorP Last) c) => (a -> b -> c) -> ra -> rb -> rc Source #

(*>) :: (FunctorTC (BasicFunctorP Last) a ra, FunctorTC (BasicFunctorP Last) b rb, FunctorSrcC (BasicFunctorP Last) a, FunctorSrcC (BasicFunctorP Last) b, FunctorDstC (BasicFunctorP Last) b) => ra -> rb -> rb Source #

(<*) :: (FunctorTC (BasicFunctorP Last) a ra, FunctorTC (BasicFunctorP Last) b rb, FunctorSrcC (BasicFunctorP Last) a, FunctorSrcC (BasicFunctorP Last) b, FunctorDstC (BasicFunctorP Last) a) => ra -> rb -> ra Source #

Lift (BasicFunctorP Option) Source # 

Methods

liftA2 :: (FunctorTC (BasicFunctorP Option) a ra, FunctorTC (BasicFunctorP Option) b rb, FunctorTC (BasicFunctorP Option) c rc, FunctorSrcC (BasicFunctorP Option) a, FunctorSrcC (BasicFunctorP Option) b, FunctorDstC (BasicFunctorP Option) c) => (a -> b -> c) -> ra -> rb -> rc Source #

(*>) :: (FunctorTC (BasicFunctorP Option) a ra, FunctorTC (BasicFunctorP Option) b rb, FunctorSrcC (BasicFunctorP Option) a, FunctorSrcC (BasicFunctorP Option) b, FunctorDstC (BasicFunctorP Option) b) => ra -> rb -> rb Source #

(<*) :: (FunctorTC (BasicFunctorP Option) a ra, FunctorTC (BasicFunctorP Option) b rb, FunctorSrcC (BasicFunctorP Option) a, FunctorSrcC (BasicFunctorP Option) b, FunctorDstC (BasicFunctorP Option) a) => ra -> rb -> ra Source #

Lift (BasicFunctorP NonEmpty) Source # 
Lift (BasicFunctorP Identity) Source # 
Lift (BasicFunctorP Tree) Source # 

Methods

liftA2 :: (FunctorTC (BasicFunctorP Tree) a ra, FunctorTC (BasicFunctorP Tree) b rb, FunctorTC (BasicFunctorP Tree) c rc, FunctorSrcC (BasicFunctorP Tree) a, FunctorSrcC (BasicFunctorP Tree) b, FunctorDstC (BasicFunctorP Tree) c) => (a -> b -> c) -> ra -> rb -> rc Source #

(*>) :: (FunctorTC (BasicFunctorP Tree) a ra, FunctorTC (BasicFunctorP Tree) b rb, FunctorSrcC (BasicFunctorP Tree) a, FunctorSrcC (BasicFunctorP Tree) b, FunctorDstC (BasicFunctorP Tree) b) => ra -> rb -> rb Source #

(<*) :: (FunctorTC (BasicFunctorP Tree) a ra, FunctorTC (BasicFunctorP Tree) b rb, FunctorSrcC (BasicFunctorP Tree) a, FunctorSrcC (BasicFunctorP Tree) b, FunctorDstC (BasicFunctorP Tree) a) => ra -> rb -> ra Source #

Lift (BasicFunctorP Set) Source # 

Methods

liftA2 :: (FunctorTC (BasicFunctorP Set) a ra, FunctorTC (BasicFunctorP Set) b rb, FunctorTC (BasicFunctorP Set) c rc, FunctorSrcC (BasicFunctorP Set) a, FunctorSrcC (BasicFunctorP Set) b, FunctorDstC (BasicFunctorP Set) c) => (a -> b -> c) -> ra -> rb -> rc Source #

(*>) :: (FunctorTC (BasicFunctorP Set) a ra, FunctorTC (BasicFunctorP Set) b rb, FunctorSrcC (BasicFunctorP Set) a, FunctorSrcC (BasicFunctorP Set) b, FunctorDstC (BasicFunctorP Set) b) => ra -> rb -> rb Source #

(<*) :: (FunctorTC (BasicFunctorP Set) a ra, FunctorTC (BasicFunctorP Set) b rb, FunctorSrcC (BasicFunctorP Set) a, FunctorSrcC (BasicFunctorP Set) b, FunctorDstC (BasicFunctorP Set) a) => ra -> rb -> ra Source #

class Lift p => Apply p where Source #

Methods

(<*>) :: (FunctorDstC p b, FunctorTC p (a -> b) rab, FunctorTC p a ra, FunctorTC p b rb) => rab -> ra -> rb infixl 4 Source #

(<*>) :: (FunctorSrcC' p ~ Nothing, FunctorDstC p b, FunctorTC p (a -> b) rab, FunctorTC p a ra, FunctorTC p b rb) => rab -> ra -> rb infixl 4 Source #

Instances

Apply (BasicFunctorP []) Source # 

Methods

(<*>) :: (FunctorDstC (BasicFunctorP []) b, FunctorTC (BasicFunctorP []) (a -> b) rab, FunctorTC (BasicFunctorP []) a ra, FunctorTC (BasicFunctorP []) b rb) => rab -> ra -> rb Source #

Apply (BasicFunctorP Maybe) Source # 

Methods

(<*>) :: (FunctorDstC (BasicFunctorP Maybe) b, FunctorTC (BasicFunctorP Maybe) (a -> b) rab, FunctorTC (BasicFunctorP Maybe) a ra, FunctorTC (BasicFunctorP Maybe) b rb) => rab -> ra -> rb Source #

Apply (BasicFunctorP IO) Source # 

Methods

(<*>) :: (FunctorDstC (BasicFunctorP IO) b, FunctorTC (BasicFunctorP IO) (a -> b) rab, FunctorTC (BasicFunctorP IO) a ra, FunctorTC (BasicFunctorP IO) b rb) => rab -> ra -> rb Source #

Apply (BasicFunctorP (Either a)) Source # 

Methods

(<*>) :: (FunctorDstC (BasicFunctorP (Either a)) b, FunctorTC (BasicFunctorP (Either a)) (a -> b) rab, FunctorTC (BasicFunctorP (Either a)) a ra, FunctorTC (BasicFunctorP (Either a)) b rb) => rab -> ra -> rb Source #

(Ix i, Num i) => Apply (BasicFunctorP (Array i)) Source # 

Methods

(<*>) :: (FunctorDstC (BasicFunctorP (Array i)) b, FunctorTC (BasicFunctorP (Array i)) (a -> b) rab, FunctorTC (BasicFunctorP (Array i)) a ra, FunctorTC (BasicFunctorP (Array i)) b rb) => rab -> ra -> rb Source #

Apply (BasicFunctorP Min) Source # 

Methods

(<*>) :: (FunctorDstC (BasicFunctorP Min) b, FunctorTC (BasicFunctorP Min) (a -> b) rab, FunctorTC (BasicFunctorP Min) a ra, FunctorTC (BasicFunctorP Min) b rb) => rab -> ra -> rb Source #

Apply (BasicFunctorP Max) Source # 

Methods

(<*>) :: (FunctorDstC (BasicFunctorP Max) b, FunctorTC (BasicFunctorP Max) (a -> b) rab, FunctorTC (BasicFunctorP Max) a ra, FunctorTC (BasicFunctorP Max) b rb) => rab -> ra -> rb Source #

Apply (BasicFunctorP First) Source # 

Methods

(<*>) :: (FunctorDstC (BasicFunctorP First) b, FunctorTC (BasicFunctorP First) (a -> b) rab, FunctorTC (BasicFunctorP First) a ra, FunctorTC (BasicFunctorP First) b rb) => rab -> ra -> rb Source #

Apply (BasicFunctorP Last) Source # 

Methods

(<*>) :: (FunctorDstC (BasicFunctorP Last) b, FunctorTC (BasicFunctorP Last) (a -> b) rab, FunctorTC (BasicFunctorP Last) a ra, FunctorTC (BasicFunctorP Last) b rb) => rab -> ra -> rb Source #

Apply (BasicFunctorP Option) Source # 

Methods

(<*>) :: (FunctorDstC (BasicFunctorP Option) b, FunctorTC (BasicFunctorP Option) (a -> b) rab, FunctorTC (BasicFunctorP Option) a ra, FunctorTC (BasicFunctorP Option) b rb) => rab -> ra -> rb Source #

Apply (BasicFunctorP NonEmpty) Source # 

Methods

(<*>) :: (FunctorDstC (BasicFunctorP NonEmpty) b, FunctorTC (BasicFunctorP NonEmpty) (a -> b) rab, FunctorTC (BasicFunctorP NonEmpty) a ra, FunctorTC (BasicFunctorP NonEmpty) b rb) => rab -> ra -> rb Source #

Apply (BasicFunctorP Identity) Source # 

Methods

(<*>) :: (FunctorDstC (BasicFunctorP Identity) b, FunctorTC (BasicFunctorP Identity) (a -> b) rab, FunctorTC (BasicFunctorP Identity) a ra, FunctorTC (BasicFunctorP Identity) b rb) => rab -> ra -> rb Source #

Apply (BasicFunctorP Tree) Source # 

Methods

(<*>) :: (FunctorDstC (BasicFunctorP Tree) b, FunctorTC (BasicFunctorP Tree) (a -> b) rab, FunctorTC (BasicFunctorP Tree) a ra, FunctorTC (BasicFunctorP Tree) b rb) => rab -> ra -> rb Source #

Apply (BasicFunctorP Set) Source # 

Methods

(<*>) :: (FunctorDstC (BasicFunctorP Set) b, FunctorTC (BasicFunctorP Set) (a -> b) rab, FunctorTC (BasicFunctorP Set) a ra, FunctorTC (BasicFunctorP Set) b rb) => rab -> ra -> rb Source #

(<**>) :: (Apply p, FunctorDstC p b, FunctorTC p (a -> b) rab, FunctorTC p a ra, FunctorTC p b rb) => ra -> rab -> rb infixl 4 Source #

type Applicative p = (Apply p, Pure p) Source #

class (Lift p, Pure p) => Monad p where Source #

Minimal complete definition

(>>=)

Methods

(>>=) :: (FunctorSrcC p a, FunctorSrcC p b, FunctorDstC p b, FunctorTC p a ra, FunctorTC p b rb) => ra -> (a -> rb) -> rb infixl 1 Source #

(>>) :: (FunctorSrcC p a, FunctorSrcC p b, FunctorDstC p b, FunctorTC p a ra, FunctorTC p b rb) => ra -> rb -> rb infixl 1 Source #

Instances

Monad (BasicFunctorP []) Source # 

Methods

(>>=) :: (FunctorSrcC (BasicFunctorP []) a, FunctorSrcC (BasicFunctorP []) b, FunctorDstC (BasicFunctorP []) b, FunctorTC (BasicFunctorP []) a ra, FunctorTC (BasicFunctorP []) b rb) => ra -> (a -> rb) -> rb Source #

(>>) :: (FunctorSrcC (BasicFunctorP []) a, FunctorSrcC (BasicFunctorP []) b, FunctorDstC (BasicFunctorP []) b, FunctorTC (BasicFunctorP []) a ra, FunctorTC (BasicFunctorP []) b rb) => ra -> rb -> rb Source #

Monad (BasicFunctorP Maybe) Source # 

Methods

(>>=) :: (FunctorSrcC (BasicFunctorP Maybe) a, FunctorSrcC (BasicFunctorP Maybe) b, FunctorDstC (BasicFunctorP Maybe) b, FunctorTC (BasicFunctorP Maybe) a ra, FunctorTC (BasicFunctorP Maybe) b rb) => ra -> (a -> rb) -> rb Source #

(>>) :: (FunctorSrcC (BasicFunctorP Maybe) a, FunctorSrcC (BasicFunctorP Maybe) b, FunctorDstC (BasicFunctorP Maybe) b, FunctorTC (BasicFunctorP Maybe) a ra, FunctorTC (BasicFunctorP Maybe) b rb) => ra -> rb -> rb Source #

Monad (BasicFunctorP IO) Source # 

Methods

(>>=) :: (FunctorSrcC (BasicFunctorP IO) a, FunctorSrcC (BasicFunctorP IO) b, FunctorDstC (BasicFunctorP IO) b, FunctorTC (BasicFunctorP IO) a ra, FunctorTC (BasicFunctorP IO) b rb) => ra -> (a -> rb) -> rb Source #

(>>) :: (FunctorSrcC (BasicFunctorP IO) a, FunctorSrcC (BasicFunctorP IO) b, FunctorDstC (BasicFunctorP IO) b, FunctorTC (BasicFunctorP IO) a ra, FunctorTC (BasicFunctorP IO) b rb) => ra -> rb -> rb Source #

Monad (BasicFunctorP (Either a)) Source # 

Methods

(>>=) :: (FunctorSrcC (BasicFunctorP (Either a)) a, FunctorSrcC (BasicFunctorP (Either a)) b, FunctorDstC (BasicFunctorP (Either a)) b, FunctorTC (BasicFunctorP (Either a)) a ra, FunctorTC (BasicFunctorP (Either a)) b rb) => ra -> (a -> rb) -> rb Source #

(>>) :: (FunctorSrcC (BasicFunctorP (Either a)) a, FunctorSrcC (BasicFunctorP (Either a)) b, FunctorDstC (BasicFunctorP (Either a)) b, FunctorTC (BasicFunctorP (Either a)) a ra, FunctorTC (BasicFunctorP (Either a)) b rb) => ra -> rb -> rb Source #

Monad (BasicFunctorP Min) Source # 

Methods

(>>=) :: (FunctorSrcC (BasicFunctorP Min) a, FunctorSrcC (BasicFunctorP Min) b, FunctorDstC (BasicFunctorP Min) b, FunctorTC (BasicFunctorP Min) a ra, FunctorTC (BasicFunctorP Min) b rb) => ra -> (a -> rb) -> rb Source #

(>>) :: (FunctorSrcC (BasicFunctorP Min) a, FunctorSrcC (BasicFunctorP Min) b, FunctorDstC (BasicFunctorP Min) b, FunctorTC (BasicFunctorP Min) a ra, FunctorTC (BasicFunctorP Min) b rb) => ra -> rb -> rb Source #

Monad (BasicFunctorP Max) Source # 

Methods

(>>=) :: (FunctorSrcC (BasicFunctorP Max) a, FunctorSrcC (BasicFunctorP Max) b, FunctorDstC (BasicFunctorP Max) b, FunctorTC (BasicFunctorP Max) a ra, FunctorTC (BasicFunctorP Max) b rb) => ra -> (a -> rb) -> rb Source #

(>>) :: (FunctorSrcC (BasicFunctorP Max) a, FunctorSrcC (BasicFunctorP Max) b, FunctorDstC (BasicFunctorP Max) b, FunctorTC (BasicFunctorP Max) a ra, FunctorTC (BasicFunctorP Max) b rb) => ra -> rb -> rb Source #

Monad (BasicFunctorP First) Source # 

Methods

(>>=) :: (FunctorSrcC (BasicFunctorP First) a, FunctorSrcC (BasicFunctorP First) b, FunctorDstC (BasicFunctorP First) b, FunctorTC (BasicFunctorP First) a ra, FunctorTC (BasicFunctorP First) b rb) => ra -> (a -> rb) -> rb Source #

(>>) :: (FunctorSrcC (BasicFunctorP First) a, FunctorSrcC (BasicFunctorP First) b, FunctorDstC (BasicFunctorP First) b, FunctorTC (BasicFunctorP First) a ra, FunctorTC (BasicFunctorP First) b rb) => ra -> rb -> rb Source #

Monad (BasicFunctorP Last) Source # 

Methods

(>>=) :: (FunctorSrcC (BasicFunctorP Last) a, FunctorSrcC (BasicFunctorP Last) b, FunctorDstC (BasicFunctorP Last) b, FunctorTC (BasicFunctorP Last) a ra, FunctorTC (BasicFunctorP Last) b rb) => ra -> (a -> rb) -> rb Source #

(>>) :: (FunctorSrcC (BasicFunctorP Last) a, FunctorSrcC (BasicFunctorP Last) b, FunctorDstC (BasicFunctorP Last) b, FunctorTC (BasicFunctorP Last) a ra, FunctorTC (BasicFunctorP Last) b rb) => ra -> rb -> rb Source #

Monad (BasicFunctorP Option) Source # 

Methods

(>>=) :: (FunctorSrcC (BasicFunctorP Option) a, FunctorSrcC (BasicFunctorP Option) b, FunctorDstC (BasicFunctorP Option) b, FunctorTC (BasicFunctorP Option) a ra, FunctorTC (BasicFunctorP Option) b rb) => ra -> (a -> rb) -> rb Source #

(>>) :: (FunctorSrcC (BasicFunctorP Option) a, FunctorSrcC (BasicFunctorP Option) b, FunctorDstC (BasicFunctorP Option) b, FunctorTC (BasicFunctorP Option) a ra, FunctorTC (BasicFunctorP Option) b rb) => ra -> rb -> rb Source #

Monad (BasicFunctorP NonEmpty) Source # 
Monad (BasicFunctorP Identity) Source # 
Monad (BasicFunctorP Tree) Source # 

Methods

(>>=) :: (FunctorSrcC (BasicFunctorP Tree) a, FunctorSrcC (BasicFunctorP Tree) b, FunctorDstC (BasicFunctorP Tree) b, FunctorTC (BasicFunctorP Tree) a ra, FunctorTC (BasicFunctorP Tree) b rb) => ra -> (a -> rb) -> rb Source #

(>>) :: (FunctorSrcC (BasicFunctorP Tree) a, FunctorSrcC (BasicFunctorP Tree) b, FunctorDstC (BasicFunctorP Tree) b, FunctorTC (BasicFunctorP Tree) a ra, FunctorTC (BasicFunctorP Tree) b rb) => ra -> rb -> rb Source #

Monad (BasicFunctorP Set) Source # 

Methods

(>>=) :: (FunctorSrcC (BasicFunctorP Set) a, FunctorSrcC (BasicFunctorP Set) b, FunctorDstC (BasicFunctorP Set) b, FunctorTC (BasicFunctorP Set) a ra, FunctorTC (BasicFunctorP Set) b rb) => ra -> (a -> rb) -> rb Source #

(>>) :: (FunctorSrcC (BasicFunctorP Set) a, FunctorSrcC (BasicFunctorP Set) b, FunctorDstC (BasicFunctorP Set) b, FunctorTC (BasicFunctorP Set) a ra, FunctorTC (BasicFunctorP Set) b rb) => ra -> rb -> rb Source #

return :: (Monad p, FunctorDstC p a, FunctorTC p a ra) => a -> ra Source #

(=<<) :: (Monad p, FunctorSrcC p a, FunctorSrcC p b, FunctorDstC p b) => (a -> FunctorT p b) -> FunctorT p a -> FunctorT p b infixr 1 Source #