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

Pandora.Pattern.Functor.Extendable

Synopsis

Documentation

class Covariant source source t => Extendable source t where Source #

When providing a new instance, you should ensure it satisfies:
* Duplication interchange: (f -<-|-|--) . (identity <<=) ≡ (identity <<=) . (f <-|-)
* Extension interchange: (f <<=) ≡ (f <-|-) . (identity <<=)

Minimal complete definition

(<<=)

Methods

(<<=) :: source (t a) b -> source (t a) (t b) infixr 7 Source #

(<<==) :: source (t a) b -> source (t a) (t b) infixr 6 Source #

(<<===) :: source (t a) b -> source (t a) (t b) infixr 5 Source #

(<<====) :: source (t a) b -> source (t a) (t b) infixr 4 Source #

(<<=====) :: source (t a) b -> source (t a) (t b) infixr 3 Source #

(<<======) :: source (t a) b -> source (t a) (t b) infixr 2 Source #

(<<=======) :: source (t a) b -> source (t a) (t b) infixr 1 Source #

(<<========) :: source (t a) b -> source (t a) (t b) Source #

Instances

Instances details
Extendable ((->) :: Type -> Type -> Type) Exactly Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Functor.Exactly

Methods

(<<=) :: (Exactly a -> b) -> Exactly a -> Exactly b Source #

(<<==) :: (Exactly a -> b) -> Exactly a -> Exactly b Source #

(<<===) :: (Exactly a -> b) -> Exactly a -> Exactly b Source #

(<<====) :: (Exactly a -> b) -> Exactly a -> Exactly b Source #

(<<=====) :: (Exactly a -> b) -> Exactly a -> Exactly b Source #

(<<======) :: (Exactly a -> b) -> Exactly a -> Exactly b Source #

(<<=======) :: (Exactly a -> b) -> Exactly a -> Exactly b Source #

(<<========) :: (Exactly a -> b) -> Exactly a -> Exactly b Source #

Extendable ((->) :: Type -> Type -> Type) (Proxy :: Type -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Functor.Proxy

Methods

(<<=) :: (Proxy a -> b) -> Proxy a -> Proxy b Source #

(<<==) :: (Proxy a -> b) -> Proxy a -> Proxy b Source #

(<<===) :: (Proxy a -> b) -> Proxy a -> Proxy b Source #

(<<====) :: (Proxy a -> b) -> Proxy a -> Proxy b Source #

(<<=====) :: (Proxy a -> b) -> Proxy a -> Proxy b Source #

(<<======) :: (Proxy a -> b) -> Proxy a -> Proxy b Source #

(<<=======) :: (Proxy a -> b) -> Proxy a -> Proxy b Source #

(<<========) :: (Proxy a -> b) -> Proxy a -> Proxy b Source #

Extendable ((->) :: Type -> Type -> Type) ((:*:) s) Source # 
Instance details

Defined in Pandora.Paradigm.Algebraic.Product

Methods

(<<=) :: ((s :*: a) -> b) -> (s :*: a) -> (s :*: b) Source #

(<<==) :: ((s :*: a) -> b) -> (s :*: a) -> (s :*: b) Source #

(<<===) :: ((s :*: a) -> b) -> (s :*: a) -> (s :*: b) Source #

(<<====) :: ((s :*: a) -> b) -> (s :*: a) -> (s :*: b) Source #

(<<=====) :: ((s :*: a) -> b) -> (s :*: a) -> (s :*: b) Source #

(<<======) :: ((s :*: a) -> b) -> (s :*: a) -> (s :*: b) Source #

(<<=======) :: ((s :*: a) -> b) -> (s :*: a) -> (s :*: b) Source #

(<<========) :: ((s :*: a) -> b) -> (s :*: a) -> (s :*: b) Source #

Extendable ((->) :: Type -> Type -> Type) t => Extendable ((->) :: Type -> Type -> Type) (Jack t) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Transformer.Jack

Methods

(<<=) :: (Jack t a -> b) -> Jack t a -> Jack t b Source #

(<<==) :: (Jack t a -> b) -> Jack t a -> Jack t b Source #

(<<===) :: (Jack t a -> b) -> Jack t a -> Jack t b Source #

(<<====) :: (Jack t a -> b) -> Jack t a -> Jack t b Source #

(<<=====) :: (Jack t a -> b) -> Jack t a -> Jack t b Source #

(<<======) :: (Jack t a -> b) -> Jack t a -> Jack t b Source #

(<<=======) :: (Jack t a -> b) -> Jack t a -> Jack t b Source #

(<<========) :: (Jack t a -> b) -> Jack t a -> Jack t b Source #

(Semimonoidal (<--) (:*:) (:*:) t, Extendable ((->) :: Type -> Type -> Type) t, Covariant ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) t) => Extendable ((->) :: Type -> Type -> Type) (Tap t) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Transformer.Tap

