comonad 1.0 → 1.0.1
raw patch · 3 files changed
+15/−1 lines, 3 filesdep +containersPVP ok
version bump matches the API change (PVP)
Dependencies added: containers
API changes (from Hackage documentation)
+ Control.Comonad: instance Comonad Tree
+ Data.Functor.Extend: instance Extend Seq
+ Data.Functor.Extend: instance Extend Tree
Files
- Control/Comonad.hs +4/−0
- Data/Functor/Extend.hs +9/−0
- comonad.cabal +2/−1
Control/Comonad.hs view
@@ -37,6 +37,7 @@ import Data.Monoid import Data.Typeable import Data.Semigroup+import Data.Tree {- | $definition -} @@ -85,6 +86,9 @@ -- If Comonad moved to base, consider moving instance into transformers? instance Comonad w => Comonad (IdentityT w) where extract = extract . runIdentityT++instance Comonad Tree where+ extract (Node a _) = a -- | The 'Cokleisli' 'Arrow's of a given 'Comonad' newtype Cokleisli w a b = Cokleisli { runCokleisli :: w a -> b }
Data/Functor/Extend.hs view
@@ -24,6 +24,9 @@ import Data.Functor.Identity import Data.Semigroup import Data.List (tails)+import Data.Sequence (Seq) +import qualified Data.Sequence as Seq+import Data.Tree infixl 1 =>> infixr 1 <<=, =<=, =>= @@ -87,6 +90,12 @@ instance Semigroup m => Extend ((->)m) where duplicate f m = f . (<>) m++instance Extend Seq where+ duplicate = Seq.tails++instance Extend Tree where+ duplicate w@(Node _ as) = Node w (map duplicate as) -- I can't fix the world -- instance (Monoid m, Extend n) => Extend (ReaderT m n)
comonad.cabal view
@@ -1,6 +1,6 @@ name: comonad category: Control, Comonads-version: 1.0+version: 1.0.1 license: BSD3 cabal-version: >= 1.6 license-file: LICENSE@@ -21,6 +21,7 @@ build-depends: base >= 4 && < 4.4, transformers >= 0.2.0 && < 0.3,+ containers >= 0.4.0.0 && < 0.5, semigroups >= 0.3.4 && < 0.5 exposed-modules: