pandora-0.2.6: A box of patterns and paradigms

Safe HaskellSafe
LanguageHaskell2010

Pandora.Paradigm.Inventory.Imprint

Contents

Documentation

newtype Imprint e a Source #

Constructors

Imprint (e -> a) 
Instances
Interpreted (Imprint e) Source # 
Instance details

Defined in Pandora.Paradigm.Inventory.Imprint

Associated Types

type Primary (Imprint e) a :: Type Source #

Methods

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

Covariant (Imprint e) Source # 
Instance details

Defined in Pandora.Paradigm.Inventory.Imprint

Methods

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

comap :: (a -> b) -> Imprint e a -> Imprint e b Source #

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

($>) :: Imprint e a -> b -> Imprint e b Source #

void :: Imprint e a -> Imprint e () Source #

loeb :: Imprint e (a <-| Imprint e) -> Imprint e a Source #

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

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

(<$$$>) :: (Covariant u, Covariant v) => (a -> b) -> ((Imprint e :. (u :. v)) := a) -> (Imprint e :. (u :. v)) := b Source #

(<$$$$>) :: (Covariant u, Covariant v, Covariant w) => (a -> b) -> ((Imprint e :. (u :. (v :. w))) := a) -> (Imprint e :. (u :. (v :. w))) := b Source #

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

(<&&&>) :: (Covariant u, Covariant v) => ((Imprint e :. (u :. v)) := a) -> (a -> b) -> (Imprint e :. (u :. v)) := b Source #

(<&&&&>) :: (Covariant u, Covariant v, Covariant w) => ((Imprint e :. (u :. (v :. w))) := a) -> (a -> b) -> (Imprint e :. (u :. (v :. w))) := b Source #

Distributive (Imprint e) Source # 
Instance details

Defined in Pandora.Paradigm.Inventory.Imprint

Methods

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

collect :: Covariant u => (a -> Imprint e b) -> u a -> (Imprint e :. u) := b Source #

distribute :: Covariant u => ((u :. Imprint e) := a) -> (Imprint e :. u) := a Source #

(>>>-) :: (Covariant u, Covariant v) => ((u :. v) := a) -> (a -> Imprint e b) -> (Imprint e :. (u :. v)) := b Source #

(>>>>-) :: (Covariant u, Covariant v, Covariant w) => ((u :. (v :. w)) := a) -> (a -> Imprint e b) -> (Imprint e :. (u :. (v :. w))) := b Source #

(>>>>>-) :: (Covariant u, Covariant v, Covariant w, Covariant j) => ((u :. (v :. (w :. j))) := a) -> (a -> Imprint e b) -> (Imprint e :. (u :. (v :. (w :. j)))) := b Source #

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

Defined in Pandora.Paradigm.Inventory.Imprint

Methods

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

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

extend :: (Imprint e a -> b) -> Imprint e a -> Imprint e b Source #

duplicate :: Imprint e a -> (Imprint e :. Imprint e) := a Source #

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

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

Monoid e => Extractable (Imprint e) Source # 
Instance details

Defined in Pandora.Paradigm.Inventory.Imprint

Methods

extract :: a <-| Imprint e Source #

Monoid e => Comonadic (Imprint e) Source # 
Instance details

Defined in Pandora.Paradigm.Inventory.Imprint

Methods

flick :: Covariant u => (Imprint e :< u) ~> u Source #

bring :: Extractable u => (Imprint e :< u) ~> Imprint e Source #

type Schematic Comonad (Imprint e) u Source # 
Instance details

Defined in Pandora.Paradigm.Inventory.Imprint

type Schematic Comonad (Imprint e) u = UT Covariant Covariant ((->) e :: Type -> Type) u
type Primary (Imprint e) a Source # 
Instance details

Defined in Pandora.Paradigm.Inventory.Imprint

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

Orphan instances

Covariant u => Covariant (UT Covariant Covariant ((->) e :: Type -> Type) u) Source # 
Instance details

Methods

(<$>) :: (a -> b) -> UT Covariant Covariant ((->) e) u a -> UT Covariant Covariant ((->) e) u b Source #

comap :: (a -> b) -> UT Covariant Covariant ((->) e) u a -> UT Covariant Covariant ((->) e) u b Source #

(<$) :: a -> UT Covariant Covariant ((->) e) u b -> UT Covariant Covariant ((->) e) u a Source #

($>) :: UT Covariant Covariant ((->) e) u a -> b -> UT Covariant Covariant ((->) e) u b Source #

void :: UT Covariant Covariant ((->) e) u a -> UT Covariant Covariant ((->) e) u () Source #

loeb :: UT Covariant Covariant ((->) e) u (a <-| UT Covariant Covariant ((->) e) u) -> UT Covariant Covariant ((->) e) u a Source #