Methods

(<<=) :: (Tap t a -> b) -> Tap t a -> Tap t b Source #

(<<==) :: (Tap t a -> b) -> Tap t a -> Tap t b Source #

(<<===) :: (Tap t a -> b) -> Tap t a -> Tap t b Source #

(<<====) :: (Tap t a -> b) -> Tap t a -> Tap t b Source #

(<<=====) :: (Tap t a -> b) -> Tap t a -> Tap t b Source #

(<<======) :: (Tap t a -> b) -> Tap t a -> Tap t b Source #

(<<=======) :: (Tap t a -> b) -> Tap t a -> Tap t b Source #

(<<========) :: (Tap t a -> b) -> Tap t a -> Tap t b Source #

Covariant ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) t => Extendable ((->) :: Type -> Type -> Type) (Construction t) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Transformer.Construction

Extendable ((->) :: Type -> Type -> Type) (Store s) Source # 
Instance details

Defined in Pandora.Paradigm.Inventory.Some.Store

Methods

(<<=) :: (Store s a -> b) -> Store s a -> Store s b Source #

(<<==) :: (Store s a -> b) -> Store s a -> Store s b Source #

(<<===) :: (Store s a -> b) -> Store s a -> Store s b Source #

(<<====) :: (Store s a -> b) -> Store s a -> Store s b Source #

(<<=====) :: (Store s a -> b) -> Store s a -> Store s b Source #

(<<======) :: (Store s a -> b) -> Store s a -> Store s b Source #

(<<=======) :: (Store s a -> b) -> Store s a -> Store s b Source #

(<<========) :: (Store s a -> b) -> Store s a -> Store s b Source #

Semigroup e => Extendable ((->) :: Type -> Type -> Type) (Imprint e) Source # 
Instance details

Defined in Pandora.Paradigm.Inventory.Some.Imprint

Methods

(<<=) :: (Imprint e a -> b) -> Imprint e a -> Imprint e b Source #

(<<==) :: (Imprint e a -> b) -> Imprint e a -> Imprint e b Source #

(<<===) :: (Imprint e a -> b) -> Imprint e a -> Imprint e b Source #

(<<====) :: (Imprint e a -> b) -> Imprint e a -> Imprint e b Source #

(<<=====) :: (Imprint e a -> b) -> Imprint e a -> Imprint e b Source #

(<<======) :: (Imprint e a -> b) -> Imprint e a -> Imprint e b Source #

(<<=======) :: (Imprint e a -> b) -> Imprint e a -> Imprint e b Source #

(<<========) :: (Imprint e a -> b) -> Imprint e a -> Imprint e b Source #

Extendable ((->) :: Type -> Type -> Type) (Equipment e) Source # 
Instance details

Defined in Pandora.Paradigm.Inventory.Some.Equipment

Methods

(<<=) :: (Equipment e a -> b) -> Equipment e a -> Equipment e b Source #

