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

Pandora.Pattern.Morphism.Straight

Documentation

newtype Straight (v :: * -> * -> *) a e Source #

Constructors

Straight (v a e) 

Instances

Instances details
Covariant m m t => Covariant m (Straight m) t Source # 
Instance details

Defined in Pandora.Pattern.Morphism.Straight

Methods

(<$>) :: m a b -> Straight m (t a) (t b) Source #

Monoidal (-->) ((->) :: Type -> Type -> Type) (:*:) (:+:) Maybe Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Functor.Maybe

Methods

unit :: Proxy (:*:) -> (Unit (:+:) -> a) --> Maybe a Source #

Monoidal (-->) ((->) :: Type -> Type -> Type) (:*:) (:*:) Identity Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Functor.Identity

Methods

unit :: Proxy (:*:) -> (Unit (:*:) -> a) --> Identity a Source #

Monoidal (-->) ((->) :: Type -> Type -> Type) (:*:) (:*:) Maybe Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Functor.Maybe

Methods

unit :: Proxy (:*:) -> (Unit (:*:) -> a) --> Maybe a Source #

(Covariant ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) t, Monoidal (-->) ((->) :: Type -> Type -> Type) (:*:) (:+:) t) => Monoidal (-->) ((->) :: Type -> Type -> Type) (:*:) (:+:) (Comprehension t) Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Modification.Comprehension

Methods

unit :: Proxy (:*:) -> (Unit (:+:) -> a) --> Comprehension t a Source #

Monoidal (-->) ((->) :: Type -> Type -> Type) (:*:) (:*:) ((:+:) e) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Algebraic

Methods

unit :: Proxy (:*:) -> (Unit (:*:) -> a) --> (e :+: a) Source #

Semigroup e => Monoidal (-->) ((->) :: Type -> Type -> Type) (:*:) (:*:) (Validation e) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Functor.Validation

Methods

unit :: Proxy (:*:) -> (Unit (:*:) -> a) --> Validation e a Source #

(Covariant ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) t, Semimonoidal (-->) (:*:) (:*:) t) => Monoidal (-->) ((->) :: Type -> Type -> Type) (:*:) (:*:) (Instruction t) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Transformer.Instruction

Methods

unit :: Proxy (:*:) -> (Unit (:*:) -> a) --> Instruction t a Source #

(Covariant ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) t, Semimonoidal (-->) (:*:) (:*:) t, Monoidal (-->) ((->) :: Type -> Type -> Type) (:*:) (:+:) t) => Monoidal (-->) ((->) :: Type -> Type -> Type) (:*:) (:*:) (Construction t) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Transformer.Construction

Methods

unit :: Proxy (:*:) -> (Unit (:*:) -> a) --> Construction t a Source #

Monoidal (-->) ((->) :: Type -> Type -> Type) (:*:) (:*:) (Conclusion e) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Functor.Conclusion

Methods

unit :: Proxy (:*:) -> (Unit (:*:) -> a) --> Conclusion e a Source #

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

Defined in Pandora.Paradigm.Inventory.State

Methods

unit :: Proxy (:*:) -> (Unit (:*:) -> a) --> State s a Source #

Monoidal (-->) ((->) :: Type -> Type -> Type) (:*:) (:*:) (Environment e) Source # 
Instance details

Defined in Pandora.Paradigm.Inventory.Environment

Methods

unit :: Proxy (:*:) -> (Unit (:*:) -> a) --> Environment e a Source #

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

Defined in Pandora.Paradigm.Primary.Functor.Tagged

Methods

unit :: Proxy (:*:) -> (Unit (:*:) -> a) --> Tagged tag a Source #

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

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

Methods

unit :: Proxy (:*:) -> (Unit (:*:) -> a) --> (t :> u) a Source #

(Covariant ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) t, Monoidal (-->) ((->) :: Type -> Type -> Type) (:*:) (:*:) t) => Monoidal (-->) ((->) :: Type -> Type -> Type) (:*:) (:*:) (Backwards t) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Transformer.Backwards

Methods

unit :: Proxy (:*:) -> (Unit (:*:) -> a) --> Backwards t a Source #

(Covariant ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) t, Monoidal (-->) ((->) :: Type -> Type -> Type) (:*:) (:*:) t) => Monoidal (-->) ((->) :: Type -> Type -> Type) (:*:) (:*:) (Reverse t) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Transformer.Reverse

Methods

unit :: Proxy (:*:) -> (Unit (:*:) -> a) --> Reverse t a Source #

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

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

Methods

unit :: Proxy (:*:) -> (Unit (:*:) -> a) --> (t :< u) a Source #

(Covariant ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) t, Covariant ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) u, Monoidal (-->) ((->) :: Type -> Type -> Type) (:*:) (:+:) t) => Monoidal (-->) ((->) :: Type -> Type -> Type) (:*:) (:+:) (t <:.> u) Source # 
Instance details

