packages feed

hs-functors 0.1.6.0 → 0.1.7.0

raw patch · 2 files changed

+33/−1 lines, 2 filesdep +dualPVP ok

version bump matches the API change (PVP)

Dependencies added: dual

API changes (from Hackage documentation)

+ Control.Semigroupoid: (.) :: Semigroupoid κ => κ b c -> κ a b -> κ a c
+ Control.Semigroupoid: class Semigroupoid κ
+ Control.Semigroupoid: instance Control.Semigroupoid.Semigroupoid (,)
+ Control.Semigroupoid: instance Control.Semigroupoid.Semigroupoid Data.Functor.Const.Const
+ Control.Semigroupoid: instance Control.Semigroupoid.Semigroupoid Data.Tagged.Tagged
+ Control.Semigroupoid: instance forall k (κ :: k -> k -> *). Control.Category.Category κ => Control.Semigroupoid.Semigroupoid κ
+ Control.Semigroupoid: instance forall k (κ :: k -> k -> *). Control.Semigroupoid.Semigroupoid κ => Control.Semigroupoid.Semigroupoid (Control.Category.Dual.Dual κ)

Files

+ Control/Semigroupoid.hs view
@@ -0,0 +1,30 @@+module Control.Semigroupoid where++import Prelude ()+import qualified Control.Category as Base+import Control.Category.Dual (Dual (..))+import Data.Functor.Const (Const (..))+import Data.Tagged (Tagged (..))++-- | 'Category' sans 'id'+--+-- Laws:+--+-- * @f '.' (g '.' h) = (f '.' g) '.' h@+class Semigroupoid κ where+    (.) :: κ b c -> κ a b -> κ a c++instance {-# OVERLAPPABLE #-} Base.Category κ => Semigroupoid κ where+    (.) = (Base..)++instance Semigroupoid (,) where+    (_, c) . (a, _) = (a, c)++instance Semigroupoid Const where+    _ . Const a = Const a++instance Semigroupoid Tagged where+    Tagged c . _ = Tagged c++instance Semigroupoid κ => Semigroupoid (Dual κ) where+    Dual f . Dual g = Dual (g . f)
hs-functors.cabal view
@@ -1,5 +1,5 @@ name:                hs-functors-version:             0.1.6.0+version:             0.1.7.0 synopsis:            Functors from products of Haskell and its dual to Haskell -- description:          license:             BSD3@@ -22,6 +22,7 @@                      , Control.Monad.Free                      , Control.Monad.Morph                      , Control.Monad.Trans.Compose+                     , Control.Semigroupoid                      , Data.Bicotraversable                      , Data.Bifunctor.Biff                      , Data.Bifunctor.Braided@@ -35,6 +36,7 @@   -- other-modules:          -- other-extensions:       build-depends:       base >=4.9 && <5+                     , dual >=0.1.1 && <0.2                      , tagged >=0.8.6 && <0.9                      , transformers >=0.5.3 && <0.6   -- hs-source-dirs: