packages feed

hw-fingertree 0.1.1.1 → 0.1.2.0

raw patch · 7 files changed

+46/−25 lines, 7 filesdep +doctestdep +doctest-discoverdep ~basePVP ok

version bump matches the API change (PVP)

Dependencies added: doctest, doctest-discover

Dependency ranges changed: base

API changes (from Hackage documentation)

Files

+ doctest/DoctestDriver.hs view
@@ -0,0 +1,12 @@+{-# LANGUAGE CPP #-}++#if MIN_VERSION_GLASGOW_HASKELL(8,4,4,0)+{-# OPTIONS_GHC -F -pgmF doctest-discover #-}+#else+module Main where++import qualified System.IO as IO++main :: IO ()+main = IO.putStrLn "WARNING: doctest will not run on GHC versions earlier than 8.4.4"+#endif
hw-fingertree.cabal view
@@ -1,7 +1,7 @@-cabal-version:  2.2+cabal-version: 2.2  name:                   hw-fingertree-version:                0.1.1.1+version:                0.1.2.0 synopsis:               Generic finger-tree structure, with example instances description:            A general sequence representation with arbitrary                         annotations, for use as a base for implementations of@@ -20,30 +20,33 @@ homepage:               https://github.com/haskell-works/hw-fingertree#readme bug-reports:            https://github.com/haskell-works/hw-fingertree/issues maintainer:             John Ky <newhoggy@gmail.com>-copyright:              (c) 2017-2019 John Ky+copyright:              (c) 2017-2020 John Ky                         (c) 2006 Ross Paterson, Ralf Hinze, license:                BSD-3-Clause license-file:           LICENSE-tested-with:            GHC == 8.8.1, GHC == 8.6.5, GHC == 8.4.4, GHC == 8.2.2+tested-with:            GHC == 8.10.1, GHC == 8.8.3, GHC == 8.6.5, GHC == 8.4.4 build-type:             Simple  source-repository head   type: git   location: https://github.com/haskell-works/hw-fingertree -common base                       { build-depends: base                       >= 4          && < 5      }+common base                       { build-depends: base                       >= 4.11       && < 5      }  common deepseq                    { build-depends: deepseq                    >= 1.4        && < 1.5    }+common doctest                    { build-depends: doctest                    >= 0.16.2     && < 0.17   }+common doctest-discover           { build-depends: doctest-discover           >= 0.2        && < 0.3    } common hedgehog                   { build-depends: hedgehog                   >= 0.6        && < 1.1    } common hspec                      { build-depends: hspec                      >= 2.4        && < 3.0    } common hw-hspec-hedgehog          { build-depends: hw-hspec-hedgehog          >= 0.1        && < 0.2    } common hw-prim                    { build-depends: hw-prim                    >= 0.6.2.25   && < 0.7    }  common config-  default-language: Haskell2010+  default-language:     Haskell2010+  ghc-options:          -Wall  common hw-fingertree-  build-depends: hw-fingertree+  build-depends:        hw-fingertree  library   import:               base, config@@ -61,13 +64,23 @@                       , deepseq                       , hedgehog                       , hspec+                      , hw-fingertree                       , hw-hspec-hedgehog-  build-depends:        hw-fingertree   type:                 exitcode-stdio-1.0   main-is:              Spec.hs   hs-source-dirs:       tests   build-tool-depends:   hspec-discover:hspec-discover-  autogen-modules:      Paths_hw_fingertree   other-modules:        HaskellWorks.Data.FingerTree.Gen                         HaskellWorks.Data.FingerTreeSpec-                        Paths_hw_fingertree++test-suite doctest+  import:               base, config+                      , doctest+                      , doctest-discover+                      , hw-fingertree+  default-language:     Haskell2010+  type:                 exitcode-stdio-1.0+  ghc-options:          -threaded+  main-is:              DoctestDriver.hs+  HS-Source-Dirs:       doctest+  build-tool-depends:   doctest-discover:doctest-discover
src/HaskellWorks/Data/FingerTree.hs view
@@ -80,7 +80,6 @@ import Control.Applicative          (Applicative (pure, (<*>)), (<$>)) import Control.DeepSeq import Data.Foldable                (Foldable (foldMap), toList)-import Data.Monoid import GHC.Generics                 (Generic) import HaskellWorks.Data.Container import HaskellWorks.Data.Cons
src/HaskellWorks/Data/IntervalMap/FingerTree.hs view
@@ -51,10 +51,9 @@ import Control.Applicative          ((<$>)) import Control.DeepSeq import Data.Foldable                (Foldable (foldMap))-import Data.Monoid import Data.Traversable             (Traversable (traverse)) import GHC.Generics-import HaskellWorks.Data.FingerTree (FingerTree, Measured (..), ViewL (..), (<|), (><), (|>))+import HaskellWorks.Data.FingerTree (FingerTree, Measured (..), ViewL (..), (<|), (><))  import qualified Data.Semigroup               as S import qualified HaskellWorks.Data.FingerTree as FT
src/HaskellWorks/Data/PriorityQueue/FingerTree.hs view
@@ -53,7 +53,6 @@  import Control.Arrow                ((***)) import Data.Foldable                (Foldable (foldMap))-import Data.Monoid import HaskellWorks.Data.FingerTree (FingerTree, Measured (..), ViewL (..), (<|), (><), (|>)) import Prelude                      hiding (null) 
tests/HaskellWorks/Data/FingerTree/Gen.hs view
@@ -26,8 +26,8 @@     [deep pr' m  sf  | pr' <- shrinkDigit      pr] ++     [deep pr  m' sf  | m'  <- shrinkFingerTree m ] ++     [deep pr  m  sf' | sf' <- shrinkDigit      sf]-shrinkFingerTree (Single x) = []-shrinkFingerTree Empty = []+shrinkFingerTree (Single _) = []+shrinkFingerTree Empty      = []  fingerTree :: (MonadGen m, Measured v a) => m a -> m (FingerTree v a) fingerTree gen = G.sized $ \size -> genSizedFingerTree size gen@@ -36,10 +36,10 @@ genSizedFingerTree n gen = G.shrink shrinkFingerTree $ case n of     0 -> return Empty     1 -> Single <$> gen-    n -> deep <$> (One <$> gen) <*> genSizedFingerTree (n `div` 2) (genSizedNode (n `div` 2) gen) <*> (One <$> gen)+    o -> deep <$> (One <$> gen) <*> genSizedFingerTree (o `div` 2) (genSizedNode (o `div` 2) gen) <*> (One <$> gen)  shrinkNode :: Measured v a => Node v a -> [Node v a]-shrinkNode (Node2 _ a b) = []+shrinkNode (Node2 _ _ _  ) = [] shrinkNode (Node3 _ a b c) = [node2 a  b, node2 a c, node2 b c]  genSizedNode :: (MonadGen m, Measured v a) => Size -> m a -> m (Node v a)@@ -49,7 +49,7 @@     ]  shrinkDigit :: Digit a -> [Digit a]-shrinkDigit (One a)         = []-shrinkDigit (Two a b)       = [One a, One b]-shrinkDigit (Three a b c)   = [Two a b, Two a c, Two b c]-shrinkDigit (Four a b c d)  = [Three a b c, Three a b d, Three a c d, Three b c d]+shrinkDigit (One    _      ) = []+shrinkDigit (Two    a b    ) = [One a, One b]+shrinkDigit (Three  a b c  ) = [Two a b, Two a c, Two b c]+shrinkDigit (Four   a b c d) = [Three a b c, Three a b d, Three a c d, Three b c d]
tests/HaskellWorks/Data/FingerTreeSpec.hs view
@@ -9,7 +9,6 @@ import Data.Foldable                (Foldable (foldMap, foldl, foldr), all, toList) import Data.Functor                 ((<$>)) import Data.List                    (inits)-import Data.Monoid                  (Monoid (..)) import Data.Traversable             (traverse) import HaskellWorks.Data.FingerTree import HaskellWorks.Hspec.Hedgehog@@ -118,9 +117,9 @@     toList' (evalM (traverse' f xs)) ~== evalM (traverse f (toList xs))   it "traverseWithPos" $ require $ property $ do     xs <- forAll (G.fingerTree (G.int R.constantBounded))-    let f xs y = do+    let f ys y = do           n <- step-          return (xs, n, y)+          return (ys, n, y)     let xs_list = toList xs     toList' (evalM (traverseWithPos f xs)) ~== evalM (traverse (uncurry f) (zip (inits xs_list) xs_list))