pandora-0.5.5: A box of patterns and paradigms
Safe HaskellSafe-Inferred
LanguageHaskell2010

Pandora.Paradigm.Schemes

Documentation

type family Schematic (c :: (* -> * -> *) -> (* -> *) -> k) (t :: * -> *) = (r :: (* -> *) -> * -> *) | r -> t Source #

Instances

Instances details
type Schematic Monad Maybe Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Functor.Maybe

type Schematic Monad (Conclusion e) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Functor.Conclusion

type Schematic Monad (State s) Source # 
Instance details

Defined in Pandora.Paradigm.Inventory.Some.State

type Schematic Monad (State s) = ((->) s :: Type -> Type) <:<.>:> (:*:) s
type Schematic Monad (Provision e) Source # 
Instance details

Defined in Pandora.Paradigm.Inventory.Some.Provision

type Schematic Monad (Provision e) = (<:.>) ((->) e :: Type -> Type)
type Schematic Monad (Accumulator e) Source # 
Instance details

Defined in Pandora.Paradigm.Inventory.Some.Accumulator

type Schematic Comonad (Store s) Source # 
Instance details

Defined in Pandora.Paradigm.Inventory.Some.Store

type Schematic Comonad (Store s) = (:*:) s <:<.>:> ((->) s :: Type -> Type)
type Schematic Comonad (Imprint e) Source # 
Instance details

Defined in Pandora.Paradigm.Inventory.Some.Imprint

type Schematic Comonad (Imprint e) = (<.:>) ((->) e :: Type -> Type)
type Schematic Comonad (Equipment e) Source # 
Instance details

Defined in Pandora.Paradigm.Inventory.Some.Equipment

Orphan instances

(Covariant ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) (t <.:> v), Covariant ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) (w <:.> u), Adjoint ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) v u, Adjoint ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) t w) => Adjoint ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) (t <.:> v) (w <:.> u) Source # 
Instance details

Methods

(-|) :: ((t <.:> v) a -> b) -> a -> (w <:.> u) b Source #

(|-) :: (a -> (w <:.> u) b) -> (t <.:> v) a -> b Source #

(|--------) :: (a -> (w <:.> u) b) -> (t <.:> v) a -> b Source #

(|-------) :: (a -> (w <:.> u) b) -> (t <.:> v) a -> b Source #

(|------) :: (a -> (w <:.> u) b) -> (t <.:> v) a -> b Source #

(|-----) :: (a -> (w <:.> u) b) -> (t <.:> v) a -> b Source #

(|----) :: (a -> (w <:.> u) b) -> (t <.:> v) a -> b Source #

(|---) :: (a -> (w <:.> u) b) -> (t <.:> v) a -> b Source #

(|--) :: (a -> (w <:.> u) b) -> (t <.:> v) a -> b Source #

(--------|) :: ((t <.:> v) a -> b) -> a -> (w <:.> u) b Source #

(-------|) :: ((t <.:> v) a -> b) -> a -> (w <:.> u) b Source #

(------|) :: ((t <.:> v) a -> b) -> a -> (w <:.> u) b Source #

(-----|) :: ((t <.:> v) a -> b) -> a -> (w <:.> u) b Source #

(----|) :: ((t <.:> v) a -> b) -> a -> (w <:.> u) b Source #

(---|) :: ((t <.:> v) a -> b) -> a -> (w <:.> u) b Source #

(--|) :: ((t <.:> v) a -> b) -> a -> (w <:.> u) b Source #

(Covariant ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) (t <.:> v), Covariant ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) (w <.:> u), Adjoint ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) t u, Adjoint ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) v w) => Adjoint ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) (t <.:> v) (w <.:> u) Source # 
Instance details

Methods

(-|) :: ((t <.:> v) a -> b) -> a -> (w <.:> u) b Source #

(|-) :: (a -> (w <.:> u) b) -> (t <.:> v) a -> b Source #

(|--------) :: (a -> (w <.:> u) b) -> (t <.:> v) a -> b Source #

(|-------) :: (a -> (w <.:> u) b) -> (t <.:> v) a -> b Source #

(|------) :: (a -> (w <.:> u) b) -> (t <.:> v) a -> b Source #

(|-----) :: (a -> (w <.:> u) b) -> (t <.:> v) a -> b Source #

(|----) :: (a -> (w <.:> u) b) -> (t <.:> v) a -> b Source #

(|---) :: (a -> (w <.:> u) b) -> (t <.:> v) a -> b Source #

(|--) :: (a -> (w <.:> u) b) -> (t <.:> v) a -> b Source #

(--------|) :: ((t <.:> v) a -> b) -> a -> (w <.:> u) b Source #

(-------|) :: ((t <.:> v) a -> b) -> a -> (w <.:> u) b Source #

(------|) :: ((t <.:> v) a -> b) -> a -> (w <.:> u) b Source #

(-----|) :: ((t <.:> v) a -> b) -> a -> (w <.:> u) b Source #

(----|) :: ((t <.:> v) a -> b) -> a -> (w <.:> u) b Source #

(---|) :: ((t <.:> v) a -> b) -> a -> (w <.:> u) b Source #

(--|) :: ((t <.:> v) a -> b) -> a -> (w <.:> u) b Source #

(Covariant ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) (v <:.> t), Covariant ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) (w <.:> u), Adjoint ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) t u, Adjoint ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) v w) => Adjoint ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) (v <:.> t) (w <.:> u) Source # 
Instance details

Methods

(-|) :: ((v <:.> t) a -> b) -> a -> (w <.:> u) b Source #