Defined in Pandora.Paradigm.Schemes.TU

Methods

unit :: Proxy (:*:) -> (Unit (:+:) -> a) --> (t <:.> u) a Source #

(Covariant ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) t, Covariant ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) u, Covariant ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) t', Semimonoidal (-->) (:*:) (:*:) t, Semimonoidal (-->) (:*:) (:*:) t', Monoidal (-->) ((->) :: Type -> Type -> Type) (:*:) (:*:) u, Adjoint ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) t' t) => Monoidal (-->) ((->) :: Type -> Type -> Type) (:*:) (:*:) ((t <:<.>:> t') := u) Source # 
Instance details

Defined in Pandora.Paradigm.Schemes.TUT

Methods

unit :: Proxy (:*:) -> (Unit (:*:) -> a) --> ((t <:<.>:> t') := u) a Source #

(Covariant ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) t, Covariant ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) u, Semimonoidal (-->) (:*:) (:*:) u, Monoidal (-->) ((->) :: Type -> Type -> Type) (:*:) (:*:) t, Monoidal (-->) ((->) :: Type -> Type -> Type) (:*:) (:*:) u) => Monoidal (-->) ((->) :: Type -> Type -> Type) (:*:) (:*:) (t <.:> u) Source # 
Instance details

Defined in Pandora.Paradigm.Schemes.UT

Methods

unit :: Proxy (:*:) -> (Unit (:*:) -> a) --> (t <.:> u) a Source #

(Covariant ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) t, Covariant ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) u, Semimonoidal (-->) (:*:) (:*:) u, Monoidal (-->) ((->) :: Type -> Type -> Type) (:*:) (:*:) t, Monoidal (-->) ((->) :: Type -> Type -> Type) (:*:) (:*:) u) => Monoidal (-->) ((->) :: Type -> Type -> Type) (:*:) (:*:) (t <:.> u) Source # 
Instance details

Defined in Pandora.Paradigm.Schemes.TU

Methods

unit :: Proxy (:*:) -> (Unit (:*:) -> a) --> (t <:.> u) a Source #

Semigroupoid m => Semigroupoid (Straight m) Source # 
Instance details

Defined in Pandora.Pattern.Morphism.Straight

Methods

(.) :: Straight m b c -> Straight m a b -> Straight m a c Source #

Category m => Category (Straight m) Source # 
Instance details

Defined in Pandora.Pattern.Morphism.Straight

Methods

identity :: Straight m a a Source #

($) :: Straight m (Straight m a b) (Straight m a b) Source #

