comonad 1.0.3 → 1.1.0
raw patch · 3 files changed
+13/−2 lines, 3 filesdep ~semigroupsPVP ok
version bump matches the API change (PVP)
Dependency ranges changed: semigroups
API changes (from Hackage documentation)
+ Control.Comonad: instance Comonad NonEmpty
+ Data.Functor.Extend: instance Extend NonEmpty
Files
- Control/Comonad.hs +5/−0
- Data/Functor/Extend.hs +6/−0
- comonad.cabal +2/−2
Control/Comonad.hs view
@@ -34,6 +34,7 @@ import Control.Monad.Trans.Identity import Data.Functor.Identity import Data.Functor.Extend+import Data.List.NonEmpty import Data.Monoid import Data.Typeable import Data.Semigroup@@ -131,6 +132,10 @@ instance Monad (Cokleisli w a) where return = Cokleisli . const Cokleisli k >>= f = Cokleisli $ \w -> runCokleisli (f (k w)) w++instance Comonad NonEmpty where+ extract ~(a :| _) = a+ {- $definition
Data/Functor/Extend.hs view
@@ -24,6 +24,7 @@ import Data.Functor.Identity import Data.Semigroup import Data.List (tails)+import Data.List.NonEmpty (NonEmpty(..), toList) import Data.Sequence (Seq) import qualified Data.Sequence as Seq import Data.Tree@@ -113,6 +114,11 @@ -- If Extend moved to base, consider moving instance into transformers? instance Extend w => Extend (IdentityT w) where extend f (IdentityT m) = IdentityT (extend (f . IdentityT) m)++instance Extend NonEmpty where+ extend f w@ ~(_ :| aas) = f w :| case aas of+ [] -> []+ (a:as) -> toList (extend f (a :| as)) {- $definition
comonad.cabal view
@@ -1,6 +1,6 @@ name: comonad category: Control, Comonads-version: 1.0.3+version: 1.1.0 license: BSD3 cabal-version: >= 1.6 license-file: LICENSE@@ -22,7 +22,7 @@ base >= 4 && < 4.4, transformers >= 0.2.0 && < 0.3, containers >= 0.3.0.0 && < 0.5,- semigroups >= 0.4 && < 0.5+ semigroups >= 0.5 && < 0.6 exposed-modules: Control.Comonad