packages feed

gambler 0.0.0.0 → 0.0.0.1

raw patch · 3 files changed

+9/−88 lines, 3 filesdep −criterionPVP ok

version bump matches the API change (PVP)

Dependencies removed: criterion

API changes (from Hackage documentation)

Files

− benchmark/Main.hs
@@ -1,73 +0,0 @@-module Main (main) where--import Criterion.Main--import Data.Functor ((<$>))-import Control.Applicative (pure, (<*>))-import Data.Function ((.), ($))-import Data.Int (Int)-import Prelude ((+), Num)-import System.IO (IO)--import qualified Data.List as List-import qualified Prelude-import qualified Data.Foldable as Foldable--import qualified Fold.Pure-import qualified Fold.Effectful--main :: IO ()-main = defaultMain-  [ env (pure [1..10000 :: Int]) $ \ns ->-      bgroup "[1..10000 :: Int]"-        [ bgroup "sum" $ List.map ($ ns)-            [ bench "Fold.Pure.run sum" .-                whnf (Fold.Pure.run Fold.Pure.sum)-            , bench "Fold.Effectful.run (fold sum)" .-                whnfIO . Fold.Effectful.run (Fold.Effectful.fold Fold.Pure.sum)-            , bench "Prelude.sum" .-                whnf Prelude.sum-            , bench "Data.List.foldl' (+) 0" .-                whnf (List.foldl' (+) 0)-            ]-        , bgroup "length" $ List.map ($ ns)-            [ bench "Fold.Pure.run length" .-                whnf (Fold.Pure.run Fold.Pure.length)-            , bench "Fold.Effectful.run (generalize length)" .-                whnfIO . Fold.Effectful.run (Fold.Effectful.fold Fold.Pure.length)-            , bench "Prelude.length" .-                whnf Prelude.length-            ]-        , bgroup "sumAndLength" $ List.map ($ ns)-            [ bench "naive sumAndLength" .-                nf sumAndLength-            , bench "foldl' sumAndLength" .-                nf sumAndLength'-            , bench "strict pair sumAndLength" .-                nf sumAndLength_Pair-            , bench "foldl sumAndLength" .-                nf sumAndLength_foldl-            ]-        ]-  ]---sumAndLength :: Num a => [a] -> (a, Int)-sumAndLength xs = (Prelude.sum xs, Prelude.length xs)--sumAndLength' :: Num a => [a] -> (a, Int)-sumAndLength' xs = Foldable.foldl' step (0, 0) xs-  where-    step (x, y) n = (x + n, y + 1)--data Pair a b = Pair !a !b--sumAndLength_Pair :: Num a => [a] -> (a, Int)-sumAndLength_Pair xs = done (Foldable.foldl' step (Pair 0 0) xs)-  where-    step (Pair x y) n = Pair (x + n) (y + 1)--    done (Pair x y) = (x, y)--sumAndLength_foldl :: Num a => [a] -> (a, Int)-sumAndLength_foldl = Fold.Pure.run ((,) <$> Fold.Pure.sum <*> Fold.Pure.length)
changelog.md view
@@ -1,1 +1,7 @@-0.0.0.0 - Initial release+## 0.0.0.1 (2023-02-17)++Remove benchmark, which was broken++## 0.0.0.0 (2023-01-07)++Initial release
gambler.cabal view
@@ -1,7 +1,7 @@ cabal-version: 3.0  name: gambler-version: 0.0.0.0+version: 0.0.0.1  category: Streaming synopsis: Composable, streaming, and efficient left folds@@ -80,16 +80,4 @@         OverloadedLists     build-depends:       , gambler-      , hspec ^>= 2.10--benchmark benchmark-gambler-    import: base-    hs-source-dirs: benchmark-    type: exitcode-stdio-1.0-    main-is: Main.hs-    build-depends:-      , criterion ^>= 1.6-      , gambler-    ghc-options:-        -rtsopts-        -with-rtsopts=-T+      , hspec ^>= 2.8.5 || ^>= 2.9 || ^>= 2.10