(#) :: Straight m (Straight m a b) (Straight m a b) Source #

Covariant m m t => Covariant (Straight m) m t Source # 
Instance details

Defined in Pandora.Pattern.Morphism.Straight

Methods

(<$>) :: Straight m a b -> m (t a) (t b) Source #

Semimonoidal (-->) (:*:) (:+:) Maybe Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Functor.Maybe

Methods

mult :: forall (a :: k) (b :: k). (Maybe a :*: Maybe b) --> Maybe (a :+: b) Source #

Semimonoidal (-->) (:*:) (:*:) Identity Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Functor.Identity

Methods

mult :: forall (a :: k) (b :: k). (Identity a :*: Identity b) --> Identity (a :*: b) Source #

Semimonoidal (-->) (:*:) (:*:) Maybe Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Functor.Maybe

Methods

mult :: forall (a :: k) (b :: k). (Maybe a :*: Maybe b) --> Maybe (a :*: b) Source #

(Covariant ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) t, Semimonoidal (-->) (:*:) right t, Semimonoidal (-->) (:*:) right (t <:.> Construction t)) => Semimonoidal (-->) (:*:) (right :: Type -> Type -> Type) (Comprehension t :: Type -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Modification.Comprehension

Methods

mult :: forall (a :: k) (b :: k). (Comprehension t a :*: Comprehension t b) --> Comprehension t (right a b) Source #

Semimonoidal (-->) (:*:) (:+:) ((:+:) e :: Type -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Algebraic

Methods

mult :: forall (a :: k) (b :: k). ((e :+: a) :*: (e :+: b)) --> (e :+: (a :+: b)) Source #

Semigroup e => Semimonoidal (-->) (:*:) (:+:) (Validation e :: Type -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Functor.Validation

Methods

mult :: forall (a :: k) (b :: k). (Validation e a :*: Validation e b) --> Validation e (a :+: b) Source #

Semigroup e => Semimonoidal (-->) (:*:) (:+:) (Conclusion e :: Type -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Functor.Conclusion

Methods

mult :: forall (a :: k) (b :: k). (Conclusion e a :*: Conclusion e b) --> Conclusion e (a :+: b) Source #

Semimonoidal (-->) (:*:) (:*:) ((:+:) e :: Type -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Algebraic

Methods

mult :: forall (a :: k) (b :: k). ((e :+: a) :*: (e :+: b)) --> (e :+: (a :*: b)) Source #

Semigroup e => Semimonoidal (-->) (:*:) (:*:) (Validation e :: Type -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Functor.Validation

Methods

mult :: forall (a :: k) (b :: k). (Validation e a :*: Validation e b) --> Validation e (a :*: b) Source #

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

Defined in Pandora.Paradigm.Primary.Transformer.Instruction

Methods

mult :: forall (a :: k) (b :: k). (Instruction t a :*: Instruction t b) --> Instruction t (a :*: b) Source #

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

Defined in Pandora.Paradigm.Primary.Transformer.Construction

Methods

mult :: forall (a :: k) (b :: k). (Construction t a :*: Construction t b) --> Construction t (a :*: b) Source #

Semimonoidal (-->) (:*:) (:*:) (Conclusion e :: Type -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Functor.Conclusion

Methods

mult :: forall (a :: k) (b :: k). (Conclusion e a :*: Conclusion e b) --> Conclusion e (a :*: b) Source #

Semimonoidal (-->) (:*:) (:*:) t => Semimonoidal (-->) (:*:) (:*:) (Tap t :: Type -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Transformer.Tap

Methods

mult :: forall (a :: k) (b :: k). (Tap t a :*: Tap t b) --> Tap t (a :*: b) Source #

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

Defined in Pandora.Paradigm.Primary.Transformer.Tap

Methods

mult :: forall (a :: k) (b :: k). (Tap ((t <:.:> t) := (:*:)) a :*: Tap ((t <:.:> t) := (:*:)) b) --> Tap ((t <:.:> t) := (:*:)) (a :*: b) Source #

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

Defined in Pandora.Paradigm.Inventory.State

Methods

mult :: forall (a :: k) (b :: k). (State s a :*: State s b) --> State s (a :*: b) Source #

Semimonoidal (-->) (:*:) (:*:) (Environment e :: Type -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Inventory.Environment

Methods

mult :: forall (a :: k) (b :: k). (Environment e a :*: Environment e b) --> Environment e (a :*: b) Source #

Semigroup e => Semimonoidal (-->) (:*:) (:*:) (Accumulator e :: Type -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Inventory.Accumulator

Methods

mult :: forall (a :: k) (b :: k). (Accumulator e a :*: Accumulator e b) --> Accumulator e (a :*: b) Source #

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

Defined in Pandora.Paradigm.Primary.Functor.Tagged

Methods

mult :: forall (a :: k) (b :: k). (Tagged tag a :*: Tagged tag b) --> Tagged tag (a :*: b) Source #

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

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

Methods

mult :: forall (a :: k) (b :: k). ((t :> u) a :*: (t :> u) b) --> (t :> u) (a :*: b) Source #

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

Defined in Pandora.Paradigm.Primary.Transformer.Backwards

Methods

mult :: forall (a :: k) (b :: k). (Backwards t a :*: Backwards t b) --> Backwards t (a :*: b) Source #

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

Defined in Pandora.Paradigm.Primary.Transformer.Reverse

Methods

mult :: forall (a :: k) (b :: k). (Reverse t a :*: Reverse t b) --> Reverse t (a :*: b) Source #

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

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

Methods

mult :: forall (a :: k) (b :: k). ((t :< u) a :*: (t :< u) b) --> (t :< u) (a :*: b) Source #

Semimonoidal (-->) (:*:) (:*:) ((->) e :: Type -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Algebraic

Methods

mult :: forall (a :: k) (b :: k). ((e -> a) :*: (e -> b)) --> (e -> (a :*: b)) Source #

(Covariant ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) t, Covariant ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) u, Semimonoidal (-->) (:*:) (:+:) t) => Semimonoidal (-->) (:*:) (:+:) (t <:.> u :: Type -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Schemes.TU

Methods

mult :: forall (a :: k) (b :: k). ((t <:.> u) a :*: (t <:.> u) b) --> (t <:.> u) (a :+: b) Source #

Semimonoidal (-->) (:*:) (:*:) t => Semimonoidal (-->) (:*:) (:*:) ((t <:.:> t) := (:*:) :: Type -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Algebraic.Product

Methods

mult :: forall (a :: k) (b :: k). (((t <:.:> t) := (:*:)) a :*: ((t <:.:> t) := (:*:)) b) --> ((t <:.:> t) := (:*:)) (a :*: b) Source #

(Covariant ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) t, Covariant ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) t', Covariant ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) u, Semimonoidal (-->) (:*:) (:*:) t, Semimonoidal (-->) (:*:) (:*:) u, Semimonoidal (-->) (:*:) (:*:) t') => Semimonoidal (-->) (:*:) (:*:) ((t <:<.>:> t') := u :: Type -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Schemes.TUT

Methods

mult :: forall (a :: k) (b :: k). (((t <:<.>:> t') := u) a :*: ((t <:<.>:> t') := u) b) --> ((t <:<.>:> t') := u) (a :*: b) Source #

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

Defined in Pandora.Paradigm.Schemes.UT

Methods

mult :: forall (a :: k) (b :: k). ((t <.:> u) a :*: (t <.:> u) b) --> (t <.:> u) (a :*: b) Source #

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

Defined in Pandora.Paradigm.Schemes.TU

Methods

mult :: forall (a :: k) (b :: k). ((t <:.> u) a :*: (t <:.> u) b) --> (t <:.> u) (a :*: b) Source #

Covariant m m t => Covariant (Straight m) (Straight m) t Source # 
Instance details

Defined in Pandora.Pattern.Morphism.Straight

Methods

(<$>) :: Straight m a b -> Straight m (t a) (t b) Source #

Appliable (Straight m :: Type -> Type -> Type) (c :: Type) (b :: Type) (m :: Type -> Type -> Type) (c :: Type) (b :: Type) Source # 
Instance details

Defined in Pandora.Pattern.Morphism.Straight

Methods

(!) :: Straight m c b -> m c b Source #

Interpreted ((->) :: Type -> Type -> Type) (Straight v e) Source # 
Instance details

Defined in Pandora.Paradigm.Controlflow.Effect.Interpreted

Associated Types

type Primary (Straight v e) a Source #

Methods

run :: Straight v e a -> Primary (Straight v e) a Source #

unite :: Primary (Straight v e) a -> Straight v e a Source #

(||=) :: (Semigroupoid (->), Interpreted (->) u) => (Primary (Straight v e) a -> Primary u b) -> Straight v e a -> u b Source #

(=||) :: (Semigroupoid (->), Interpreted (->) u) => (Straight v e a -> u b) -> Primary (Straight v e) a -> Primary u b Source #

(<$||=) :: (Semigroupoid (->), Covariant (->) (->) j, Interpreted (->) u) => (Primary (Straight v e) a -> Primary u b) -> (j := Straight v e a) -> (j := u b) Source #

(<$$||=) :: (Semigroupoid (->), Covariant (->) (->) j, Covariant (->) (->) k, Interpreted (->) u) => (Primary (Straight v e) a -> Primary u b) -> ((j :. k) := Straight v e a) -> ((j :. k) := u b) Source #

(<$$$||=) :: (Semigroupoid (->), Covariant (->) (->) j, Covariant (->) (->) k, Covariant (->) (->) l, Interpreted (->) u) => (Primary (Straight v e) a -> Primary u b) -> ((j :. (k :. l)) := Straight v e a) -> ((j :. (k :. l)) := u b) Source #

(<$$$$||=) :: (Semigroupoid (->), Covariant (->) (->) j, Covariant (->) (->) k, Covariant (->) (->) l, Covariant (->) (->) n, Interpreted (->) u) => (Primary (Straight v e) a -> Primary u b) -> ((j :. (k :. (l :. n))) := Straight v e a) -> ((j :. (k :. (l :. n))) := u b) Source #

(=||$>) :: (Covariant (->) (->) j, Interpreted (->) u) => (Straight v e a -> u b) -> (j := Primary (Straight v e) a) -> (j := Primary u b) Source #

(=||$$>) :: (Covariant (->) (->) j, Covariant (->) (->) k, Interpreted (->) u) => (Straight v e a -> u b) -> ((j :. k) := Primary (Straight v e) a) -> ((j :. k) := Primary u b) Source #

(=||$$$>) :: (Covariant (->) (->) j, Covariant (->) (->) k, Covariant (->) (->) l, Interpreted (->) u) => (Straight v e a -> u b) -> ((j :. (k :. l)) := Primary (Straight v e) a) -> ((j :. (k :. l)) := Primary u b) Source #

(=||$$$$>) :: (Covariant (->) (->) j, Covariant (->) (->) k, Covariant (->) (->) l, Covariant (->) (->) n, Interpreted (->) u) => (Straight v e a -> u b) -> ((j :. (k :. (l :. n))) := Primary (Straight v e) a) -> ((j :. (k :. (l :. n))) := Primary u b) Source #

Covariant ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) ((-->) b) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Algebraic.Exponential

Methods

(<$>) :: (a -> b0) -> (b --> a) -> (b --> b0) Source #

type Primary (Straight v e) a Source # 
Instance details

Defined in Pandora.Paradigm.Controlflow.Effect.Interpreted

type Primary (Straight v e) a = v e a