non-empty 0.3.6 → 0.3.6.1
raw patch · 4 files changed
+36/−38 lines, 4 filesdep ~base
Dependency ranges changed: base
Files
- non-empty.cabal +3/−3
- src/Data/Empty.hs +1/−2
- src/Data/NonEmptyPrivate.hs +1/−2
- test/Test/Data/NonEmptyPrivate.hs +31/−31
non-empty.cabal view
@@ -1,6 +1,6 @@ Cabal-Version: 2.2 Name: non-empty-Version: 0.3.6+Version: 0.3.6.1 License: BSD-3-Clause License-File: LICENSE Author: Henning Thielemann <haskell@henning-thielemann.de>@@ -68,7 +68,7 @@ Makefile Source-Repository this- Tag: 0.3.6+ Tag: 0.3.6.1 Type: darcs Location: https://hub.darcs.net/thielema/non-empty/ @@ -83,7 +83,7 @@ deepseq >=1.3 && <1.7, utility-ht >=0.0.8 && <0.1, QuickCheck >=2.1 && <3,- base >=4 && <5+ base >=4.11 && <5 Default-Language: Haskell98 GHC-Options: -Wall
src/Data/Empty.hs view
@@ -6,7 +6,7 @@ import qualified Data.Foldable as Fold import qualified Data.Ix as Ix import Data.Semigroup (Semigroup((<>)))-import Data.Monoid (Monoid(mempty,mappend))+import Data.Monoid (Monoid(mempty)) import Control.Applicative (pure, ) import Control.DeepSeq (NFData, rnf, ) @@ -29,7 +29,6 @@ instance Monoid (T a) where mempty = Cons- mappend Cons Cons = Cons instance Functor T where fmap _ Cons = Cons
src/Data/NonEmptyPrivate.hs view
@@ -18,7 +18,7 @@ import Data.Foldable (Foldable, ) import Data.Semigroup (Semigroup((<>))) import Control.Monad.HT (void, )-import Control.Monad (Monad, return, (=<<), )+import Control.Monad (Monad, (=<<), ) import Control.Applicative (Applicative, liftA2, pure, (<*>), ) import Control.DeepSeq (NFData, rnf, ) @@ -154,7 +154,6 @@ instance (Monad f, C.Empty f, C.Cons f, C.Append f) => Monad (T f) where- return = singleton (>>=) = bind
test/Test/Data/NonEmptyPrivate.hs view
@@ -27,47 +27,47 @@ test :: DocTest.T () test = do- DocTest.printPrefix "Data.NonEmptyPrivate:484: "-{-# LINE 484 "src/Data/NonEmptyPrivate.hs" #-}+ DocTest.printPrefix "Data.NonEmptyPrivate:483: "+{-# LINE 483 "src/Data/NonEmptyPrivate.hs" #-} DocTest.property(-{-# LINE 484 "src/Data/NonEmptyPrivate.hs" #-}+{-# LINE 483 "src/Data/NonEmptyPrivate.hs" #-} \xs ys -> NonEmpty.flatten (NonEmptyC.mergeBy (<=) xs (ys :: NonEmpty.T [] Int)) == ListHT.mergeBy (<=) (NonEmpty.flatten xs) (NonEmpty.flatten ys) )- DocTest.printPrefix "Data.NonEmptyPrivate:498: "-{-# LINE 498 "src/Data/NonEmptyPrivate.hs" #-}+ DocTest.printPrefix "Data.NonEmptyPrivate:497: "+{-# LINE 497 "src/Data/NonEmptyPrivate.hs" #-} DocTest.property(-{-# LINE 498 "src/Data/NonEmptyPrivate.hs" #-}+{-# LINE 497 "src/Data/NonEmptyPrivate.hs" #-} \xs ys -> NonEmpty.flatten (NonEmpty.mergeLeftBy (<=) xs (ys :: [Int])) == ListHT.mergeBy (<=) (NonEmpty.flatten xs) ys )- DocTest.printPrefix "Data.NonEmptyPrivate:517: "-{-# LINE 517 "src/Data/NonEmptyPrivate.hs" #-}+ DocTest.printPrefix "Data.NonEmptyPrivate:516: "+{-# LINE 516 "src/Data/NonEmptyPrivate.hs" #-} DocTest.property(-{-# LINE 517 "src/Data/NonEmptyPrivate.hs" #-}+{-# LINE 516 "src/Data/NonEmptyPrivate.hs" #-} \xs ys -> NonEmpty.flatten (NonEmpty.mergeRightBy (<=) (xs :: [Int]) ys) == ListHT.mergeBy (<=) xs (NonEmpty.flatten ys) )- DocTest.printPrefix "Data.NonEmptyPrivate:536: "-{-# LINE 536 "src/Data/NonEmptyPrivate.hs" #-}+ DocTest.printPrefix "Data.NonEmptyPrivate:535: "+{-# LINE 535 "src/Data/NonEmptyPrivate.hs" #-} DocTest.example(-{-# LINE 536 "src/Data/NonEmptyPrivate.hs" #-}+{-# LINE 535 "src/Data/NonEmptyPrivate.hs" #-} NonEmpty.mergeBy (<=) ('c'!:'d':'f':[]) ('a'!:'e':'h':[]) ) [ExpectedLine [LineChunk "'a'!:'c'!:'d':'e':'f':'h':[]"]]- DocTest.printPrefix "Data.NonEmptyPrivate:539: "-{-# LINE 539 "src/Data/NonEmptyPrivate.hs" #-}+ DocTest.printPrefix "Data.NonEmptyPrivate:538: "+{-# LINE 538 "src/Data/NonEmptyPrivate.hs" #-} DocTest.property(-{-# LINE 539 "src/Data/NonEmptyPrivate.hs" #-}+{-# LINE 538 "src/Data/NonEmptyPrivate.hs" #-} \xs ys -> NonEmpty.flatten@@ -75,39 +75,39 @@ == ListHT.mergeBy (<=) (NonEmpty.flatten xs) (NonEmpty.flatten ys) )- DocTest.printPrefix "Data.NonEmptyPrivate:684: "-{-# LINE 684 "src/Data/NonEmptyPrivate.hs" #-}+ DocTest.printPrefix "Data.NonEmptyPrivate:683: "+{-# LINE 683 "src/Data/NonEmptyPrivate.hs" #-} DocTest.property(-{-# LINE 684 "src/Data/NonEmptyPrivate.hs" #-}+{-# LINE 683 "src/Data/NonEmptyPrivate.hs" #-} let takeUntil p xs = NonEmpty.zipWith const xs $ () !: void (takeWhile (not . p) $ NonEmpty.flatten xs) in \k xs -> takeUntil (>=k) xs == NonEmpty.takeUntil (>=(k::Int)) xs )+ DocTest.printPrefix "Data.NonEmptyPrivate:827: "+{-# LINE 827 "src/Data/NonEmptyPrivate.hs" #-}+ DocTest.property(+{-# LINE 827 "src/Data/NonEmptyPrivate.hs" #-}+ \xs -> mapMaybe EitherHT.maybeLeft (NonEmpty.flatten xs) == either NonEmpty.flatten fst (NonEmpty.partitionEithersLeft (xs::NonEmpty.T[](Either Char Int)))+ ) DocTest.printPrefix "Data.NonEmptyPrivate:828: " {-# LINE 828 "src/Data/NonEmptyPrivate.hs" #-} DocTest.property( {-# LINE 828 "src/Data/NonEmptyPrivate.hs" #-}- \xs -> mapMaybe EitherHT.maybeLeft (NonEmpty.flatten xs) == either NonEmpty.flatten fst (NonEmpty.partitionEithersLeft (xs::NonEmpty.T[](Either Char Int)))+ \xs -> mapMaybe EitherHT.maybeRight (NonEmpty.flatten xs) == either (const []) (NonEmpty.flatten . snd) (NonEmpty.partitionEithersLeft (xs::NonEmpty.T[](Either Char Int))) ) DocTest.printPrefix "Data.NonEmptyPrivate:829: " {-# LINE 829 "src/Data/NonEmptyPrivate.hs" #-} DocTest.property( {-# LINE 829 "src/Data/NonEmptyPrivate.hs" #-}- \xs -> mapMaybe EitherHT.maybeRight (NonEmpty.flatten xs) == either (const []) (NonEmpty.flatten . snd) (NonEmpty.partitionEithersLeft (xs::NonEmpty.T[](Either Char Int)))- )- DocTest.printPrefix "Data.NonEmptyPrivate:830: "-{-# LINE 830 "src/Data/NonEmptyPrivate.hs" #-}- DocTest.property(-{-# LINE 830 "src/Data/NonEmptyPrivate.hs" #-} \xs -> NonEmpty.partitionEithersRight (fmap EitherHT.swap xs) == EitherHT.mapLeft swap (EitherHT.swap (NonEmpty.partitionEithersLeft (xs::NonEmpty.T[](Either Char Int)))) )- DocTest.printPrefix "Data.NonEmptyPrivate:840: "-{-# LINE 840 "src/Data/NonEmptyPrivate.hs" #-}+ DocTest.printPrefix "Data.NonEmptyPrivate:839: "+{-# LINE 839 "src/Data/NonEmptyPrivate.hs" #-} DocTest.property(-{-# LINE 840 "src/Data/NonEmptyPrivate.hs" #-}+{-# LINE 839 "src/Data/NonEmptyPrivate.hs" #-} \xs -> NonEmpty.partitionEithersLeft (fmap EitherHT.swap xs) == EitherHT.mapRight swap (EitherHT.swap (NonEmpty.partitionEithersRight (xs::NonEmpty.T[](Either Char Int)))) )- DocTest.printPrefix "Data.NonEmptyPrivate:851: "-{-# LINE 851 "src/Data/NonEmptyPrivate.hs" #-}+ DocTest.printPrefix "Data.NonEmptyPrivate:850: "+{-# LINE 850 "src/Data/NonEmptyPrivate.hs" #-} DocTest.property(-{-# LINE 851 "src/Data/NonEmptyPrivate.hs" #-}+{-# LINE 850 "src/Data/NonEmptyPrivate.hs" #-} forRange $ \b0 -> forRange $ \b1 -> forRange $ \b2 -> let b = FuncHT.unzip $ b0!:b1!:b2!:Empty.Cons in map (Ix.index b) (Ix.range b) == take (Ix.rangeSize b) [0..] )