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 +2/−1
- CHANGELOG.markdown +4/−0
- comonad.cabal +1/−1
- src/Control/Comonad.hs +11/−1
- src/Control/Comonad/Env/Class.hs +6/−1
.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