packages feed

forest 0.1.1.1 → 0.2

raw patch · 2 files changed

+58/−2 lines, 2 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

+ Data.Tree.Forest: instance Data.Foldable.Foldable f => Data.Semigroup.Foldable.Class.Bifoldable1 (Data.Tree.Forest.Tree f)
+ Data.Tree.Forest: instance Data.Semigroup.Foldable.Class.Foldable1 f => Data.Semigroup.Foldable.Class.Bifoldable1 (Data.Tree.Forest.Forest f)
+ Data.Tree.Forest: instance Data.Semigroup.Foldable.Class.Foldable1 f => Data.Semigroup.Foldable.Class.Foldable1 (Data.Tree.Forest.Forest f s)
+ Data.Tree.Forest: instance Data.Semigroup.Foldable.Class.Foldable1 f => Data.Semigroup.Foldable.Class.Foldable1 (Data.Tree.Forest.Tree f s)
+ Data.Tree.Forest: instance Data.Semigroup.Traversable.Class.Traversable1 f => Data.Semigroup.Traversable.Class.Bitraversable1 (Data.Tree.Forest.Forest f)
+ Data.Tree.Forest: instance Data.Semigroup.Traversable.Class.Traversable1 f => Data.Semigroup.Traversable.Class.Bitraversable1 (Data.Tree.Forest.Tree f)
+ Data.Tree.Forest: instance Data.Semigroup.Traversable.Class.Traversable1 f => Data.Semigroup.Traversable.Class.Traversable1 (Data.Tree.Forest.Forest f s)
+ Data.Tree.Forest: instance Data.Semigroup.Traversable.Class.Traversable1 f => Data.Semigroup.Traversable.Class.Traversable1 (Data.Tree.Forest.Tree f s)

Files

forest.cabal view
@@ -1,5 +1,5 @@ name:           forest-version:        0.1.1.1+version:        0.2 synopsis:       Tree and Forest types license:        MPL-2.0 license-file:   LICENSE
src/Data/Tree/Forest.hs view
@@ -74,7 +74,7 @@ import           Control.Monad.Fail (MonadFail) import qualified Control.Monad.Fail as F (fail) #endif-import           Data.Bifoldable (Bifoldable, bifoldr)+import           Data.Bifoldable (Bifoldable, bifoldl', bifoldr) import           Data.Bifunctor (Bifunctor, bimap) import           Data.Bitraversable (Bitraversable, bitraverse) #if __GLASGOW_HASKELL__ < 710@@ -130,6 +130,7 @@ #if __GLASGOW_HASKELL__ < 710 import           Prelude hiding (foldr) #endif+import           Prelude hiding (foldr1)   -- deepseq -------------------------------------------------------------------@@ -149,6 +150,10 @@ import           Data.Functor.Apply (Apply, (<.>)) import           Data.Functor.Bind (Bind, (>>-), join) import           Data.Functor.Plus (Plus, zero)+import           Data.Semigroup.Bifoldable (Bifoldable1, bifoldMap1)+import           Data.Semigroup.Bitraversable (Bitraversable1, bitraverse1)+import           Data.Semigroup.Foldable (Foldable1, foldMap1)+import           Data.Semigroup.Traversable (Traversable1, traverse1)   ------------------------------------------------------------------------------@@ -229,6 +234,14 @@   ------------------------------------------------------------------------------+instance Foldable f => Bifoldable1 (Tree f) where+    bifoldMap1 _ g (Leaf a) = g a+    bifoldMap1 f g (Node s ts) =+        bifoldl' ((. f) . (<>)) ((. g) . (<>)) (f s) ts+    {-# INLINE bifoldMap1 #-}+++------------------------------------------------------------------------------ instance Traversable f => Bitraversable (Tree f) where     bitraverse _ g (Leaf a) = Leaf <$> g a     bitraverse f g (Node s ts) = Node <$> f s <*> bitraverse f g ts@@ -236,6 +249,13 @@   ------------------------------------------------------------------------------+instance Traversable1 f => Bitraversable1 (Tree f) where+    bitraverse1 _ g (Leaf a) = Leaf <$> g a+    bitraverse1 f g (Node s ts) = Node <$> f s <.> bitraverse1 f g ts+    {-# INLINE bitraverse1 #-}+++------------------------------------------------------------------------------ instance Functor f => Functor (Tree f s) where     fmap f (Leaf a) = Leaf (f a)     fmap f (Node s ts) = Node s (fmap f ts)@@ -250,6 +270,13 @@   ------------------------------------------------------------------------------+instance Foldable1 f => Foldable1 (Tree f s) where+    foldMap1 f (Leaf a) = f a+    foldMap1 f (Node _ ts) = foldMap1 f ts+    {-# INLINE foldMap1 #-}+++------------------------------------------------------------------------------ instance Traversable f => Traversable (Tree f s) where     traverse f (Leaf a) = Leaf <$> f a     traverse f (Node s ts) = Node s <$> traverse f ts@@ -257,6 +284,13 @@   ------------------------------------------------------------------------------+instance Traversable1 f => Traversable1 (Tree f s) where+    traverse1 f (Leaf a) = Leaf <$> f a+    traverse1 f (Node s ts) = Node s <$> traverse1 f ts+    {-# INLINE traverse1 #-}+++------------------------------------------------------------------------------ instance Functor f => Apply (Tree f s) where     Leaf f <.> Leaf a = Leaf (f a)     Leaf f <.> Node s ts = Node s (fmap f ts)@@ -470,12 +504,22 @@   ------------------------------------------------------------------------------+instance Foldable1 f => Bifoldable1 (Forest f) where+    bifoldMap1 f g (Forest ts) = foldMap1 (bifoldMap1 f g) ts+++------------------------------------------------------------------------------ instance Traversable f => Bitraversable (Forest f) where     bitraverse f g (Forest ts) = Forest <$> traverse (bitraverse f g) ts     {-# INLINE bitraverse #-}   ------------------------------------------------------------------------------+instance Traversable1 f => Bitraversable1 (Forest f) where+    bitraverse1 f g (Forest ts) = Forest <$> traverse1 (bitraverse1 f g) ts+++------------------------------------------------------------------------------ instance Functor f => Functor (Forest f s) where     fmap f (Forest ts) = Forest (fmap (fmap f) ts)     {-# INLINE fmap #-}@@ -488,9 +532,21 @@   ------------------------------------------------------------------------------+instance Foldable1 f => Foldable1 (Forest f s) where+    foldMap1 f (Forest ts) = foldMap1 (foldMap1 f) ts+    {-# INLINE foldMap1 #-}+++------------------------------------------------------------------------------ instance Traversable f => Traversable (Forest f s) where     traverse f (Forest ts) = Forest <$> traverse (traverse f) ts     {-# INLINE traverse #-}+++------------------------------------------------------------------------------+instance Traversable1 f => Traversable1 (Forest f s) where+    traverse1 f (Forest ts) = Forest <$> traverse1 (traverse1 f) ts+    {-# INLINE traverse1 #-}   ------------------------------------------------------------------------------