comonad 4.2.5 → 4.2.6
raw patch · 15 files changed
+34/−20 lines, 15 filesPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
API changes (from Hackage documentation)
- Control.Comonad.Env.Class: instance (ComonadEnv e w, Monoid m) => ComonadEnv e (TracedT m w)
- Control.Comonad.Env.Class: instance Comonad w => ComonadEnv e (EnvT e w)
- Control.Comonad.Env.Class: instance ComonadEnv e ((,) e)
- Control.Comonad.Env.Class: instance ComonadEnv e (Arg e)
- Control.Comonad.Env.Class: instance ComonadEnv e w => ComonadEnv e (IdentityT w)
- Control.Comonad.Env.Class: instance ComonadEnv e w => ComonadEnv e (StoreT t w)
- Control.Comonad.Store.Class: instance (ComonadStore s w, Monoid m) => ComonadStore s (TracedT m w)
- Control.Comonad.Store.Class: instance Comonad w => ComonadStore s (StoreT s w)
- Control.Comonad.Store.Class: instance ComonadStore s w => ComonadStore s (EnvT e w)
- Control.Comonad.Store.Class: instance ComonadStore s w => ComonadStore s (IdentityT w)
- Control.Comonad.Traced.Class: instance (Comonad w, Monoid m) => ComonadTraced m (TracedT m w)
- Control.Comonad.Traced.Class: instance ComonadTraced m w => ComonadTraced m (EnvT e w)
- Control.Comonad.Traced.Class: instance ComonadTraced m w => ComonadTraced m (IdentityT w)
- Control.Comonad.Traced.Class: instance ComonadTraced m w => ComonadTraced m (StoreT s w)
- Control.Comonad.Trans.Class: instance ComonadTrans IdentityT
- Control.Comonad.Trans.Env: instance (Data e, Typeable w, Data (w a), Data a) => Data (EnvT e w a)
- Control.Comonad.Trans.Env: instance (Semigroup e, ComonadApply w) => ComonadApply (EnvT e w)
- Control.Comonad.Trans.Env: instance Comonad w => Comonad (EnvT e w)
- Control.Comonad.Trans.Env: instance ComonadHoist (EnvT e)
- Control.Comonad.Trans.Env: instance ComonadTrans (EnvT e)
- Control.Comonad.Trans.Env: instance Foldable w => Foldable (EnvT e w)
- Control.Comonad.Trans.Env: instance Functor w => Functor (EnvT e w)
- Control.Comonad.Trans.Env: instance Traversable w => Traversable (EnvT e w)
- Control.Comonad.Trans.Env: instance Typeable EnvT
- Control.Comonad.Trans.Store: instance (Applicative w, Monoid s) => Applicative (StoreT s w)
- Control.Comonad.Trans.Store: instance (ComonadApply w, Semigroup s) => ComonadApply (StoreT s w)
- Control.Comonad.Trans.Store: instance Comonad w => Comonad (StoreT s w)
- Control.Comonad.Trans.Store: instance ComonadHoist (StoreT s)
- Control.Comonad.Trans.Store: instance ComonadTrans (StoreT s)
- Control.Comonad.Trans.Store: instance Functor w => Functor (StoreT s w)
- Control.Comonad.Trans.Store: instance Typeable StoreT
- Control.Comonad.Trans.Traced: instance (Comonad w, Monoid m) => Comonad (TracedT m w)
- Control.Comonad.Trans.Traced: instance (ComonadApply w, Monoid m) => ComonadApply (TracedT m w)
- Control.Comonad.Trans.Traced: instance Applicative w => Applicative (TracedT m w)
- Control.Comonad.Trans.Traced: instance Distributive w => Distributive (TracedT m w)
- Control.Comonad.Trans.Traced: instance Functor w => Functor (TracedT m w)
- Control.Comonad.Trans.Traced: instance Monoid m => ComonadHoist (TracedT m)
- Control.Comonad.Trans.Traced: instance Monoid m => ComonadTrans (TracedT m)
- Control.Comonad.Trans.Traced: instance Typeable TracedT
- Data.Functor.Coproduct: instance (Comonad f, Comonad g) => Comonad (Coproduct f g)
- Data.Functor.Coproduct: instance (Contravariant f, Contravariant g) => Contravariant (Coproduct f g)
- Data.Functor.Coproduct: instance (Eq (f a), Eq (g a)) => Eq (Coproduct f g a)
- Data.Functor.Coproduct: instance (Foldable f, Foldable g) => Foldable (Coproduct f g)
- Data.Functor.Coproduct: instance (Functor f, Functor g) => Functor (Coproduct f g)
- Data.Functor.Coproduct: instance (Ord (f a), Ord (g a)) => Ord (Coproduct f g a)
- Data.Functor.Coproduct: instance (Read (f a), Read (g a)) => Read (Coproduct f g a)
- Data.Functor.Coproduct: instance (Show (f a), Show (g a)) => Show (Coproduct f g a)
- Data.Functor.Coproduct: instance (Traversable f, Traversable g) => Traversable (Coproduct f g)
+ Control.Comonad.Env.Class: instance [safe] (ComonadEnv e w, Monoid m) => ComonadEnv e (TracedT m w)
+ Control.Comonad.Env.Class: instance [safe] Comonad w => ComonadEnv e (EnvT e w)
+ Control.Comonad.Env.Class: instance [safe] ComonadEnv e ((,) e)
+ Control.Comonad.Env.Class: instance [safe] ComonadEnv e (Arg e)
+ Control.Comonad.Env.Class: instance [safe] ComonadEnv e w => ComonadEnv e (IdentityT w)
+ Control.Comonad.Env.Class: instance [safe] ComonadEnv e w => ComonadEnv e (StoreT t w)
+ Control.Comonad.Store.Class: instance [safe] (ComonadStore s w, Monoid m) => ComonadStore s (TracedT m w)
+ Control.Comonad.Store.Class: instance [safe] Comonad w => ComonadStore s (StoreT s w)
+ Control.Comonad.Store.Class: instance [safe] ComonadStore s w => ComonadStore s (EnvT e w)
+ Control.Comonad.Store.Class: instance [safe] ComonadStore s w => ComonadStore s (IdentityT w)
+ Control.Comonad.Traced.Class: instance [safe] (Comonad w, Monoid m) => ComonadTraced m (TracedT m w)
+ Control.Comonad.Traced.Class: instance [safe] ComonadTraced m w => ComonadTraced m (EnvT e w)
+ Control.Comonad.Traced.Class: instance [safe] ComonadTraced m w => ComonadTraced m (IdentityT w)
+ Control.Comonad.Traced.Class: instance [safe] ComonadTraced m w => ComonadTraced m (StoreT s w)
+ Control.Comonad.Traced.Class: instance [safe] Monoid m => ComonadTraced m ((->) m)
+ Control.Comonad.Trans.Class: instance [safe] ComonadTrans IdentityT
+ Control.Comonad.Trans.Env: instance [safe] (Data e, Typeable w, Data (w a), Data a) => Data (EnvT e w a)
+ Control.Comonad.Trans.Env: instance [safe] (Semigroup e, ComonadApply w) => ComonadApply (EnvT e w)
+ Control.Comonad.Trans.Env: instance [safe] Comonad w => Comonad (EnvT e w)
+ Control.Comonad.Trans.Env: instance [safe] ComonadHoist (EnvT e)
+ Control.Comonad.Trans.Env: instance [safe] ComonadTrans (EnvT e)
+ Control.Comonad.Trans.Env: instance [safe] Foldable w => Foldable (EnvT e w)
+ Control.Comonad.Trans.Env: instance [safe] Functor w => Functor (EnvT e w)
+ Control.Comonad.Trans.Env: instance [safe] Traversable w => Traversable (EnvT e w)
+ Control.Comonad.Trans.Env: instance [safe] Typeable EnvT
+ Control.Comonad.Trans.Store: instance [safe] (Applicative w, Monoid s) => Applicative (StoreT s w)
+ Control.Comonad.Trans.Store: instance [safe] (ComonadApply w, Semigroup s) => ComonadApply (StoreT s w)
+ Control.Comonad.Trans.Store: instance [safe] Comonad w => Comonad (StoreT s w)
+ Control.Comonad.Trans.Store: instance [safe] ComonadHoist (StoreT s)
+ Control.Comonad.Trans.Store: instance [safe] ComonadTrans (StoreT s)
+ Control.Comonad.Trans.Store: instance [safe] Functor w => Functor (StoreT s w)
+ Control.Comonad.Trans.Store: instance [safe] Typeable StoreT
+ Control.Comonad.Trans.Traced: instance [safe] (Comonad w, Monoid m) => Comonad (TracedT m w)
+ Control.Comonad.Trans.Traced: instance [safe] (ComonadApply w, Monoid m) => ComonadApply (TracedT m w)
+ Control.Comonad.Trans.Traced: instance [safe] Applicative w => Applicative (TracedT m w)
+ Control.Comonad.Trans.Traced: instance [safe] Distributive w => Distributive (TracedT m w)
+ Control.Comonad.Trans.Traced: instance [safe] Functor w => Functor (TracedT m w)
+ Control.Comonad.Trans.Traced: instance [safe] Monoid m => ComonadHoist (TracedT m)
+ Control.Comonad.Trans.Traced: instance [safe] Monoid m => ComonadTrans (TracedT m)
+ Control.Comonad.Trans.Traced: instance [safe] Typeable TracedT
+ Data.Functor.Coproduct: instance [safe] (Comonad f, Comonad g) => Comonad (Coproduct f g)
+ Data.Functor.Coproduct: instance [safe] (Contravariant f, Contravariant g) => Contravariant (Coproduct f g)
+ Data.Functor.Coproduct: instance [safe] (Eq (f a), Eq (g a)) => Eq (Coproduct f g a)
+ Data.Functor.Coproduct: instance [safe] (Foldable f, Foldable g) => Foldable (Coproduct f g)
+ Data.Functor.Coproduct: instance [safe] (Functor f, Functor g) => Functor (Coproduct f g)
+ Data.Functor.Coproduct: instance [safe] (Ord (f a), Ord (g a)) => Ord (Coproduct f g a)
+ Data.Functor.Coproduct: instance [safe] (Read (f a), Read (g a)) => Read (Coproduct f g a)
+ Data.Functor.Coproduct: instance [safe] (Show (f a), Show (g a)) => Show (Coproduct f g a)
+ Data.Functor.Coproduct: instance [safe] (Traversable f, Traversable g) => Traversable (Coproduct f g)
Files
- CHANGELOG.markdown +7/−0
- comonad.cabal +1/−1
- src/Control/Comonad.hs +8/−1
- src/Control/Comonad/Env.hs +1/−1
- src/Control/Comonad/Env/Class.hs +1/−1
- src/Control/Comonad/Identity.hs +1/−1
- src/Control/Comonad/Store.hs +1/−1
- src/Control/Comonad/Store/Class.hs +1/−1
- src/Control/Comonad/Traced.hs +1/−1
- src/Control/Comonad/Traced/Class.hs +4/−1
- src/Control/Comonad/Trans/Class.hs +1/−1
- src/Control/Comonad/Trans/Env.hs +2/−3
- src/Control/Comonad/Trans/Store.hs +2/−3
- src/Control/Comonad/Trans/Traced.hs +2/−3
- src/Data/Functor/Coproduct.hs +1/−1
CHANGELOG.markdown view
@@ -1,6 +1,13 @@+4.2.6+-----+* Re-export `(Data.Functor.$>)` rather than supply our own on GHC 7.8++* Better SafeHaskell support.+* `instance Monoid m => ComonadTraced m ((->) m)`+ 4.2.5 ------- * Added a `MINIMAL` pragma to `Comonad`.+* Added `DefaultSignatures` support for `ComonadApply` on GHC 7.2+ 4.2.4 -----
comonad.cabal view
@@ -1,6 +1,6 @@ name: comonad category: Control, Comonads-version: 4.2.5+version: 4.2.6 license: BSD3 cabal-version: >= 1.10 license-file: LICENSE
src/Control/Comonad.hs view
@@ -41,6 +41,7 @@ ) where -- import _everything_+import Data.Functor import Control.Applicative import Control.Arrow import Control.Category@@ -63,7 +64,7 @@ import Data.Tree #endif -infixl 4 <@, @>, <@@>, <@>, $>+infixl 4 <@, @>, <@@>, <@> infixl 1 =>> infixr 1 <<=, =<=, =>= @@ -387,6 +388,12 @@ return = Cokleisli . const Cokleisli k >>= f = Cokleisli $ \w -> runCokleisli (f (k w)) w +#if !(MIN_VERSION_base(4,7,0))++infixl 4 $>+ -- | Replace the contents of a functor uniformly with a constant value. ($>) :: Functor f => f a -> b -> f b ($>) = flip (<$)++#endif
src/Control/Comonad/Env.hs view
@@ -1,6 +1,6 @@ {-# LANGUAGE CPP #-} #if defined(__GLASGOW_HASKELL__) && __GLASGOW_HASKELL__ >= 702-{-# LANGUAGE Trustworthy #-}+{-# LANGUAGE Safe #-} #endif ----------------------------------------------------------------------------- -- |
src/Control/Comonad/Env/Class.hs view
@@ -4,7 +4,7 @@ {-# LANGUAGE UndecidableInstances #-} {-# LANGUAGE CPP #-} #if defined(__GLASGOW_HASKELL__) && __GLASGOW_HASKELL__ >= 702-{-# LANGUAGE Trustworthy #-}+{-# LANGUAGE Safe #-} #endif ----------------------------------------------------------------------------- -- |
src/Control/Comonad/Identity.hs view
@@ -1,6 +1,6 @@ {-# LANGUAGE CPP #-} #if defined(__GLASGOW_HASKELL__) && __GLASGOW_HASKELL__ >= 702-{-# LANGUAGE Trustworthy #-}+{-# LANGUAGE Safe #-} #endif ----------------------------------------------------------------------------- -- |
src/Control/Comonad/Store.hs view
@@ -1,6 +1,6 @@ {-# LANGUAGE CPP #-} #if defined(__GLASGOW_HASKELL__) && __GLASGOW_HASKELL__ >= 702-{-# LANGUAGE Trustworthy #-}+{-# LANGUAGE Safe #-} #endif ----------------------------------------------------------------------------- -- |
src/Control/Comonad/Store/Class.hs view
@@ -4,7 +4,7 @@ {-# LANGUAGE UndecidableInstances #-} {-# LANGUAGE CPP #-} #if defined(__GLASGOW_HASKELL__) && __GLASGOW_HASKELL__ >= 702-{-# LANGUAGE Trustworthy #-}+{-# LANGUAGE Safe #-} #endif ----------------------------------------------------------------------------- -- |
src/Control/Comonad/Traced.hs view
@@ -1,6 +1,6 @@ {-# LANGUAGE CPP #-} #if defined(__GLASGOW_HASKELL__) && __GLASGOW_HASKELL__ >= 702-{-# LANGUAGE Trustworthy #-}+{-# LANGUAGE Safe #-} #endif ----------------------------------------------------------------------------- -- |
src/Control/Comonad/Traced/Class.hs view
@@ -4,7 +4,7 @@ {-# LANGUAGE UndecidableInstances #-} {-# LANGUAGE CPP #-} #if defined(__GLASGOW_HASKELL__) && __GLASGOW_HASKELL__ >= 702-{-# LANGUAGE Trustworthy #-}+{-# LANGUAGE Safe #-} #endif ----------------------------------------------------------------------------- -- |@@ -38,6 +38,9 @@ instance (Comonad w, Monoid m) => ComonadTraced m (Traced.TracedT m w) where trace = Traced.trace++instance Monoid m => ComonadTraced m ((->) m) where+ trace m f = f m lowerTrace :: (ComonadTrans t, ComonadTraced m w) => m -> t w a -> a lowerTrace m = trace m . lower
src/Control/Comonad/Trans/Class.hs view
@@ -1,6 +1,6 @@ {-# LANGUAGE CPP #-} #if defined(__GLASGOW_HASKELL__) && __GLASGOW_HASKELL__ >= 702-{-# LANGUAGE Trustworthy #-}+{-# LANGUAGE Safe #-} #endif ----------------------------------------------------------------------------- -- |
src/Control/Comonad/Trans/Env.hs view
@@ -1,9 +1,8 @@ {-# LANGUAGE CPP #-} {-# LANGUAGE FlexibleContexts #-} #if __GLASGOW_HASKELL__ >= 707-{-# LANGUAGE StandaloneDeriving, DeriveDataTypeable #-}-#endif-#if defined(__GLASGOW_HASKELL__) && __GLASGOW_HASKELL__ >= 702+{-# LANGUAGE StandaloneDeriving, DeriveDataTypeable, Safe #-}+#elif __GLASGOW_HASKELL__ >= 702 {-# LANGUAGE Trustworthy #-} #endif -----------------------------------------------------------------------------
src/Control/Comonad/Trans/Store.hs view
@@ -1,8 +1,7 @@ {-# LANGUAGE CPP #-} #if __GLASGOW_HASKELL__ >= 707-{-# LANGUAGE StandaloneDeriving, DeriveDataTypeable #-}-#endif-#if defined(__GLASGOW_HASKELL__) && __GLASGOW_HASKELL__ >= 702+{-# LANGUAGE StandaloneDeriving, DeriveDataTypeable, Safe #-}+#elif __GLASGOW_HASKELL__ >= 702 {-# LANGUAGE Trustworthy #-} #endif -----------------------------------------------------------------------------
src/Control/Comonad/Trans/Traced.hs view
@@ -1,8 +1,7 @@ {-# LANGUAGE CPP #-} #if __GLASGOW_HASKELL__ >= 707-{-# LANGUAGE StandaloneDeriving, DeriveDataTypeable #-}-#endif-#if defined(__GLASGOW_HASKELL__) && __GLASGOW_HASKELL__ >= 702+{-# LANGUAGE StandaloneDeriving, DeriveDataTypeable, Safe #-}+#elif __GLASGOW_HASKELL__ >= 702 {-# LANGUAGE Trustworthy #-} #endif -----------------------------------------------------------------------------
src/Data/Functor/Coproduct.hs view
@@ -1,6 +1,6 @@ {-# LANGUAGE CPP #-} #if defined(__GLASGOW_HASKELL__) && __GLASGOW_HASKELL__ >= 702-{-# LANGUAGE Trustworthy #-}+{-# LANGUAGE Safe #-} #endif ----------------------------------------------------------------------------- -- |