(<<==) :: (Equipment e a -> b) -> Equipment e a -> Equipment e b Source #

(<<===) :: (Equipment e a -> b) -> Equipment e a -> Equipment e b Source #

(<<====) :: (Equipment e a -> b) -> Equipment e a -> Equipment e b Source #

(<<=====) :: (Equipment e a -> b) -> Equipment e a -> Equipment e b Source #

(<<======) :: (Equipment e a -> b) -> Equipment e a -> Equipment e b Source #

(<<=======) :: (Equipment e a -> b) -> Equipment e a -> Equipment e b Source #

(<<========) :: (Equipment e a -> b) -> Equipment e a -> Equipment e b Source #

Extendable ((->) :: Type -> Type -> Type) (Tape Stream) Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Some.Stream

Methods

(<<=) :: (Tape Stream a -> b) -> Tape Stream a -> Tape Stream b Source #

(<<==) :: (Tape Stream a -> b) -> Tape Stream a -> Tape Stream b Source #

(<<===) :: (Tape Stream a -> b) -> Tape Stream a -> Tape Stream b Source #

(<<====) :: (Tape Stream a -> b) -> Tape Stream a -> Tape Stream b Source #

(<<=====) :: (Tape Stream a -> b) -> Tape Stream a -> Tape Stream b Source #

(<<======) :: (Tape Stream a -> b) -> Tape Stream a -> Tape Stream b Source #

(<<=======) :: (Tape Stream a -> b) -> Tape Stream a -> Tape Stream b Source #

(<<========) :: (Tape Stream a -> b) -> Tape Stream a -> Tape Stream b Source #

(Extendable ((->) :: Type -> Type -> Type) t, Extendable ((->) :: Type -> Type -> Type) u) => Extendable ((->) :: Type -> Type -> Type) (Day t u) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Transformer.Day

Methods

(<<=) :: (Day t u a -> b) -> Day t u a -> Day t u b Source #

(<<==) :: (Day t u a -> b) -> Day t u a -> Day t u b Source #

(<<===) :: (Day t u a -> b) -> Day t u a -> Day t u b Source #

(<<====) :: (Day t u a -> b) -> Day t u a -> Day t u b Source #

(<<=====) :: (Day t u a -> b) -> Day t u a -> Day t u b Source #

(<<======) :: (Day t u a -> b) -> Day t u a -> Day t u b Source #

(<<=======) :: (Day t u a -> b) -> Day t u a -> Day t u b Source #

(<<========) :: (Day t u a -> b) -> Day t u a -> Day t u b Source #

Extendable ((->) :: Type -> Type -> Type) (Tagged tag) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Functor.Tagged

Methods

(<<=) :: (Tagged tag a -> b) -> Tagged tag a -> Tagged tag b Source #

(<<==) :: (Tagged tag a -> b) -> Tagged tag a -> Tagged tag b Source #

(<<===) :: (Tagged tag a -> b) -> Tagged tag a -> Tagged tag b Source #

(<<====) :: (Tagged tag a -> b) -> Tagged tag a -> Tagged tag b Source #

(<<=====) :: (Tagged tag a -> b) -> Tagged tag a -> Tagged tag b Source #

(<<======) :: (Tagged tag a -> b) -> Tagged tag a -> Tagged tag b Source #

(<<=======) :: (Tagged tag a -> b) -> Tagged tag a -> Tagged tag b Source #

(<<========) :: (Tagged tag a -> b) -> Tagged tag a -> Tagged tag b Source #

Extendable ((->) :: Type -> Type -> Type) (Schematic Monad t u) => Extendable ((->) :: Type -> Type -> Type) (t :> u) Source # 
Instance details

Defined in Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic

Methods

(<<=) :: ((t :> u) a -> b) -> (t :> u) a -> (t :> u) b Source #

(<<==) :: ((t :> u) a -> b) -> (t :> u) a -> (t :> u) b Source #

