folds 0.6.2 → 0.6.3
raw patch · 9 files changed
+38/−16 lines, 9 filesdep ~profunctorsdep ~reflectiondep ~semigroupoidsPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
Dependency ranges changed: profunctors, reflection, semigroupoids
API changes (from Hackage documentation)
- Data.Fold.Internal: instance Reifies * s (a -> a -> a, a) => Monoid (N a s)
- Data.Fold.Internal: instance Typeable1 An
- Data.Fold.Internal: instance Typeable1 Box
- Data.Fold.Internal: instance Typeable1 Maybe'
- Data.Fold.Internal: instance Typeable1 SnocList
- Data.Fold.Internal: instance Typeable1 SnocList1
- Data.Fold.Internal: instance Typeable1 Tree
- Data.Fold.Internal: instance Typeable2 N
- Data.Fold.Internal: instance Typeable2 Pair'
+ Data.Fold.Internal: instance Reifies s (a -> a -> a, a) => Monoid (N a s)
+ Data.Fold.Internal: instance Typeable An
+ Data.Fold.Internal: instance Typeable Box
+ Data.Fold.Internal: instance Typeable Maybe'
+ Data.Fold.Internal: instance Typeable N
+ Data.Fold.Internal: instance Typeable Pair'
+ Data.Fold.Internal: instance Typeable SnocList
+ Data.Fold.Internal: instance Typeable SnocList1
+ Data.Fold.Internal: instance Typeable Tree
Files
- CHANGELOG.markdown +5/−0
- folds.cabal +4/−7
- src/Data/Fold.hs +3/−0
- src/Data/Fold/Class.hs +9/−0
- src/Data/Fold/Internal.hs +7/−0
- src/Data/Fold/L1'.hs +4/−3
- src/Data/Fold/L1.hs +2/−2
- src/Data/Fold/M1.hs +2/−2
- src/Data/Fold/R1.hs +2/−2
CHANGELOG.markdown view
@@ -1,3 +1,8 @@+0.6.3+-------+* `reflection` 2 support+* Compiles warning-free on GHC 7.10+ 0.6.2 ----- * `contravariant` 1.0 support
folds.cabal view
@@ -1,6 +1,6 @@ name: folds category: Data, Comonads, Enumerator-version: 0.6.2+version: 0.6.3 license: BSD3 cabal-version: >= 1.8 license-file: LICENSE@@ -55,9 +55,9 @@ contravariant >= 0.4.2 && < 2, lens >= 4 && < 5, pointed >= 4 && < 5,- profunctors >= 4 && < 5,- reflection >= 1.3 && < 2,- semigroupoids >= 4 && < 5,+ profunctors >= 4 && < 6,+ reflection >= 1.3 && < 3,+ semigroupoids >= 4 && < 6, tagged >= 0.7 && < 1, transformers >= 0.3 && < 0.5, vector >= 0.10 && < 0.11@@ -113,6 +113,3 @@ filepath, mtl, semigroups >= 0.9-- if impl(ghc<7.6.1)- ghc-options: -Werror
src/Data/Fold.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE CPP #-} {-# LANGUAGE DefaultSignatures #-} ----------------------------------------------------------------------------- -- |@@ -210,7 +211,9 @@ class AsRM1 p => AsL1' p where -- | Scan homomorphism to a strict Mealy machine asL1' :: p a b -> L1' a b+#ifndef HLINT default asL1' :: AsL' p => p a b -> L1' a b+#endif asL1' = asL1'.asL' instance AsL1' L1' where
src/Data/Fold/Class.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE CPP #-} {-# LANGUAGE RankNTypes #-} {-# LANGUAGE DefaultSignatures #-} {-# LANGUAGE Trustworthy #-}@@ -8,7 +9,9 @@ ) where import Control.Lens+#if __GLASGOW_HASKELL__ < 710 import Data.Foldable+#endif import Data.Fold.Internal import Data.Profunctor.Unsafe @@ -18,18 +21,24 @@ class Choice p => Scan p where prefix1 :: a -> p a b -> p a b+#ifndef HLINT default prefix1 :: Folding p => a -> p a b -> p a b+#endif prefix1 = prefix . An {-# INLINE prefix1 #-} postfix1 :: p a b -> a -> p a b+#ifndef HLINT default postfix1 :: Folding p => p a b -> a -> p a b+#endif postfix1 p = postfix p . An {-# INLINE postfix1 #-} -- | Apply a 'Folding' to a single element of input run1 :: a -> p a b -> b+#ifndef HLINT default run1 :: Folding p => a -> p a b -> b+#endif run1 = run . An {-# INLINE run1 #-}
src/Data/Fold/Internal.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE CPP #-} {-# LANGUAGE FlexibleContexts #-} {-# LANGUAGE UndecidableInstances #-} {-# LANGUAGE ScopedTypeVariables #-}@@ -15,13 +16,19 @@ , Box(..) ) where +#if __GLASGOW_HASKELL__ < 710 import Control.Applicative+#endif import Data.Data (Data, Typeable)+#if __GLASGOW_HASKELL__ < 710 import Data.Foldable import Data.Monoid hiding (First, Last)+#endif import Data.Proxy (Proxy(Proxy)) import Data.Reflection+#if __GLASGOW_HASKELL__ < 710 import Data.Traversable+#endif -- | Reversed '[]' data SnocList a = Snoc (SnocList a) a | Nil
src/Data/Fold/L1'.hs view
@@ -1,5 +1,6 @@-{-# LANGUAGE ExistentialQuantification #-}+{-# LANGUAGE CPP #-} {-# LANGUAGE Trustworthy #-}+{-# LANGUAGE ExistentialQuantification #-} module Data.Fold.L1' ( L1'(..) ) where@@ -64,7 +65,7 @@ instance Monad (L1' a) where return x = L1' (\() -> x) (\() _ -> ()) (\_ -> ()) {-# INLINE return #-}- m >>= f = L1' (\xs a -> walk xs (f a)) Snoc1 First <*> m where+ m >>= f = L1' (\xs a -> walk xs (f a)) Snoc1 First <*> m {-# INLINE (>>=) #-} _ >> n = n {-# INLINE (>>) #-}@@ -100,7 +101,7 @@ instance Profunctor L1' where dimap f g (L1' k h z) = L1' (g.k) (\a -> h a . f) (z.f) {-# INLINE dimap #-}- lmap f (L1' k h z) = L1' (k) (\a -> h a . f) (z.f)+ lmap f (L1' k h z) = L1' k (\a -> h a . f) (z.f) {-# INLINE lmap #-} rmap g (L1' k h z) = L1' (g.k) h z {-# INLINE rmap #-}
src/Data/Fold/L1.hs view
@@ -65,7 +65,7 @@ instance Monad (L1 a) where return x = L1 (\() -> x) (\() _ -> ()) (\_ -> ()) {-# INLINE return #-}- m >>= f = L1 (\xs a -> walk xs (f a)) Snoc1 First <*> m where+ m >>= f = L1 (\xs a -> walk xs (f a)) Snoc1 First <*> m {-# INLINE (>>=) #-} _ >> n = n {-# INLINE (>>) #-}@@ -105,7 +105,7 @@ instance Profunctor L1 where dimap f g (L1 k h z) = L1 (g.k) (\a -> h a . f) (z.f) {-# INLINE dimap #-}- lmap f (L1 k h z) = L1 (k) (\a -> h a . f) (z.f)+ lmap f (L1 k h z) = L1 k (\a -> h a . f) (z.f) {-# INLINE lmap #-} rmap g (L1 k h z) = L1 (g.k) h z {-# INLINE rmap #-}
src/Data/Fold/M1.hs view
@@ -68,7 +68,7 @@ instance Monad (M1 a) where return x = M1 (\() -> x) (\_ -> ()) (\() () -> ()) {-# INLINE return #-}- m >>= f = M1 (\xs a -> walk xs (f a)) Tip1 Bin1 <*> m where+ m >>= f = M1 (\xs a -> walk xs (f a)) Tip1 Bin1 <*> m {-# INLINE (>>=) #-} _ >> n = n {-# INLINE (>>) #-}@@ -108,7 +108,7 @@ instance Profunctor M1 where dimap f g (M1 k h m) = M1 (g.k) (h.f) m {-# INLINE dimap #-}- lmap f (M1 k h m) = M1 (k) (h.f) m+ lmap f (M1 k h m) = M1 k (h.f) m {-# INLINE lmap #-} rmap g (M1 k h m) = M1 (g.k) h m {-# INLINE rmap #-}
src/Data/Fold/R1.hs view
@@ -65,7 +65,7 @@ instance Monad (R1 a) where return x = R1 (\() -> x) (\_ () -> ()) (\_ -> ()) {-# INLINE return #-}- m >>= f = R1 (\xs a -> walk xs (f a)) Cons1 Last <*> m where+ m >>= f = R1 (\xs a -> walk xs (f a)) Cons1 Last <*> m {-# INLINE (>>=) #-} _ >> n = n {-# INLINE (>>) #-}@@ -105,7 +105,7 @@ instance Profunctor R1 where dimap f g (R1 k h z) = R1 (g.k) (h.f) (z.f) {-# INLINE dimap #-}- lmap f (R1 k h z) = R1 (k) (h.f) (z.f)+ lmap f (R1 k h z) = R1 k (h.f) (z.f) {-# INLINE lmap #-} rmap g (R1 k h z) = R1 (g.k) h z {-# INLINE rmap #-}