Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Documentation
data family Kan (v :: * -> k) (t :: * -> *) (u :: * -> *) b a Source #
Instances
Contravariant (Kan ('Left :: Type -> Wye Type) t u b) Source # | |
Defined in Pandora.Paradigm.Primary.Transformer.Kan (>$<) :: (a -> b0) -> Kan 'Left t u b b0 -> Kan 'Left t u b a Source # contramap :: (a -> b0) -> Kan 'Left t u b b0 -> Kan 'Left t u b a Source # (>$) :: b0 -> Kan 'Left t u b b0 -> Kan 'Left t u b a Source # ($<) :: Kan 'Left t u b b0 -> b0 -> Kan 'Left t u b a Source # full :: Kan 'Left t u b () -> Kan 'Left t u b a Source # (>&<) :: Kan 'Left t u b b0 -> (a -> b0) -> Kan 'Left t u b a Source # (>$$<) :: Contravariant u0 => (a -> b0) -> ((Kan 'Left t u b :. u0) := a) -> (Kan 'Left t u b :. u0) := b0 Source # (>$$$<) :: (Contravariant u0, Contravariant v) => (a -> b0) -> ((Kan 'Left t u b :. (u0 :. v)) := b0) -> (Kan 'Left t u b :. (u0 :. v)) := a Source # (>$$$$<) :: (Contravariant u0, Contravariant v, Contravariant w) => (a -> b0) -> ((Kan 'Left t u b :. (u0 :. (v :. w))) := a) -> (Kan 'Left t u b :. (u0 :. (v :. w))) := b0 Source # (>&&<) :: Contravariant u0 => ((Kan 'Left t u b :. u0) := a) -> (a -> b0) -> (Kan 'Left t u b :. u0) := b0 Source # (>&&&<) :: (Contravariant u0, Contravariant v) => ((Kan 'Left t u b :. (u0 :. v)) := b0) -> (a -> b0) -> (Kan 'Left t u b :. (u0 :. v)) := a Source # (>&&&&<) :: (Contravariant u0, Contravariant v, Contravariant w) => ((Kan 'Left t u b :. (u0 :. (v :. w))) := a) -> (a -> b0) -> (Kan 'Left t u b :. (u0 :. (v :. w))) := b0 Source # | |
Covariant (Kan ('Right :: Type -> Wye Type) t u b) Source # | |
Defined in Pandora.Paradigm.Primary.Transformer.Kan (<$>) :: (a -> b0) -> Kan 'Right t u b a -> Kan 'Right t u b b0 Source # comap :: (a -> b0) -> Kan 'Right t u b a -> Kan 'Right t u b b0 Source # (<$) :: a -> Kan 'Right t u b b0 -> Kan 'Right t u b a Source # ($>) :: Kan 'Right t u b a -> b0 -> Kan 'Right t u b b0 Source # void :: Kan 'Right t u b a -> Kan 'Right t u b () Source # loeb :: Kan 'Right t u b (a <:= Kan 'Right t u b) -> Kan 'Right t u b a Source # (<&>) :: Kan 'Right t u b a -> (a -> b0) -> Kan 'Right t u b b0 Source # (<$$>) :: Covariant u0 => (a -> b0) -> ((Kan 'Right t u b :. u0) := a) -> (Kan 'Right t u b :. u0) := b0 Source # (<$$$>) :: (Covariant u0, Covariant v) => (a -> b0) -> ((Kan 'Right t u b :. (u0 :. v)) := a) -> (Kan 'Right t u b :. (u0 :. v)) := b0 Source # (<$$$$>) :: (Covariant u0, Covariant v, Covariant w) => (a -> b0) -> ((Kan 'Right t u b :. (u0 :. (v :. w))) := a) -> (Kan 'Right t u b :. (u0 :. (v :. w))) := b0 Source # (<&&>) :: Covariant u0 => ((Kan 'Right t u b :. u0) := a) -> (a -> b0) -> (Kan 'Right t u b :. u0) := b0 Source # (<&&&>) :: (Covariant u0, Covariant v) => ((Kan 'Right t u b :. (u0 :. v)) := a) -> (a -> b0) -> (Kan 'Right t u b :. (u0 :. v)) := b0 Source # (<&&&&>) :: (Covariant u0, Covariant v, Covariant w) => ((Kan 'Right t u b :. (u0 :. (v :. w))) := a) -> (a -> b0) -> (Kan 'Right t u b :. (u0 :. (v :. w))) := b0 Source # (.#..) :: (Kan 'Right t u b ~ v a, Category v) => v c d -> ((v a :. v b0) := c) -> (v a :. v b0) := d Source # (.#...) :: (Kan 'Right t u b ~ v a, Kan 'Right t u b ~ v b0, Category v, Covariant (v a), Covariant (v b0)) => v d e -> ((v a :. (v b0 :. v c)) := d) -> (v a :. (v b0 :. v c)) := e Source # (.#....) :: (Kan 'Right t u b ~ v a, Kan 'Right t u b ~ v b0, Kan 'Right t u b ~ v c, Category v, Covariant (v a), Covariant (v b0), Covariant (v c)) => v e f -> ((v a :. (v b0 :. (v c :. v d))) := e) -> (v a :. (v b0 :. (v c :. v d))) := f Source # (<$$) :: Covariant u0 => b0 -> ((Kan 'Right t u b :. u0) := a) -> (Kan 'Right t u b :. u0) := b0 Source # (<$$$) :: (Covariant u0, Covariant v) => b0 -> ((Kan 'Right t u b :. (u0 :. v)) := a) -> (Kan 'Right t u b :. (u0 :. v)) := b0 Source # (<$$$$) :: (Covariant u0, Covariant v, Covariant w) => b0 -> ((Kan 'Right t u b :. (u0 :. (v :. w))) := a) -> (Kan 'Right t u b :. (u0 :. (v :. w))) := b0 Source # ($$>) :: Covariant u0 => ((Kan 'Right t u b :. u0) := a) -> b0 -> (Kan 'Right t u b :. u0) := b0 Source # ($$$>) :: (Covariant u0, Covariant v) => ((Kan 'Right t u b :. (u0 :. v)) := a) -> b0 -> (Kan 'Right t u b :. (u0 :. v)) := b0 Source # ($$$$>) :: (Covariant u0, Covariant v, Covariant w) => ((Kan 'Right t u b :. (u0 :. (v :. w))) := a) -> b0 -> (Kan 'Right t u b :. (u0 :. (v :. w))) := b0 Source # | |
Interpreted (Kan ('Left :: Type -> Wye Type) t u b) Source # | |
Defined in Pandora.Paradigm.Primary.Transformer.Kan 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 # (||=) :: Interpreted u0 => (Primary (Kan 'Left t u b) a -> Primary u0 b0) -> Kan 'Left t u b a -> u0 b0 Source # (=||) :: Interpreted u0 => (Kan 'Left t u b a -> u0 b0) -> Primary (Kan 'Left t u b) a -> Primary u0 b0 Source # (<$||=) :: (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, Covariant k, Interpreted u0) => (Primary (Kan 'Left t u b) a -> Primary u0 b0) -> ((j :. k) := Kan 'Left t u b a) -> (j :. k) := u0 b0 Source # (<$$$||=) :: (Covariant j, Covariant k, Covariant l, Interpreted u0) => (Primary (Kan 'Left t u b) a -> Primary u0 b0) -> ((j :. (k :. l)) := Kan 'Left t u b a) -> (j :. (k :. l)) := u0 b0 Source # (<$$$$||=) :: (Covariant j, Covariant k, Covariant l, Covariant m, Interpreted u0) => (Primary (Kan 'Left t u b) a -> Primary u0 b0) -> ((j :. (k :. (l :. m))) := Kan 'Left t u b a) -> (j :. (k :. (l :. m))) := 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 # (=||$$>) :: (Covariant j, Covariant k, Interpreted u0) => (Kan 'Left t u b a -> u0 b0) -> ((j :. k) := Primary (Kan 'Left t u b) a) -> (j :. k) := Primary u0 b0 Source # (=||$$$>) :: (Covariant j, Covariant k, Covariant l, Interpreted u0) => (Kan 'Left t u b a -> u0 b0) -> ((j :. (k :. l)) := Primary (Kan 'Left t u b) a) -> (j :. (k :. l)) := Primary u0 b0 Source # (=||$$$$>) :: (Covariant j, Covariant k, Covariant l, Covariant m, Interpreted u0) => (Kan 'Left t u b a -> u0 b0) -> ((j :. (k :. (l :. m))) := Primary (Kan 'Left t u b) a) -> (j :. (k :. (l :. m))) := Primary u0 b0 Source # | |
Interpreted (Kan ('Right :: Type -> Wye Type) t u b) Source # | |
Defined in Pandora.Paradigm.Primary.Transformer.Kan 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 # (||=) :: Interpreted u0 => (Primary (Kan 'Right t u b) a -> Primary u0 b0) -> Kan 'Right t u b a -> u0 b0 Source # (=||) :: Interpreted u0 => (Kan 'Right t u b a -> u0 b0) -> Primary (Kan 'Right t u b) a -> Primary u0 b0 Source # (<$||=) :: (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, Covariant k, Interpreted u0) => (Primary (Kan 'Right t u b) a -> Primary u0 b0) -> ((j :. k) := Kan 'Right t u b a) -> (j :. k) := u0 b0 Source # (<$$$||=) :: (Covariant j, Covariant k, Covariant l, Interpreted u0) => (Primary (Kan 'Right t u b) a -> Primary u0 b0) -> ((j :. (k :. l)) := Kan 'Right t u b a) -> (j :. (k :. l)) := u0 b0 Source # (<$$$$||=) :: (Covariant j, Covariant k, Covariant l, Covariant m, Interpreted u0) => (Primary (Kan 'Right t u b) a -> Primary u0 b0) -> ((j :. (k :. (l :. m))) := Kan 'Right t u b a) -> (j :. (k :. (l :. m))) := 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 # (=||$$>) :: (Covariant j, Covariant k, Interpreted u0) => (Kan 'Right t u b a -> u0 b0) -> ((j :. k) := Primary (Kan 'Right t u b) a) -> (j :. k) := Primary u0 b0 Source # (=||$$$>) :: (Covariant j, Covariant k, Covariant l, Interpreted u0) => (Kan 'Right t u b a -> u0 b0) -> ((j :. (k :. l)) := Primary (Kan 'Right t u b) a) -> (j :. (k :. l)) := Primary u0 b0 Source # (=||$$$$>) :: (Covariant j, Covariant k, Covariant l, Covariant m, Interpreted u0) => (Kan 'Right t u b a -> u0 b0) -> ((j :. (k :. (l :. m))) := Primary (Kan 'Right t u b) a) -> (j :. (k :. (l :. m))) := Primary u0 b0 Source # | |
data Kan ('Left :: Type -> Wye Type) t u b a Source # | |
Defined in Pandora.Paradigm.Primary.Transformer.Kan | |
data Kan ('Right :: Type -> Wye Type) t u b a Source # | |
Defined in Pandora.Paradigm.Primary.Transformer.Kan | |
type Primary (Kan ('Left :: Type -> Wye Type) t u b) a Source # | |
Defined in Pandora.Paradigm.Primary.Transformer.Kan | |
type Primary (Kan ('Right :: Type -> Wye Type) t u b) a Source # | |
Defined in Pandora.Paradigm.Primary.Transformer.Kan |