(<<===) :: ((t :> u) a -> b) -> (t :> u) a -> (t :> u) b Source #

(<<====) :: ((t :> u) a -> b) -> (t :> u) a -> (t :> u) b Source #

(<<=====) :: ((t :> u) a -> b) -> (t :> u) a -> (t :> u) b Source #

(<<======) :: ((t :> u) a -> b) -> (t :> u) a -> (t :> u) b Source #

(<<=======) :: ((t :> u) a -> b) -> (t :> u) a -> (t :> u) b Source #

(<<========) :: ((t :> u) a -> b) -> (t :> u) a -> (t :> u) b Source #

Extendable ((->) :: Type -> Type -> Type) (Schematic Comonad t u) => Extendable ((->) :: Type -> Type -> Type) (t :< u) Source # 
Instance details

Defined in Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic

Methods

(<<=) :: ((t :< u) a -> b) -> (t :< u) a -> (t :< u) b Source #

(<<==) :: ((t :< u) a -> b) -> (t :< u) a -> (t :< u) b Source #

(<<===) :: ((t :< u) a -> b) -> (t :< u) a -> (t :< u) b Source #

(<<====) :: ((t :< u) a -> b) -> (t :< u) a -> (t :< u) b Source #

(<<=====) :: ((t :< u) a -> b) -> (t :< u) a -> (t :< u) b Source #

(<<======) :: ((t :< u) a -> b) -> (t :< u) a -> (t :< u) b Source #

(<<=======) :: ((t :< u) a -> b) -> (t :< u) a -> (t :< u) b Source #

(<<========) :: ((t :< u) a -> b) -> (t :< u) a -> (t :< u) b Source #

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

Defined in Pandora.Paradigm.Schemes.TUT

Methods

(<<=) :: (((t' <:<.>:> t) >>>>>>>> u) a -> b) -> ((t' <:<.>:> t) >>>>>>>> u) a -> ((t' <:<.>:> t) >>>>>>>> u) b Source #

(<<==) :: (((t' <:<.>:> t) >>>>>>>> u) a -> b) -> ((t' <:<.>:> t) >>>>>>>> u) a -> ((t' <:<.>:> t) >>>>>>>> u) b Source #

(<<===) :: (((t' <:<.>:> t) >>>>>>>> u) a -> b) -> ((t' <:<.>:> t) >>>>>>>> u) a -> ((t' <:<.>:> t) >>>>>>>> u) b Source #

(<<====) :: (((t' <:<.>:> t) >>>>>>>> u) a -> b) -> ((t' <:<.>:> t) >>>>>>>> u) a -> ((t' <:<.>:> t) >>>>>>>> u) b Source #

(<<=====) :: (((t' <:<.>:> t) >>>>>>>> u) a -> b) -> ((t' <:<.>:> t) >>>>>>>> u) a -> ((t' <:<.>:> t) >>>>>>>> u) b Source #

(<<======) :: (((t' <:<.>:> t) >>>>>>>> u) a -> b) -> ((t' <:<.>:> t) >>>>>>>> u) a -> ((t' <:<.>:> t) >>>>>>>> u) b Source #

(<<=======) :: (((t' <:<.>:> t) >>>>>>>> u) a -> b) -> ((t' <:<.>:> t) >>>>>>>> u) a -> ((t' <:<.>:> t) >>>>>>>> u) b Source #

(<<========) :: (((t' <:<.>:> t) >>>>>>>> u) a -> b) -> ((t' <:<.>:> t) >>>>>>>> u) a -> ((t' <:<.>:> t) >>>>>>>> u) b Source #

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

Defined in Pandora.Paradigm.Inventory.Some.Imprint

Methods

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

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

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

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

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

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

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

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

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

Defined in Pandora.Paradigm.Inventory.Some.Equipment

Methods

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

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

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

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

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

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

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

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