packages feed

comonad 4.2 → 4.2.1

raw patch · 10 files changed

+78/−19 lines, 10 filesdep +transformers-compatPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

Dependencies added: transformers-compat

API changes (from Hackage documentation)

- Control.Comonad.Trans.Identity: IdentityT :: m a -> IdentityT a
+ Control.Comonad.Trans.Identity: IdentityT :: f a -> IdentityT a
- Control.Comonad.Trans.Identity: newtype IdentityT (m :: * -> *) a :: (* -> *) -> * -> *
+ Control.Comonad.Trans.Identity: newtype IdentityT (f :: * -> *) a :: (* -> *) -> * -> *
- Control.Comonad.Trans.Identity: runIdentityT :: IdentityT a -> m a
+ Control.Comonad.Trans.Identity: runIdentityT :: IdentityT a -> f a

Files

CHANGELOG.markdown view
@@ -1,3 +1,7 @@+4.2.1+-----+* Added flags that supply unsupported build modes that can be convenient for sandbox users.+ 4.2 --- * `transformers 0.4` compatibility
LICENSE view
@@ -1,4 +1,4 @@-Copyright 2008-2013 Edward Kmett+Copyright 2008-2014 Edward Kmett Copyright 2004-2008 Dave Menendez  All rights reserved.
comonad.cabal view
@@ -1,6 +1,6 @@ name:          comonad category:      Control, Comonads-version:       4.2+version:       4.2.1 license:       BSD3 cabal-version: >= 1.10 license-file:  LICENSE@@ -9,7 +9,7 @@ stability:     provisional homepage:      http://github.com/ekmett/comonad/ bug-reports:   http://github.com/ekmett/comonad/issues-copyright:     Copyright (C) 2008-2013 Edward A. Kmett,+copyright:     Copyright (C) 2008-2014 Edward A. Kmett,                Copyright (C) 2004-2008 Dave Menendez synopsis:      Comonads description:   Comonads@@ -30,6 +30,37 @@   default: True   manual: True +flag containers+  description:+    You can disable the use of the `containers` package using `-f-containers`.+    .+    Disabing this is an unsupported configuration, but it may be useful for accelerating builds in sandboxes for expert users.+  default: True+  manual: True++flag contravariant+  description:+    You can disable the use of the `contravariant` package using `-f-contravariant`.+    .+    Disabling this is an unsupported configuration, but it may be useful for accelerating builds in sandboxes for expert users.+    .+    If disabled we will not supply instances of `Contravariant`+    .+  default: True+  manual: True++flag distributive+  description:+    You can disable the use of the `distributive` package using `-f-distributive`.+    .+    Disabling this is an unsupported configuration, but it may be useful for accelerating builds in sandboxes for expert users.+    .+    If disabled we will not supply instances of `Distributive`+    .+  default: True+  manual: True++ source-repository head   type: git   location: git://github.com/ekmett/comonad.git@@ -41,13 +72,20 @@   ghc-options: -Wall    build-depends:-    base          >= 4       && < 5,-    containers    >= 0.3     && < 0.6,-    contravariant >= 0.2.0.1 && < 1,-    distributive  >= 0.2.2   && < 1,-    semigroups    >= 0.8.3.1 && < 1,-    tagged        >= 0.1     && < 1,-    transformers  >= 0.2     && < 0.5+    base                >= 4       && < 5,+    semigroups          >= 0.8.3.1 && < 1,+    tagged              >= 0.1     && < 1,+    transformers        >= 0.2     && < 0.5,+    transformers-compat >= 0.3     && < 1++  if flag(containers)+    build-depends: containers >= 0.3 && < 0.6++  if flag(contravariant)+    build-depends: contravariant >= 0.2.0.1 && < 1 ++  if flag(distributive)+    build-depends: distributive >= 0.2.2   && < 1     exposed-modules:     Control.Comonad
src/Control/Comonad.hs view
@@ -9,7 +9,7 @@  ----------------------------------------------------------------------------- -- | -- Module      :  Control.Comonad--- Copyright   :  (C) 2008-2012 Edward Kmett,+-- Copyright   :  (C) 2008-2014 Edward Kmett, --                (C) 2004 Dave Menendez -- License     :  BSD-style (see the file LICENSE) --@@ -56,11 +56,14 @@ import Data.List.NonEmpty hiding (map) import Data.Semigroup hiding (Product) import Data.Tagged-import Data.Tree import Prelude hiding (id, (.)) import Control.Monad.Fix import Data.Typeable +#ifdef MIN_VERSION_containers+import Data.Tree+#endif+ infixl 4 <@, @>, <@@>, <@>, $> infixl 1 =>> infixr 1 <<=, =<=, =>=@@ -169,10 +172,12 @@   extract = extract . runIdentityT   {-# INLINE extract #-} +#ifdef MIN_VERSION_containers instance Comonad Tree where   duplicate w@(Node _ as) = Node w (map duplicate as)   extract (Node a _) = a   {-# INLINE extract #-}+#endif  instance Comonad NonEmpty where   extend f w@ ~(_ :| aas) = f w :| case aas of@@ -240,10 +245,12 @@ instance ComonadApply w => ComonadApply (IdentityT w) where   IdentityT wa <@> IdentityT wb = IdentityT (wa <@> wb) +#ifdef MIN_VERSION_containers instance ComonadApply Tree where   (<@>) = (<*>)   (<@ ) = (<* )   ( @>) = ( *>)+#endif  -- | A suitable default definition for 'fmap' for a 'Comonad'. -- Promotes a function to a comonad.
src/Control/Comonad/Env.hs view
@@ -5,7 +5,7 @@ ----------------------------------------------------------------------------- -- | -- Module      :  Control.Comonad.Env--- Copyright   :  (C) 2008-2011 Edward Kmett+-- Copyright   :  (C) 2008-2014 Edward Kmett -- License     :  BSD-style (see the file LICENSE) -- -- Maintainer  :  Edward Kmett <ekmett@gmail.com>
src/Control/Comonad/Identity.hs view
@@ -5,7 +5,7 @@ ----------------------------------------------------------------------------- -- | -- Module      :  Control.Comonad.Identity--- Copyright   :  (C) 2008-2012 Edward Kmett+-- Copyright   :  (C) 2008-2014 Edward Kmett -- License     :  BSD-style (see the file LICENSE) -- -- Maintainer  :  Edward Kmett <ekmett@gmail.com>
src/Control/Comonad/Store.hs view
@@ -5,7 +5,7 @@ ----------------------------------------------------------------------------- -- | -- Module      :  Control.Comonad.Store--- Copyright   :  (C) 2008-2011 Edward Kmett+-- Copyright   :  (C) 2008-2014 Edward Kmett -- License     :  BSD-style (see the file LICENSE) -- -- Maintainer  :  Edward Kmett <ekmett@gmail.com>
src/Control/Comonad/Traced.hs view
@@ -5,7 +5,7 @@ ----------------------------------------------------------------------------- -- | -- Module      :  Control.Comonad.Traced--- Copyright   :  (C) 2008-2011 Edward Kmett+-- Copyright   :  (C) 2008-2014 Edward Kmett -- License     :  BSD-style (see the file LICENSE) -- -- Maintainer  :  Edward Kmett <ekmett@gmail.com>
src/Control/Comonad/Trans/Traced.hs view
@@ -8,7 +8,7 @@ ----------------------------------------------------------------------------- -- | -- Module      :  Control.Comonad.Trans.Traced--- Copyright   :  (C) 2008-2013 Edward Kmett+-- Copyright   :  (C) 2008-2014 Edward Kmett -- License     :  BSD-style (see the file LICENSE) -- -- Maintainer  :  Edward Kmett <ekmett@gmail.com>@@ -45,11 +45,14 @@ import Control.Comonad import Control.Comonad.Hoist.Class import Control.Comonad.Trans.Class-import Data.Distributive import Data.Functor.Identity import Data.Semigroup import Data.Typeable +#ifdef MIN_VERSION_distributive+import Data.Distributive+#endif+ type Traced m = TracedT m Identity  traced :: (m -> a) -> Traced m a@@ -80,8 +83,10 @@ instance Monoid m => ComonadHoist (TracedT m) where   cohoist l = TracedT . l . runTracedT +#ifdef MIN_VERSION_distributive instance Distributive w => Distributive (TracedT m w) where   distribute = TracedT . fmap (\tma m -> fmap ($ m) tma) . collect runTracedT+#endif  trace :: Comonad w => m -> TracedT m w a -> a trace m (TracedT wf) = extract wf m
src/Data/Functor/Coproduct.hs view
@@ -20,10 +20,13 @@   ) where  import Control.Comonad-import Data.Functor.Contravariant import Data.Foldable import Data.Traversable +#ifdef MIN_VERSION_contravariant+import Data.Functor.Contravariant+#endif+ newtype Coproduct f g a = Coproduct { getCoproduct :: Either (f a) (g a) }   deriving (Eq, Ord, Read, Show) @@ -53,5 +56,7 @@     (Right . extend (f . Coproduct . Right))   extract = coproduct extract extract +#ifdef MIN_VERSION_contravariant instance (Contravariant f, Contravariant g) => Contravariant (Coproduct f g) where   contramap f = Coproduct . coproduct (Left . contramap f) (Right . contramap f)+#endif