pandora-0.1.6: A box of patterns and paradigms

Safe HaskellSafe
LanguageHaskell2010

Pandora.Paradigm.Junction.Kan

Documentation

newtype Lan (t :: * -> *) (u :: * -> *) (b :: *) (a :: *) Source #

Constructors

Lan 

Fields

  • lan :: (t b -> a) -> u b
     
Instances
Contravariant (Lan t u b) Source # 
Instance details

Defined in Pandora.Paradigm.Junction.Kan

Methods

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

contramap :: (a -> b0) -> Lan t u b b0 -> Lan t u b a Source #

(>$) :: b0 -> Lan t u b b0 -> Lan t u b a Source #

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

full :: Lan t u b () -> Lan t u b a Source #

(>&<) :: Lan t u b b0 -> (a -> b0) -> Lan t u b a Source #

(>$$<) :: Contravariant u0 => (a -> b0) -> (Lan t u b :.: u0) a -> (Lan t u b :.: u0) b0 Source #

(>$$$<) :: (Contravariant u0, Contravariant v) => (a -> b0) -> (Lan t u b :.: (u0 :.: v)) b0 -> (Lan t u b :.: (u0 :.: v)) a Source #

(>$$$$<) :: (Contravariant u0, Contravariant v, Contravariant w) => (a -> b0) -> (Lan t u b :.: (u0 :.: (v :.: w))) a -> (Lan t u b :.: (u0 :.: (v :.: w))) b0 Source #

(>&&<) :: Contravariant u0 => (Lan t u b :.: u0) a -> (a -> b0) -> (Lan t u b :.: u0) b0 Source #

(>&&&<) :: (Contravariant u0, Contravariant v) => (Lan t u b :.: (u0 :.: v)) b0 -> (a -> b0) -> (Lan t u b :.: (u0 :.: v)) a Source #

(>&&&&<) :: (Contravariant u0, Contravariant v, Contravariant w) => (Lan t u b :.: (u0 :.: (v :.: w))) a -> (a -> b0) -> (Lan t u b :.: (u0 :.: (v :.: w))) b0 Source #

newtype Ran (t :: * -> *) (u :: * -> *) (b :: *) (a :: *) Source #

Constructors

Ran 

Fields

  • ran :: (a -> t b) -> u b
     
Instances
Covariant (Ran t u b) Source # 
Instance details

Defined in Pandora.Paradigm.Junction.Kan

Methods

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

comap :: (a -> b0) -> Ran t u b a -> Ran t u b b0 Source #

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

($>) :: Ran t u b a -> b0 -> Ran t u b b0 Source #

void :: Ran t u b a -> Ran t u b () Source #

loeb :: Ran t u b (Ran t u b a -> a) -> Ran t u b a Source #

(<&>) :: Ran t u b a -> (a -> b0) -> Ran t u b b0 Source #

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

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

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

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

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

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