(<&>) :: UT Covariant Covariant ((->) e) u a -> (a -> b) -> UT Covariant Covariant ((->) e) u b Source #

(<$$>) :: Covariant u0 => (a -> b) -> ((UT Covariant Covariant ((->) e) u :. u0) := a) -> (UT Covariant Covariant ((->) e) u :. u0) := b Source #

(<$$$>) :: (Covariant u0, Covariant v) => (a -> b) -> ((UT Covariant Covariant ((->) e) u :. (u0 :. v)) := a) -> (UT Covariant Covariant ((->) e) u :. (u0 :. v)) := b Source #

(<$$$$>) :: (Covariant u0, Covariant v, Covariant w) => (a -> b) -> ((UT Covariant Covariant ((->) e) u :. (u0 :. (v :. w))) := a) -> (UT Covariant Covariant ((->) e) u :. (u0 :. (v :. w))) := b Source #

(<&&>) :: Covariant u0 => ((UT Covariant Covariant ((->) e) u :. u0) := a) -> (a -> b) -> (UT Covariant Covariant ((->) e) u :. u0) := b Source #

(<&&&>) :: (Covariant u0, Covariant v) => ((UT Covariant Covariant ((->) e) u :. (u0 :. v)) := a) -> (a -> b) -> (UT Covariant Covariant ((->) e) u :. (u0 :. v)) := b Source #

(<&&&&>) :: (Covariant u0, Covariant v, Covariant w) => ((UT Covariant Covariant ((->) e) u :. (u0 :. (v :. w))) := a) -> (a -> b) -> (UT Covariant Covariant ((->) e) u :. (u0 :. (v :. w))) := b Source #

Applicative u => Applicative (UT Covariant Covariant ((->) e :: Type -> Type) u) Source # 
Instance details

Methods

(<*>) :: UT Covariant Covariant ((->) e) u (a -> b) -> UT Covariant Covariant ((->) e) u a -> UT Covariant Covariant ((->) e) u b Source #

apply :: UT Covariant Covariant ((->) e) u (a -> b) -> UT Covariant Covariant ((->) e) u a -> UT Covariant Covariant ((->) e) u b Source #

(*>) :: UT Covariant Covariant ((->) e) u a -> UT Covariant Covariant ((->) e) u b -> UT Covariant Covariant ((->) e) u b Source #

(<*) :: UT Covariant Covariant ((->) e) u a -> UT Covariant Covariant ((->) e) u b -> UT Covariant Covariant ((->) e) u a Source #

forever :: UT Covariant Covariant ((->) e) u a -> UT Covariant Covariant ((->) e) u b Source #

(<**>) :: Applicative u0 => ((UT Covariant Covariant ((->) e) u :. u0) := (a -> b)) -> ((UT Covariant Covariant ((->) e) u :. u0) := a) -> (UT Covariant Covariant ((->) e) u :. u0) := b Source #

(<***>) :: (Applicative u0, Applicative v) => ((UT Covariant Covariant ((->) e) u :. (u0 :. v)) := (a -> b)) -> ((UT Covariant Covariant ((->) e) u :. (u0 :. v)) := a) -> (UT Covariant Covariant ((->) e) u :. (u0 :. v)) := b Source #

(<****>) :: (Applicative u0, Applicative v, Applicative w) => ((UT Covariant Covariant ((->) e) u :. (u0 :. (v :. w))) := (a -> b)) -> ((UT Covariant Covariant ((->) e) u :. (u0 :. (v :. w))) := a) -> (UT Covariant Covariant ((->) e) u :. (u0 :. (v :. w))) := b Source #

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

Methods

(=>>) :: UT Covariant Covariant ((->) e) u a -> (UT Covariant Covariant ((->) e) u a -> b) -> UT Covariant Covariant ((->) e) u b Source #

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

extend :: (UT Covariant Covariant ((->) e) u a -> b) -> UT Covariant Covariant ((->) e) u a -> UT Covariant Covariant ((->) e) u b Source #

duplicate :: UT Covariant Covariant ((->) e) u a -> (UT Covariant Covariant ((->) e) u :. UT Covariant Covariant ((->) e) u) := a Source #

(=<=) :: (UT Covariant Covariant ((->) e) u b -> c) -> (UT Covariant Covariant ((->) e) u a -> b) -> UT Covariant Covariant ((->) e) u a -> c Source #

(=>=) :: (UT Covariant Covariant ((->) e) u a -> b) -> (UT Covariant Covariant ((->) e) u b -> c) -> UT Covariant Covariant ((->) e) u a -> c Source #

(Monoid e, Extractable u) => Extractable (UT Covariant Covariant ((->) e :: Type -> Type) u) Source # 
Instance details

Methods

extract :: a <-| UT Covariant Covariant ((->) e) u Source #