(|-) :: (a -> (w <.:> u) b) -> (v <:.> t) a -> b Source #

(|--------) :: (a -> (w <.:> u) b) -> (v <:.> t) a -> b Source #

(|-------) :: (a -> (w <.:> u) b) -> (v <:.> t) a -> b Source #

(|------) :: (a -> (w <.:> u) b) -> (v <:.> t) a -> b Source #

(|-----) :: (a -> (w <.:> u) b) -> (v <:.> t) a -> b Source #

(|----) :: (a -> (w <.:> u) b) -> (v <:.> t) a -> b Source #

(|---) :: (a -> (w <.:> u) b) -> (v <:.> t) a -> b Source #

(|--) :: (a -> (w <.:> u) b) -> (v <:.> t) a -> b Source #

(--------|) :: ((v <:.> t) a -> b) -> a -> (w <.:> u) b Source #

(-------|) :: ((v <:.> t) a -> b) -> a -> (w <.:> u) b Source #

(------|) :: ((v <:.> t) a -> b) -> a -> (w <.:> u) b Source #

(-----|) :: ((v <:.> t) a -> b) -> a -> (w <.:> u) b Source #

(----|) :: ((v <:.> t) a -> b) -> a -> (w <.:> u) b Source #

(---|) :: ((v <:.> t) a -> b) -> a -> (w <.:> u) b Source #

(--|) :: ((v <:.> t) a -> b) -> a -> (w <.:> u) b Source #

(Covariant ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) (v <:.> t), Covariant ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) (u <:.> w), Adjoint ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) t u, Adjoint ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) v w) => Adjoint ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) (v <:.> t) (u <:.> w) Source # 
Instance details

Methods

(-|) :: ((v <:.> t) a -> b) -> a -> (u <:.> w) b Source #

(|-) :: (a -> (u <:.> w) b) -> (v <:.> t) a -> b Source #

(|--------) :: (a -> (u <:.> w) b) -> (v <:.> t) a -> b Source #

(|-------) :: (a -> (u <:.> w) b) -> (v <:.> t) a -> b Source #

(|------) :: (a -> (u <:.> w) b) -> (v <:.> t) a -> b Source #

(|-----) :: (a -> (u <:.> w) b) -> (v <:.> t) a -> b Source #

(|----) :: (a -> (u <:.> w) b) -> (v <:.> t) a -> b Source #

(|---) :: (a -> (u <:.> w) b) -> (v <:.> t) a -> b Source #

(|--) :: (a -> (u <:.> w) b) -> (v <:.> t) a -> b Source #

(--------|) :: ((v <:.> t) a -> b) -> a -> (u <:.> w) b Source #

(-------|) :: ((v <:.> t) a -> b) -> a -> (u <:.> w) b Source #

(------|) :: ((v <:.> t) a -> b) -> a -> (u <:.> w) b Source #

(-----|) :: ((v <:.> t) a -> b) -> a -> (u <:.> w) b Source #

(----|) :: ((v <:.> t) a -> b) -> a -> (u <:.> w) b Source #

(---|) :: ((v <:.> t) a -> b) -> a -> (u <:.> w) b Source #

(--|) :: ((v <:.> t) a -> b) -> a -> (u <:.> w) b Source #

(Covariant ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) ((t <:<.>:> u) t'), Covariant ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) ((v <:<.>:> w) v'), Adjoint ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) t w, Adjoint ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) t' v', Adjoint ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) t v, Adjoint ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) u v, Adjoint ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) v' t') => Adjoint ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) ((t <:<.>:> u) t') ((v <:<.>:> w) v') Source # 
Instance details

Methods

(-|) :: ((t <:<.>:> u) t' a -> b) -> a -> (v <:<.>:> w) v' b Source #

(|-) :: (a -> (v <:<.>:> w) v' b) -> (t <:<.>:> u) t' a -> b Source #

(|--------) :: (a -> (v <:<.>:> w) v' b) -> (t <:<.>:> u) t' a -> b Source #

(|-------) :: (a -> (v <:<.>:> w) v' b) -> (t <:<.>:> u) t' a -> b Source #

(|------) :: (a -> (v <:<.>:> w) v' b) -> (t <:<.>:> u) t' a -> b Source #

(|-----) :: (a -> (v <:<.>:> w) v' b) -> (t <:<.>:> u) t' a -> b Source #

(|----) :: (a -> (v <:<.>:> w) v' b) -> (t <:<.>:> u) t' a -> b Source #

(|---) :: (a -> (v <:<.>:> w) v' b) -> (t <:<.>:> u) t' a -> b Source #

(|--) :: (a -> (v <:<.>:> w) v' b) -> (t <:<.>:> u) t' a -> b Source #

(--------|) :: ((t <:<.>:> u) t' a -> b) -> a -> (v <:<.>:> w) v' b Source #

(-------|) :: ((t <:<.>:> u) t' a -> b) -> a -> (v <:<.>:> w) v' b Source #

(------|) :: ((t <:<.>:> u) t' a -> b) -> a -> (v <:<.>:> w) v' b Source #

(-----|) :: ((t <:<.>:> u) t' a -> b) -> a -> (v <:<.>:> w) v' b Source #

(----|) :: ((t <:<.>:> u) t' a -> b) -> a -> (v <:<.>:> w) v' b Source #

(---|) :: ((t <:<.>:> u) t' a -> b) -> a -> (v <:<.>:> w) v' b Source #

(--|) :: ((t <:<.>:> u) t' a -> b) -> a -> (v <:<.>:> w) v' b Source #