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

Pandora.Paradigm.Inventory.Environment

Documentation

newtype Environment e a Source #

Constructors

Environment (e -> a) 

Instances

Instances details
Covariant (Environment e) Source # 
Instance details

Defined in Pandora.Paradigm.Inventory.Environment

Methods

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

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

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

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

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

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

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

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

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

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

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

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

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

Bindable (Environment e) Source # 
Instance details

Defined in Pandora.Paradigm.Inventory.Environment

Methods

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

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

bind :: (a -> Environment e b) -> Environment e a -> Environment e b Source #

join :: ((Environment e :. Environment e) := a) -> Environment e a Source #

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

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

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

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

Applicative (Environment e) Source # 
Instance details

Defined in Pandora.Paradigm.Inventory.Environment

Methods

(<*>) :: Environment e (a -> b) -> Environment e a -> Environment e b Source #

apply :: Environment e (a -> b) -> Environment e a -> Environment e b Source #

(*>) :: Environment e a -> Environment e b -> Environment e b Source #

(<*) :: Environment e a -> Environment e b -> Environment e a Source #

forever :: Environment e a -> Environment e b Source #

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

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

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

Distributive (Environment e) Source # 
Instance details

Defined in Pandora.Paradigm.Inventory.Environment

Methods

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

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

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

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

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

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

Pointable (Environment e) Source # 
Instance details

Defined in Pandora.Paradigm.Inventory.Environment

Methods

point :: a |-> Environment e Source #

Monad (Environment e) Source # 
Instance details

Defined in Pandora.Paradigm.Inventory.Environment

Interpreted (Environment e) Source # 
Instance details

Defined in Pandora.Paradigm.Inventory.Environment

Associated Types

type Primary (Environment e) a Source #

Methods

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

Monadic (Environment e) Source # 
Instance details

Defined in Pandora.Paradigm.Inventory.Environment

Methods

wrap :: forall (u :: Type -> Type). Pointable u => Environment e ~> (Environment e :> u) Source #

Adjoint (Equipment e) (Environment e) Source # 
Instance details

Defined in Pandora.Paradigm.Inventory

Methods

(-|) :: a -> (Equipment e a -> b) -> Environment e b Source #

(|-) :: Equipment e a -> (a -> Environment e b) -> b Source #

phi :: (Equipment e a -> b) -> a -> Environment e b Source #

psi :: (a -> Environment e b) -> Equipment e a -> b Source #

eta :: a -> (Environment e :. Equipment e) := a Source #

epsilon :: ((Equipment e :. Environment e) := a) -> a Source #

type Schematic Monad (Environment e) Source # 
Instance details

Defined in Pandora.Paradigm.Inventory.Environment

type Schematic Monad (Environment e) = (<:.>) ((->) e :: Type -> Type)
type Primary (Environment e) a Source # 
Instance details

Defined in Pandora.Paradigm.Inventory.Environment

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

env :: Configured e t => t e Source #

Orphan instances

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

Methods

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Methods

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

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

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

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

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

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

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

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

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

Methods

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

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

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

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

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

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

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

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

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

Methods

point :: a |-> ((->) e <:.> u) Source #