folds 0.5.0.1 → 0.6
raw patch · 9 files changed
+47/−3 lines, 9 files
Files
- CHANGELOG.markdown +9/−0
- folds.cabal +1/−1
- src/Data/Fold/L'.hs +5/−0
- src/Data/Fold/L.hs +5/−0
- src/Data/Fold/L1.hs +5/−0
- src/Data/Fold/M.hs +5/−0
- src/Data/Fold/M1.hs +5/−0
- src/Data/Fold/R.hs +6/−1
- src/Data/Fold/R1.hs +6/−1
CHANGELOG.markdown view
@@ -1,3 +1,12 @@+0.6+---+* Lazier `R1`.+* `MonadZip` instances++0.5.1+-----+* Lazier `R`.+ 0.5.0.1 ------- * Restore compatibility with GHC < 7.8
folds.cabal view
@@ -1,6 +1,6 @@ name: folds category: Data, Comonads, Enumerator-version: 0.5.0.1+version: 0.6 license: BSD3 cabal-version: >= 1.8 license-file: LICENSE
src/Data/Fold/L'.hs view
@@ -12,6 +12,7 @@ import Control.Applicative import Control.Comonad import Control.Lens+import Control.Monad.Zip import Data.Foldable import Data.Fold.Class import Data.Fold.Internal@@ -132,6 +133,10 @@ _ >> n = n {-# INLINE (>>) #-}++instance MonadZip (L' a) where+ mzipWith = liftA2+ {-# INLINE mzipWith #-} instance Extend (L' a) where extended = extend
src/Data/Fold/L.hs view
@@ -12,6 +12,7 @@ import Control.Applicative import Control.Comonad import Control.Lens+import Control.Monad.Zip import Data.Foldable import Data.Fold.Class import Data.Fold.Internal@@ -137,6 +138,10 @@ _ >> n = n {-# INLINE (>>) #-}++instance MonadZip (L a) where+ mzipWith = liftA2+ {-# INLINE mzipWith #-} instance Extend (L a) where extended = extend
src/Data/Fold/L1.hs view
@@ -8,6 +8,7 @@ import Control.Arrow import Control.Category import Control.Lens+import Control.Monad.Zip import Data.Fold.Class import Data.Fold.Internal import Data.Functor.Apply@@ -68,6 +69,10 @@ {-# INLINE (>>=) #-} _ >> n = n {-# INLINE (>>) #-}++instance MonadZip (L1 a) where+ mzipWith = liftA2+ {-# INLINE mzipWith #-} instance Semigroupoid L1 where o = (.)
src/Data/Fold/M.hs view
@@ -15,6 +15,7 @@ import Control.Applicative import Control.Comonad import Control.Lens+import Control.Monad.Zip import Data.Fold.Class import Data.Fold.Internal import Data.Foldable hiding (sum, product)@@ -141,6 +142,10 @@ _ >> n = n {-# INLINE (>>) #-}++instance MonadZip (M a) where+ mzipWith = liftA2+ {-# INLINE mzipWith #-} instance Extend (M a) where extended = extend
src/Data/Fold/M1.hs view
@@ -8,6 +8,7 @@ import Control.Arrow import Control.Category import Control.Lens+import Control.Monad.Zip import Data.Fold.Class import Data.Fold.Internal import Data.Functor.Apply@@ -71,6 +72,10 @@ {-# INLINE (>>=) #-} _ >> n = n {-# INLINE (>>) #-}++instance MonadZip (M1 a) where+ mzipWith = liftA2+ {-# INLINE mzipWith #-} instance Semigroupoid M1 where o = (.)
src/Data/Fold/R.hs view
@@ -11,6 +11,7 @@ import Control.Applicative import Control.Comonad import Control.Lens+import Control.Monad.Zip import Data.Foldable hiding (sum, product) import Data.Fold.Class import Data.Fold.Internal@@ -108,13 +109,17 @@ _ >> n = n {-# INLINE (>>) #-} +instance MonadZip (R a) where+ mzipWith = liftA2+ {-# INLINE mzipWith #-}+ instance Applicative (R a) where pure b = R (\() -> b) (\_ () -> ()) () {-# INLINE pure #-} R xf bxx xz <*> R ya byy yz = R (\(Pair' x y) -> xf x $ ya y)- (\b (Pair' x y) -> Pair' (bxx b x) (byy b y))+ (\b ~(Pair' x y) -> Pair' (bxx b x) (byy b y)) (Pair' xz yz) {-# INLINE (<*>) #-}
src/Data/Fold/R1.hs view
@@ -8,6 +8,7 @@ import Control.Arrow import Control.Category import Control.Lens+import Control.Monad.Zip import Data.Fold.Class import Data.Fold.Internal import Data.Functor.Apply@@ -54,7 +55,7 @@ {-# INLINE pure #-} R1 kf hf zf <*> R1 ka ha za = R1 (\(Pair' x y) -> kf x (ka y))- (\a (Pair' x y) -> Pair' (hf a x) (ha a y))+ (\a ~(Pair' x y) -> Pair' (hf a x) (ha a y)) (\a -> Pair' (zf a) (za a)) (<*) m = \ _ -> m {-# INLINE (<*) #-}@@ -68,6 +69,10 @@ {-# INLINE (>>=) #-} _ >> n = n {-# INLINE (>>) #-}++instance MonadZip (R1 a) where+ mzipWith = liftA2+ {-# INLINE mzipWith #-} instance Semigroupoid R1 where o = (.)