packages feed

comonad 4.2.2 → 4.2.3

raw patch · 5 files changed

+24/−4 lines, 5 filesPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

API changes (from Hackage documentation)

- Control.Comonad: instance Applicative (Cokleisli w a)
- Control.Comonad: instance Comonad ((,) e)
- Control.Comonad: instance Comonad (Tagged * s)
- Control.Comonad: instance Comonad Identity
- Control.Comonad: instance Comonad NonEmpty
- Control.Comonad: instance Comonad Tree
- Control.Comonad: instance Comonad w => Arrow (Cokleisli w)
- Control.Comonad: instance Comonad w => ArrowApply (Cokleisli w)
- Control.Comonad: instance Comonad w => ArrowChoice (Cokleisli w)
- Control.Comonad: instance Comonad w => Category (Cokleisli w)
- Control.Comonad: instance Comonad w => Comonad (IdentityT w)
- Control.Comonad: instance ComonadApply Identity
- Control.Comonad: instance ComonadApply NonEmpty
- Control.Comonad: instance ComonadApply Tree
- Control.Comonad: instance ComonadApply w => ArrowLoop (Cokleisli w)
- Control.Comonad: instance ComonadApply w => ComonadApply (IdentityT w)
- Control.Comonad: instance Functor (Cokleisli w a)
- Control.Comonad: instance Monad (Cokleisli w a)
- Control.Comonad: instance Monoid m => Comonad ((->) m)
- Control.Comonad: instance Monoid m => ComonadApply ((->) m)
- Control.Comonad: instance Semigroup m => ComonadApply ((,) m)
- Control.Comonad: instance Typeable1 w => Typeable2 (Cokleisli w)
- Control.Comonad.Trans.Env: instance (Data e, Typeable1 w, Data (w a), Data a) => Data (EnvT e w a)
- Control.Comonad.Trans.Env: instance (Typeable s, Typeable1 w) => Typeable1 (EnvT s w)
- Control.Comonad.Trans.Env: instance (Typeable s, Typeable1 w, Typeable a) => Typeable (EnvT s w a)
- Control.Comonad.Trans.Store: instance (Typeable s, Typeable1 w) => Typeable1 (StoreT s w)
- Control.Comonad.Trans.Store: instance (Typeable s, Typeable1 w, Typeable a) => Typeable (StoreT s w a)
- Control.Comonad.Trans.Traced: instance (Typeable s, Typeable1 w) => Typeable1 (TracedT s w)
+ Control.Comonad: instance [safe] Applicative (Cokleisli w a)
+ Control.Comonad: instance [safe] Comonad ((,) e)
+ Control.Comonad: instance [safe] Comonad (Arg e)
+ Control.Comonad: instance [safe] Comonad (Tagged s)
+ Control.Comonad: instance [safe] Comonad Identity
+ Control.Comonad: instance [safe] Comonad NonEmpty
+ Control.Comonad: instance [safe] Comonad Tree
+ Control.Comonad: instance [safe] Comonad w => Arrow (Cokleisli w)
+ Control.Comonad: instance [safe] Comonad w => ArrowApply (Cokleisli w)
+ Control.Comonad: instance [safe] Comonad w => ArrowChoice (Cokleisli w)
+ Control.Comonad: instance [safe] Comonad w => Category (Cokleisli w)
+ Control.Comonad: instance [safe] Comonad w => Comonad (IdentityT w)
+ Control.Comonad: instance [safe] ComonadApply Identity
+ Control.Comonad: instance [safe] ComonadApply NonEmpty
+ Control.Comonad: instance [safe] ComonadApply Tree
+ Control.Comonad: instance [safe] ComonadApply w => ArrowLoop (Cokleisli w)
+ Control.Comonad: instance [safe] ComonadApply w => ComonadApply (IdentityT w)
+ Control.Comonad: instance [safe] Functor (Cokleisli w a)
+ Control.Comonad: instance [safe] Monad (Cokleisli w a)
+ Control.Comonad: instance [safe] Monoid m => Comonad ((->) m)
+ Control.Comonad: instance [safe] Monoid m => ComonadApply ((->) m)
+ Control.Comonad: instance [safe] Semigroup m => ComonadApply ((,) m)
+ Control.Comonad: instance [safe] Typeable Cokleisli
+ Control.Comonad.Env.Class: instance ComonadEnv e (Arg e)
+ Control.Comonad.Trans.Env: instance (Data e, Typeable w, Data (w a), Data a) => Data (EnvT e w a)
+ Control.Comonad.Trans.Env: instance Typeable EnvT
+ Control.Comonad.Trans.Store: instance Typeable StoreT
+ Control.Comonad.Trans.Traced: instance Typeable TracedT

Files

.travis.yml view
@@ -16,7 +16,8 @@   - $script   - hlint src --cpp-define HLINT   - packdeps comonad.cabal-  - packunused+  - packunused --ignore-package=transformers-compat+  notifications:   irc:
CHANGELOG.markdown view
@@ -1,3 +1,7 @@+4.2.3+-----+* Add `Comonad` and `ComonadEnv` instances for `Arg e` from `semigroups 0.16.3` which can be used to extract the argmin or argmax.+ 4.2.2 ----- * `contravariant` 1.0 support
comonad.cabal view
@@ -1,6 +1,6 @@ name:          comonad category:      Control, Comonads-version:       4.2.2+version:       4.2.3 license:       BSD3 cabal-version: >= 1.10 license-file:  LICENSE
src/Control/Comonad.hs view
@@ -9,7 +9,7 @@  ----------------------------------------------------------------------------- -- | -- Module      :  Control.Comonad--- Copyright   :  (C) 2008-2014 Edward Kmett,+-- Copyright   :  (C) 2008-2015 Edward Kmett, --                (C) 2004 Dave Menendez -- License     :  BSD-style (see the file LICENSE) --@@ -148,6 +148,16 @@   {-# INLINE duplicate #-}   extract = snd   {-# INLINE extract #-}++#if MIN_VERSION_semigroups(0,16,2)+instance Comonad (Arg e) where+  duplicate w@(Arg a _) = Arg a w+  {-# INLINE duplicate #-}+  extend f w@(Arg a _) = Arg a (f w)+  {-# INLINE extend #-}+  extract (Arg _ b) = b+  {-# INLINE extract #-}+#endif  instance Monoid m => Comonad ((->)m) where   duplicate f m = f . mappend m
src/Control/Comonad/Env/Class.hs view
@@ -9,7 +9,7 @@ ----------------------------------------------------------------------------- -- | -- Module      :  Control.Comonad.Env.Class--- Copyright   :  (C) 2008-2012 Edward Kmett+-- Copyright   :  (C) 2008-2015 Edward Kmett -- License     :  BSD-style (see the file LICENSE) -- -- Maintainer  :  Edward Kmett <ekmett@gmail.com>@@ -41,6 +41,11 @@  instance ComonadEnv e ((,)e) where   ask = fst++#if MIN_VERSION_semigroups(0,16,2)+instance ComonadEnv e (Arg e) where+  ask (Arg e _) = e+#endif  lowerAsk :: (ComonadEnv e w, ComonadTrans t) => t w a -> e lowerAsk = ask . lower