data-category 0.8.1 → 0.8.2
raw patch · 4 files changed
+13/−6 lines, 4 filesPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
API changes (from Hackage documentation)
- Data.Category: type Kind (cat :: k -> k -> *) = k
- Data.Category.Coproduct: instance (Data.Category.Functor.Functor f, Data.Category.Functor.Dom f GHC.Types.~ (Data.Category.Op c Data.Category.Product.:**: d), Data.Category.Functor.Cod f GHC.Types.~ (->), Data.Category.Category c, Data.Category.Category d) => Data.Category.Category (Data.Category.Coproduct.Cograph f)
- Data.Category.Coproduct: instance (Data.Category.Functor.Functor f, Data.Category.Functor.Functor g, Data.Category.Functor.Dom f GHC.Types.~ Data.Category.Functor.Dom g, Data.Category.Functor.Cod f GHC.Types.~ Data.Category.Functor.Cod g) => Data.Category.Functor.Functor (Data.Category.Coproduct.NatAsFunctor f g)
- Data.Category.Dialg: instance (Data.Category.Functor.Functor m, Data.Category.Functor.Dom m GHC.Types.~ k, Data.Category.Functor.Cod m GHC.Types.~ k) => Data.Category.Functor.Functor (Data.Category.Dialg.ForgetAlg m)
- Data.Category.Dialg: instance (Data.Category.Functor.Functor m, Data.Category.Functor.Dom m GHC.Types.~ k, Data.Category.Functor.Cod m GHC.Types.~ k) => Data.Category.Functor.Functor (Data.Category.Dialg.FreeAlg m)
- Data.Category.Enriched: instance (Data.Category.Enriched.ECategory (Data.Category.Enriched.ECod g), Data.Category.Enriched.ECategory (Data.Category.Enriched.EDom h), Data.Category.Enriched.V (Data.Category.Enriched.EDom h) GHC.Types.~ Data.Category.Enriched.V (Data.Category.Enriched.ECod g), Data.Category.Enriched.ECod h GHC.Types.~ Data.Category.Enriched.EDom g) => Data.Category.Enriched.EFunctor (g Data.Category.Enriched.:.: h)
- Data.Category.Enriched: instance (Data.Category.Enriched.ECategory c1, Data.Category.Enriched.ECategory c2, Data.Category.Enriched.V c1 GHC.Types.~ Data.Category.Enriched.V c2) => Data.Category.Enriched.EFunctor (Data.Category.Enriched.Const c1 c2 x)
- Data.Category.Enriched: instance (Data.Category.Enriched.ECategory k1, Data.Category.Enriched.ECategory k2, Data.Category.Enriched.V k1 GHC.Types.~ Data.Category.Enriched.V k2) => Data.Category.Enriched.ECategory (k1 Data.Category.Enriched.:<>: k2)
- Data.Category.Enriched: instance (Data.Category.Enriched.EFunctor f1, Data.Category.Enriched.EFunctor f2, Data.Category.Enriched.V (Data.Category.Enriched.ECod f1) GHC.Types.~ Data.Category.Enriched.V (Data.Category.Enriched.ECod f2)) => Data.Category.Enriched.EFunctor (f1 Data.Category.Enriched.:<*>: f2)
- Data.Category.Enriched: instance (Data.Category.Enriched.HasEnds (Data.Category.Enriched.V a), Data.Category.Enriched.V a GHC.Types.~ Data.Category.Enriched.V b) => Data.Category.Enriched.ECategory (Data.Category.Enriched.FunCat a b)
- Data.Category.Fix: instance (Data.Category.Monoidal.TensorProduct t, Data.Category.Functor.Cod t GHC.Types.~ f (Data.Category.Fix.Fix f)) => Data.Category.Monoidal.TensorProduct (Data.Category.Fix.WrapTensor (Data.Category.Fix.Fix f) t)
- Data.Category.Kleisli: instance (Data.Category.Functor.Functor m, Data.Category.Functor.Dom m GHC.Types.~ k, Data.Category.Functor.Cod m GHC.Types.~ k) => Data.Category.Functor.Functor (Data.Category.Kleisli.KleisliForget m)
- Data.Category.Kleisli: instance (Data.Category.Functor.Functor m, Data.Category.Functor.Dom m GHC.Types.~ k, Data.Category.Functor.Cod m GHC.Types.~ k) => Data.Category.Functor.Functor (Data.Category.Kleisli.KleisliFree m)
- Data.Category.Yoneda: instance (Data.Category.Category k, Data.Category.Functor.Functor f, Data.Category.Functor.Dom f GHC.Types.~ Data.Category.Op k, Data.Category.Functor.Cod f GHC.Types.~ (->)) => Data.Category.Functor.Functor (Data.Category.Yoneda.Yoneda k f)
+ Data.Category: type family Kind (cat :: k -> k -> *) :: *
+ Data.Category.Coproduct: instance (Data.Category.Functor.Functor f, Data.Category.Functor.Dom f Data.Type.Equality.~ (Data.Category.Op c Data.Category.Product.:**: d), Data.Category.Functor.Cod f Data.Type.Equality.~ (->), Data.Category.Category c, Data.Category.Category d) => Data.Category.Category (Data.Category.Coproduct.Cograph f)
+ Data.Category.Coproduct: instance (Data.Category.Functor.Functor f, Data.Category.Functor.Functor g, Data.Category.Functor.Dom f Data.Type.Equality.~ Data.Category.Functor.Dom g, Data.Category.Functor.Cod f Data.Type.Equality.~ Data.Category.Functor.Cod g) => Data.Category.Functor.Functor (Data.Category.Coproduct.NatAsFunctor f g)
+ Data.Category.Dialg: instance (Data.Category.Functor.Functor m, Data.Category.Functor.Dom m Data.Type.Equality.~ k, Data.Category.Functor.Cod m Data.Type.Equality.~ k) => Data.Category.Functor.Functor (Data.Category.Dialg.ForgetAlg m)
+ Data.Category.Dialg: instance (Data.Category.Functor.Functor m, Data.Category.Functor.Dom m Data.Type.Equality.~ k, Data.Category.Functor.Cod m Data.Type.Equality.~ k) => Data.Category.Functor.Functor (Data.Category.Dialg.FreeAlg m)
+ Data.Category.Enriched: instance (Data.Category.Enriched.ECategory (Data.Category.Enriched.ECod g), Data.Category.Enriched.ECategory (Data.Category.Enriched.EDom h), Data.Category.Enriched.V (Data.Category.Enriched.EDom h) Data.Type.Equality.~ Data.Category.Enriched.V (Data.Category.Enriched.ECod g), Data.Category.Enriched.ECod h Data.Type.Equality.~ Data.Category.Enriched.EDom g) => Data.Category.Enriched.EFunctor (g Data.Category.Enriched.:.: h)
+ Data.Category.Enriched: instance (Data.Category.Enriched.ECategory c1, Data.Category.Enriched.ECategory c2, Data.Category.Enriched.V c1 Data.Type.Equality.~ Data.Category.Enriched.V c2) => Data.Category.Enriched.EFunctor (Data.Category.Enriched.Const c1 c2 x)
+ Data.Category.Enriched: instance (Data.Category.Enriched.ECategory k1, Data.Category.Enriched.ECategory k2, Data.Category.Enriched.V k1 Data.Type.Equality.~ Data.Category.Enriched.V k2) => Data.Category.Enriched.ECategory (k1 Data.Category.Enriched.:<>: k2)
+ Data.Category.Enriched: instance (Data.Category.Enriched.EFunctor f1, Data.Category.Enriched.EFunctor f2, Data.Category.Enriched.V (Data.Category.Enriched.ECod f1) Data.Type.Equality.~ Data.Category.Enriched.V (Data.Category.Enriched.ECod f2)) => Data.Category.Enriched.EFunctor (f1 Data.Category.Enriched.:<*>: f2)
+ Data.Category.Enriched: instance (Data.Category.Enriched.HasEnds (Data.Category.Enriched.V a), Data.Category.Enriched.V a Data.Type.Equality.~ Data.Category.Enriched.V b) => Data.Category.Enriched.ECategory (Data.Category.Enriched.FunCat a b)
+ Data.Category.Fix: instance (Data.Category.Monoidal.TensorProduct t, Data.Category.Functor.Cod t Data.Type.Equality.~ f (Data.Category.Fix.Fix f)) => Data.Category.Monoidal.TensorProduct (Data.Category.Fix.WrapTensor (Data.Category.Fix.Fix f) t)
+ Data.Category.Kleisli: instance (Data.Category.Functor.Functor m, Data.Category.Functor.Dom m Data.Type.Equality.~ k, Data.Category.Functor.Cod m Data.Type.Equality.~ k) => Data.Category.Functor.Functor (Data.Category.Kleisli.KleisliForget m)
+ Data.Category.Kleisli: instance (Data.Category.Functor.Functor m, Data.Category.Functor.Dom m Data.Type.Equality.~ k, Data.Category.Functor.Cod m Data.Type.Equality.~ k) => Data.Category.Functor.Functor (Data.Category.Kleisli.KleisliFree m)
+ Data.Category.Yoneda: instance (Data.Category.Category k, Data.Category.Functor.Functor f, Data.Category.Functor.Dom f Data.Type.Equality.~ Data.Category.Op k, Data.Category.Functor.Cod f Data.Type.Equality.~ (->)) => Data.Category.Functor.Functor (Data.Category.Yoneda.Yoneda k f)
- Data.Category.CartesianClosed: ExpFunctor :: ExpFunctor (k :: * -> * -> *)
+ Data.Category.CartesianClosed: ExpFunctor :: ExpFunctor
- Data.Category.Coproduct: CodiagCoprod :: CodiagCoprod (k :: * -> * -> *)
+ Data.Category.Coproduct: CodiagCoprod :: CodiagCoprod
- Data.Category.Coproduct: Cotuple1 :: Obj c1 a -> Cotuple1 (c1 :: * -> * -> *) (c2 :: * -> * -> *) a
+ Data.Category.Coproduct: Cotuple1 :: Obj c1 a -> Cotuple1 a
- Data.Category.Coproduct: Cotuple2 :: Obj c2 a -> Cotuple2 (c1 :: * -> * -> *) (c2 :: * -> * -> *) a
+ Data.Category.Coproduct: Cotuple2 :: Obj c2 a -> Cotuple2 a
- Data.Category.Coproduct: Inj1 :: Inj1 (c1 :: * -> * -> *) (c2 :: * -> * -> *)
+ Data.Category.Coproduct: Inj1 :: Inj1
- Data.Category.Coproduct: Inj2 :: Inj2 (c1 :: * -> * -> *) (c2 :: * -> * -> *)
+ Data.Category.Coproduct: Inj2 :: Inj2
- Data.Category.Enriched: DiagProd :: DiagProd (k :: * -> * -> *)
+ Data.Category.Enriched: DiagProd :: DiagProd
- Data.Category.Enriched: EHom :: EHom (k :: * -> * -> *)
+ Data.Category.Enriched: EHom :: EHom
- Data.Category.Enriched: EndFunctor :: EndFunctor (k :: * -> * -> *)
+ Data.Category.Enriched: EndFunctor :: EndFunctor
- Data.Category.Enriched: Id :: Id (k :: * -> * -> *)
+ Data.Category.Enriched: Id :: Id
- Data.Category.Enriched: Y :: Y (k :: * -> * -> *)
+ Data.Category.Enriched: Y :: Y
- Data.Category.Fix: Unwrap :: Unwrap (f :: * -> * -> *)
+ Data.Category.Fix: Unwrap :: Unwrap
- Data.Category.Fix: Wrap :: Wrap (f :: * -> * -> *)
+ Data.Category.Fix: Wrap :: Wrap
- Data.Category.Functor: DiagProd :: DiagProd (k :: * -> * -> *)
+ Data.Category.Functor: DiagProd :: DiagProd
- Data.Category.Functor: Hom :: Hom (k :: * -> * -> *)
+ Data.Category.Functor: Hom :: Hom
- Data.Category.Functor: Id :: Id (k :: * -> * -> *)
+ Data.Category.Functor: Id :: Id
- Data.Category.Functor: OpOp :: OpOp (k :: * -> * -> *)
+ Data.Category.Functor: OpOp :: OpOp
- Data.Category.Functor: OpOpInv :: OpOpInv (k :: * -> * -> *)
+ Data.Category.Functor: OpOpInv :: OpOpInv
- Data.Category.Functor: Proj1 :: Proj1 (c1 :: * -> * -> *) (c2 :: * -> * -> *)
+ Data.Category.Functor: Proj1 :: Proj1
- Data.Category.Functor: Proj2 :: Proj2 (c1 :: * -> * -> *) (c2 :: * -> * -> *)
+ Data.Category.Functor: Proj2 :: Proj2
- Data.Category.Limit: ColimitFunctor :: ColimitFunctor (j :: * -> * -> *) (k :: * -> * -> *)
+ Data.Category.Limit: ColimitFunctor :: ColimitFunctor
- Data.Category.Limit: CoproductFunctor :: CoproductFunctor (k :: * -> * -> *)
+ Data.Category.Limit: CoproductFunctor :: CoproductFunctor
- Data.Category.Limit: LimitFunctor :: LimitFunctor (j :: * -> * -> *) (k :: * -> * -> *)
+ Data.Category.Limit: LimitFunctor :: LimitFunctor
- Data.Category.Limit: ProductFunctor :: ProductFunctor (k :: * -> * -> *)
+ Data.Category.Limit: ProductFunctor :: ProductFunctor
- Data.Category.NaturalTransformation: Apply :: Apply (c1 :: * -> * -> *) (c2 :: * -> * -> *)
+ Data.Category.NaturalTransformation: Apply :: Apply
- Data.Category.NaturalTransformation: FunctorCompose :: FunctorCompose (c :: * -> * -> *) (d :: * -> * -> *) (e :: * -> * -> *)
+ Data.Category.NaturalTransformation: FunctorCompose :: FunctorCompose
- Data.Category.NaturalTransformation: Tuple :: Tuple (c1 :: * -> * -> *) (c2 :: * -> * -> *)
+ Data.Category.NaturalTransformation: Tuple :: Tuple
- Data.Category.Void: Magic :: Magic (k :: * -> * -> *)
+ Data.Category.Void: Magic :: Magic
- Data.Category.Yoneda: Yoneda :: Yoneda (k :: * -> * -> *) f
+ Data.Category.Yoneda: Yoneda :: Yoneda f
Files
- Data/Category.hs +2/−1
- Data/Category/Fix.hs +8/−2
- Data/Category/Limit.hs +2/−2
- data-category.cabal +1/−1
Data/Category.hs view
@@ -54,4 +54,5 @@ (Op a) . (Op b) = Op (b . a) -type Kind (cat :: k -> k -> *) = k+type family Kind (cat :: k -> k -> *) :: * where+ Kind (cat :: k -> k -> *) = k
Data/Category/Fix.hs view
@@ -26,10 +26,16 @@ deriving instance Category (f (Fix f)) => Category (Fix f) -- | @Fix f@ inherits its (co)limits from @f (Fix f)@.-deriving instance HasInitialObject (f (Fix f)) => HasInitialObject (Fix f)+instance HasInitialObject (f (Fix f)) => HasInitialObject (Fix f) where+ type InitialObject (Fix f) = InitialObject (f (Fix f))+ initialObject = Fix initialObject+ initialize (Fix a) = Fix (initialize a) -- | @Fix f@ inherits its (co)limits from @f (Fix f)@.-deriving instance HasTerminalObject (f (Fix f)) => HasTerminalObject (Fix f)+instance HasTerminalObject (f (Fix f)) => HasTerminalObject (Fix f) where+ type TerminalObject (Fix f) = TerminalObject (f (Fix f))+ terminalObject = Fix terminalObject+ terminate (Fix a) = Fix (terminate a) -- | @Fix f@ inherits its (co)limits from @f (Fix f)@. instance HasBinaryProducts (f (Fix f)) => HasBinaryProducts (Fix f) where
Data/Category/Limit.hs view
@@ -57,12 +57,12 @@ , leftAdjointPreservesColimits , leftAdjointPreservesColimitsInv - -- ** Limits of type Void+ -- * Limits of type Void , HasTerminalObject(..) , HasInitialObject(..) , Zero - -- ** Limits of type Pair+ -- * Limits of type Pair , HasBinaryProducts(..) , ProductFunctor(..) , (:*:)(..)
data-category.cabal view
@@ -1,5 +1,5 @@ name: data-category-version: 0.8.1+version: 0.8.2 synopsis: Category theory description: Data-category is a collection of categories, and some categorical constructions on them.