packages feed

step-function 0.2 → 0.2.0.1

raw patch · 4 files changed

+111/−56 lines, 4 filesdep +semigroupsdep −base-compat-batteriesdep ~basedep ~deepseq

Dependencies added: semigroups

Dependencies removed: base-compat-batteries

Dependency ranges changed: base, deepseq

Files

src/Data/Function/Step.hs view
@@ -42,17 +42,27 @@     putSF,     ) where -import Control.Applicative  (liftA2)+import Control.Applicative  (Applicative (pure, (<*>)), liftA2, (<$>)) import Control.DeepSeq      (NFData (..)) import Control.Monad        (ap) import Data.Functor.Classes import Data.List            (intercalate) import Data.Map             (Map)-import Prelude ()-import Prelude.Compat +import Prelude+       (Eq (..), Functor, IO, Maybe (..), Monad (..), Ord (..), Ordering (..),+       Show (..), String, fst, length, map, otherwise, putStrLn, replicate,+       uncurry, ($), (++), (-), (.))++import Data.Foldable    (Foldable, foldr, maximum)+import Data.Monoid      (Monoid (..))+import Data.Semigroup   (Semigroup (..))+import Data.Traversable (Traversable (traverse))+ #ifdef LIFTED_FUNCTOR_CLASSES import Text.Show (showListWith)+#else+import Prelude (showChar, showParen, showString) #endif  import qualified Data.Map        as Map@@ -97,7 +107,7 @@ -- Following property holds, i.e. 'SF' and ordinary function 'Applicative' instances -- are compatible (and '!' is a homomorphism). ----- prop> liftA2 f g h ! x == liftA2 f (g !) (h !) x+-- prop> liftA2 (applyFun2 f) g h ! x == liftA2 (applyFun2 f :: A -> B -> C) (g !) (h !) (x :: Int) -- -- Recall that for ordinary functions @'liftA2' f g h x = f (g x) (h x)@. --@@ -369,6 +379,11 @@ putSF = putStrLn . showSF  -- $setup+--+-- >>> import Test.QuickCheck (applyFun2)+-- >>> import Test.QuickCheck.Poly (A, B, C)+-- >>> import Control.Applicative (liftA2, pure)+-- >>> import Data.Semigroup (Semigroup (..)) -- -- == Examples --
src/Data/Function/Step/Discrete/Closed.hs view
@@ -44,18 +44,28 @@     putSF,     ) where -import Control.Applicative   (liftA2)-import Control.DeepSeq       (NFData (..))-import Control.Monad         (ap)-import Data.Maybe (mapMaybe)+import Control.Applicative  (Applicative (pure, (<*>)), liftA2, (<$>))+import Control.DeepSeq      (NFData (..))+import Control.Monad        (ap) import Data.Functor.Classes-import Data.List             (intercalate)-import Data.Map              (Map)-import Prelude ()-import Prelude.Compat+import Data.List            (intercalate)+import Data.Map             (Map)+import Data.Maybe           (mapMaybe) +import Prelude+       (Eq (..), Functor (fmap), IO, Maybe (..), Monad (..), Ord (..),+       Show (..), String, fst, id, length, map, min, otherwise, putStrLn,+       replicate, uncurry, ($), (++), (-), (.))++import Data.Foldable    (Foldable, foldr, maximum)+import Data.Monoid      (Monoid (..))+import Data.Semigroup   (Semigroup (..))+import Data.Traversable (Traversable)+ #ifdef LIFTED_FUNCTOR_CLASSES import Text.Show (showListWith)+#else+import Prelude (showChar, showParen, showString) #endif  import qualified Data.Function.Step as SF@@ -341,6 +351,10 @@ putSF = putStrLn . showSF  -- $setup+--+-- >>> import Control.Applicative (liftA2, pure)+-- >>> import qualified Data.Function.Step as SF+-- >>> import Data.Semigroup (Semigroup (..)) -- -- == Examples --
src/Data/Function/Step/Discrete/Open.hs view
@@ -44,18 +44,28 @@     putSF,     ) where -import Control.Applicative  (liftA2)+import Control.Applicative  (Applicative (pure, (<*>)), liftA2, (<$>)) import Control.DeepSeq      (NFData (..)) import Control.Monad        (ap) import Data.Functor.Classes import Data.List            (intercalate) import Data.Map             (Map) import Data.Maybe           (mapMaybe)-import Prelude ()-import Prelude.Compat +import Prelude+       (Eq (..), Functor (fmap), IO, Maybe (..), Monad (..), Ord (..),+       Show (..), String, fst, id, length, map, min, otherwise, putStrLn,+       replicate, uncurry, ($), (++), (-), (.))++import Data.Foldable    (Foldable, foldr, maximum)+import Data.Monoid      (Monoid (..))+import Data.Semigroup   (Semigroup (..))+import Data.Traversable (Traversable)+ #ifdef LIFTED_FUNCTOR_CLASSES import Text.Show (showListWith)+#else+import Prelude (showChar, showParen, showString) #endif  import qualified Data.Function.Step as SF@@ -340,6 +350,10 @@ putSF = putStrLn . showSF  -- $setup+--+-- >>> import Control.Applicative (liftA2, pure)+-- >>> import qualified Data.Function.Step as SF+-- >>> import Data.Semigroup (Semigroup (..)) -- -- == Examples --
step-function.cabal view
@@ -1,36 +1,44 @@-cabal-version:  >= 1.10-name:           step-function-version:        0.2--synopsis:       Staircase functions or piecewise constant functions-category:       Text+cabal-version:      >=1.10+name:               step-function+version:            0.2.0.1+synopsis:           Staircase functions or piecewise constant functions+category:           Text description:   Step functions, staircase functions or piecewise constant functions.   Implemented as a default value and a series of transitions.   Supports merging two step functions using a supplied merging function.   . -homepage:       https://github.com/jonpetterbergman/step-function-bug-reports:    https://github.com/jonpetterbergman/stepfunction/issues-author:         Oleg Grenrus <oleg.grenrus@iki.fi>, Petter Bergman <jon.petter.bergman@gmail.com>-maintainer:     Oleg Grenrus <oleg.grenrus@iki.fi>-license:        BSD3-license-file:   LICENSE-build-type:     Simple+homepage:           https://github.com/jonpetterbergman/step-function+bug-reports:        https://github.com/jonpetterbergman/stepfunction/issues+author:+  Oleg Grenrus <oleg.grenrus@iki.fi>, Petter Bergman <jon.petter.bergman@gmail.com>++maintainer:         Oleg Grenrus <oleg.grenrus@iki.fi>+license:            BSD3+license-file:       LICENSE+build-type:         Simple extra-source-files:-  README.md   Changelog.md+  README.md  tested-with:-  GHC==7.6.3-  GHC==7.8.4-  GHC==7.10.3-  GHC==8.0.2-  GHC==8.2.2-  GHC==8.4.2+  GHC ==7.6.3+   || ==7.8.4+   || ==7.10.3+   || ==8.0.2+   || ==8.2.2+   || ==8.4.4+   || ==8.6.5+   || ==8.8.4+   || ==8.10.7+   || ==9.0.2+   || ==9.2.7+   || ==9.4.4+   || ==9.6.1  source-repository head-  type: git+  type:     git   location: https://github.com/jonpetterbergman/step-function  library@@ -38,41 +46,45 @@   ghc-options:      -Wall   hs-source-dirs:   src   build-depends:-    base                  >=4.6     && <4.12,-    base-compat-batteries >=0.10.1  && <0.11,-    deepseq               >=1.3.0.1 && <1.5,-    containers            >=0.5.0.0 && <0.6,-    QuickCheck            >=2.11.3  && <2.12+      base        >=4.6     && <4.19+    , containers  >=0.5.0.0 && <0.7+    , deepseq     >=1.3.0.1 && <1.5+    , QuickCheck  >=2.11.3  && <2.15 -  if !impl(ghc >= 8.0)+  if !impl(ghc >=8.0)+    build-depends: semigroups >=0.18.4 && <0.20++  if !impl(ghc >=8.0)     -- We enforce the fact that with GHC-7.10     -- we have at least transformers-0.4.2.0 (the bundled one)     -- which has 'Data.Functor.Classes' module. (transformers-0.3 doesn't have)-    if impl(ghc >= 7.10)-      build-depends:-        transformers         >=0.4.2.0 && <0.6+    if impl(ghc >=7.10)+      build-depends: transformers >=0.4.2.0 && <0.7+     else       build-depends:-        transformers         >=0.3.0.0 && <0.6,-        transformers-compat  >=0.6.2   && <0.7+          transformers         >=0.3.0.0 && <0.7+        , transformers-compat  >=0.6.2   && <0.8    other-extensions:-    DeriveFunctor     DeriveFoldable+    DeriveFunctor     DeriveTraversable     OverloadedStrings+   exposed-modules:     Data.Function.Step     Data.Function.Step.Discrete-    Data.Function.Step.Discrete.Open     Data.Function.Step.Discrete.Closed+    Data.Function.Step.Discrete.Open  test-suite merge-  type:                exitcode-stdio-1.0-  main-is:             Merge.hs+  type:             exitcode-stdio-1.0+  main-is:          Merge.hs   build-depends:-    base,-    step-function,-    QuickCheck-  hs-source-dirs:      test-  default-language:    Haskell2010+      base+    , QuickCheck+    , step-function++  hs-source-dirs:   test+  default-language: Haskell2010