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

Pandora.Paradigm.Primary.Transformer.Kan

Documentation

data family Kan (v :: * -> k) (t :: * -> *) (u :: * -> *) b a Source #

Instances

Instances details
Covariant ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) (Kan ('Right :: Type -> Horizontal Type) t u b) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Transformer.Kan

Methods

(<-|-) :: (a -> b0) -> Kan 'Right t u b a -> Kan 'Right t u b b0 Source #

(<-|--) :: (a -> b0) -> Kan 'Right t u b a -> Kan 'Right t u b b0 Source #

(<-|---) :: (a -> b0) -> Kan 'Right t u b a -> Kan 'Right t u b b0 Source #

(<-|----) :: (a -> b0) -> Kan 'Right t u b a -> Kan 'Right t u b b0 Source #

(<-|-----) :: (a -> b0) -> Kan 'Right t u b a -> Kan 'Right t u b b0 Source #

(<-|------) :: (a -> b0) -> Kan 'Right t u b a -> Kan 'Right t u b b0 Source #

(<-|-------) :: (a -> b0) -> Kan 'Right t u b a -> Kan 'Right t u b b0 Source #

(<-|--------) :: (a -> b0) -> Kan 'Right t u b a -> Kan 'Right t u b b0 Source #

(<-|-|-) :: (Covariant (->) (Betwixt (->) (->)) u0, Covariant (Betwixt (->) (->)) (->) (Kan 'Right t u b)) => (a -> b0) -> Kan 'Right t u b (u0 a) -> Kan 'Right t u b (u0 b0) Source #

(<-|-|--) :: (Covariant (->) (Betwixt (->) (->)) u0, Covariant (Betwixt (->) (->)) (->) (Kan 'Right t u b)) => (a -> b0) -> Kan 'Right t u b (u0 a) -> Kan 'Right t u b (u0 b0) Source #

(<-|-|---) :: (Covariant (->) (Betwixt (->) (->)) u0, Covariant (Betwixt (->) (->)) (->) (Kan 'Right t u b)) => (a -> b0) -> Kan 'Right t u b (u0 a) -> Kan 'Right t u b (u0 b0) Source #

(<-|-|----) :: (Covariant (->) (Betwixt (->) (->)) u0, Covariant (Betwixt (->) (->)) (->) (Kan 'Right t u b)) => (a -> b0) -> Kan 'Right t u b (u0 a) -> Kan 'Right t u b (u0 b0) Source #

(<-|-|-----) :: (Covariant (->) (Betwixt (->) (->)) u0, Covariant (Betwixt (->) (->)) (->) (Kan 'Right t u b)) => (a -> b0) -> Kan 'Right t u b (u0 a) -> Kan 'Right t u b (u0 b0) Source #

(<-|-|------) :: (Covariant (->) (Betwixt (->) (->)) u0, Covariant (Betwixt (->) (->)) (->) (Kan 'Right t u b)) => (a -> b0) -> Kan 'Right t u b (u0 a) -> Kan 'Right t u b (u0 b0) Source #

(<-|-|-------) :: (Covariant (->) (Betwixt (->) (->)) u0, Covariant (Betwixt (->) (->)) (->) (Kan 'Right t u b)) => (a -> b0) -> Kan 'Right t u b (u0 a) -> Kan 'Right t u b (u0 b0) Source #

(<-|-|-|-) :: (Covariant (->) (Betwixt (->) (Betwixt (->) (->))) v, Covariant (Betwixt (->) (Betwixt (->) (->))) (Betwixt (Betwixt (->) (->)) (->)) u0, Covariant (Betwixt (Betwixt (->) (->)) (->)) (->) (Kan 'Right t u b)) => (a -> b0) -> Kan 'Right t u b (u0 (v a)) -> Kan 'Right t u b (u0 (v b0)) Source #

Contravariant ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) (Kan ('Left :: Type -> Horizontal Type) t u b) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Transformer.Kan

Methods

(>-|-) :: (a -> b0) -> Kan 'Left t u b b0 -> Kan 'Left t u b a Source #

(>-|--) :: (a -> b0) -> Kan 'Left t u b b0 -> Kan 'Left t u b a Source #

(>-|---) :: (a -> b0) -> Kan 'Left t u b b0 -> Kan 'Left t u b a Source #

(>-|----) :: (a -> b0) -> Kan 'Left t u b b0 -> Kan 'Left t u b a Source #

(>-|-----) :: (a -> b0) -> Kan 'Left t u b b0 -> Kan 'Left t u b a Source #

(>-|------) :: (a -> b0) -> Kan 'Left t u b b0 -> Kan 'Left t u b a Source #

(>-|-------) :: (a -> b0) -> Kan 'Left t u b b0 -> Kan 'Left t u b a Source #

(>-|--------) :: (a -> b0) -> Kan 'Left t u b b0 -> Kan 'Left t u b a Source #

(>-|-|-) :: (Contravariant (->) (Betwixt (->) (->)) u0, Contravariant (Betwixt (->) (->)) (->) (Kan 'Left t u b)) => (a -> b0) -> Kan 'Left t u b (u0 a) -> Kan 'Left t u b (u0 b0) Source #

Interpreted ((->) :: Type -> Type -> Type) (Kan ('Left :: Type -> Horizontal Type) t u b) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Transformer.Kan

Associated Types

type Primary (Kan 'Left t u b) a Source #

Methods

run :: ((->) < Kan 'Left t u b a) < Primary (Kan 'Left t u b) a Source #

unite :: ((->) < Primary (Kan 'Left t u b) a) < Kan 'Left t u b a Source #

(<~~~~~~~~) :: ((->) < Kan 'Left t u b a) < Primary (Kan 'Left t u b) a Source #

(<~~~~~~~) :: ((->) < Kan 'Left t u b a) < Primary (Kan 'Left t u b) a Source #

(<~~~~~~) :: ((->) < Kan 'Left t u b a) < Primary (Kan 'Left t u b) a Source #

(<~~~~~) :: ((->) < Kan 'Left t u b a) < Primary (Kan 'Left t u b) a Source #

(<~~~~) :: ((->) < Kan 'Left t u b a) < Primary (Kan 'Left t u b) a Source #

(<~~~) :: ((->) < Kan 'Left t u b a) < Primary (Kan 'Left t u b) a Source #

(<~~) :: ((->) < Kan 'Left t u b a) < Primary (Kan 'Left t u b) a Source #

(<~) :: ((->) < Kan 'Left t u b a) < Primary (Kan 'Left t u b) a Source #

(=#-) :: (Semigroupoid (->), Interpreted (->) u0) => (((->) < Primary (Kan 'Left t u b) a) < Primary u0 b0) -> ((->) < Kan 'Left t u b a) < u0 b0 Source #

(-#=) :: (Semigroupoid (->), Interpreted (->) u0) => (((->) < Kan 'Left t u b a) < u0 b0) -> ((->) < Primary (Kan 'Left t u b) a) < Primary u0 b0 Source #

(<$=#-) :: (Semigroupoid (->), Covariant (->) (->) j, Interpreted (->) u0) => (((->) < Primary (Kan 'Left t u b) a) < Primary u0 b0) -> (j > Kan 'Left t u b a) -> (j > u0 b0) Source #

(-#=$>) :: (Covariant (->) (->) j, Interpreted (->) u0) => (((->) < Kan 'Left t u b a) < u0 b0) -> (j > Primary (Kan 'Left t u b) a) -> (j > Primary u0 b0) Source #

Interpreted ((->) :: Type -> Type -> Type) (Kan ('Right :: Type -> Horizontal Type) t u b) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Transformer.Kan

Associated Types

type Primary (Kan 'Right t u b) a Source #

Methods

run :: ((->) < Kan 'Right t u b a) < Primary (Kan 'Right t u b) a Source #

unite :: ((->) < Primary (Kan 'Right t u b) a) < Kan 'Right t u b a Source #

(<~~~~~~~~) :: ((->) < Kan 'Right t u b a) < Primary (Kan 'Right t u b) a Source #

(<~~~~~~~) :: ((->) < Kan 'Right t u b a) < Primary (Kan 'Right t u b) a Source #

(<~~~~~~) :: ((->) < Kan 'Right t u b a) < Primary (Kan 'Right t u b) a Source #

(<~~~~~) :: ((->) < Kan 'Right t u b a) < Primary (Kan 'Right t u b) a Source #

(<~~~~) :: ((->) < Kan 'Right t u b a) < Primary (Kan 'Right t u b) a Source #

(<~~~) :: ((->) < Kan 'Right t u b a) < Primary (Kan 'Right t u b) a Source #

(<~~) :: ((->) < Kan 'Right t u b a) < Primary (Kan 'Right t u b) a Source #

(<~) :: ((->) < Kan 'Right t u b a) < Primary (Kan 'Right t u b) a Source #

(=#-) :: (Semigroupoid (->), Interpreted (->) u0) => (((->) < Primary (Kan 'Right t u b) a) < Primary u0 b0) -> ((->) < Kan 'Right t u b a) < u0 b0 Source #

(-#=) :: (Semigroupoid (->), Interpreted (->) u0) => (((->) < Kan 'Right t u b a) < u0 b0) -> ((->) < Primary (Kan 'Right t u b) a) < Primary u0 b0 Source #

(<$=#-) :: (Semigroupoid (->), Covariant (->) (->) j, Interpreted (->) u0) => (((->) < Primary (Kan 'Right t u b) a) < Primary u0 b0) -> (j > Kan 'Right t u b a) -> (j > u0 b0) Source #

(-#=$>) :: (Covariant (->) (->) j, Interpreted (->) u0) => (((->) < Kan 'Right t u b a) < u0 b0) -> (j > Primary (Kan 'Right t u b) a) -> (j > Primary u0 b0) Source #

data Kan ('Left :: Type -> Horizontal Type) t u b a Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Transformer.Kan

data Kan ('Left :: Type -> Horizontal Type) t u b a = Lan ((t b -> a) -> u b)
data Kan ('Right :: Type -> Horizontal Type) t u b a Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Transformer.Kan

data Kan ('Right :: Type -> Horizontal Type) t u b a = Ran ((a -> t b) -> u b)
type Primary (Kan ('Left :: Type -> Horizontal Type) t u b) a Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Transformer.Kan

type Primary (Kan ('Left :: Type -> Horizontal Type) t u b) a = (t b -> a) -> u b
type Primary (Kan ('Right :: Type -> Horizontal Type) t u b) a Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Transformer.Kan

type Primary (Kan ('Right :: Type -> Horizontal Type) t u b) a = (a -> t b) -> u b