packages feed

parallel 3.0.0.0 → 3.1.0.0

raw patch · 3 files changed

+5/−30 lines, 3 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

- Control.Seq: dot :: Strategy a -> Strategy a -> Strategy a

Files

Control/Parallel/Strategies.hs view
@@ -824,9 +824,5 @@   * An exception to the type driven naming scheme are 'evalBuffer' and      'parBuffer', which are not named after their type constructor (lists)      but after their function (rolling buffer of fixed size).--  * A strategy combinator that is not as compositional as its type-    suggests is suffixed with @'@.-    Examples: 'evalFunctor'', 'parBuffer''. -} 
Control/Seq.hs view
@@ -26,9 +26,6 @@        , using            -- :: a -> Strategy a -> a        , withStrategy     -- :: Strategy a -> a -> a -         -- * Composition of sequential strategies-       , dot              -- :: Strategy a -> Strategy a -> Strategy a-          -- * Basic sequential strategies        , r0               -- :: Strategy a        , rseq@@ -46,6 +43,10 @@        , seqArrayBounds   -- :: Ix i => Strategy i -> Strategy (Array i a)           -- * Sequential strategies for tuples++         -- | Evaluate the components of a tuple according to the given strategies.+         -- No guarantee is given as to the order of evaluation.+        , seqTuple2        -- :: Strategy a -> ... -> Strategy (a,...)        , seqTuple3        , seqTuple4@@ -65,7 +66,6 @@ import Data.Array (Array) import qualified Data.Array (bounds, elems) -infixr 9 `dot`     -- same as function composition (.) infixl 0 `using`   -- lowest precedence and associate to the left  -- --------------------------------------------------------------------------@@ -85,25 +85,6 @@ withStrategy :: Strategy a -> a -> a withStrategy = flip using --- | Compose two strategies sequentially.--- This is the analogue to function composition on strategies.--- (Probably not very useful; provided because "Control.Parallel.Strategies"--- provides the same function.)------ > strat2 `dot` strat1 == strat2 . withStrategy strat1----dot :: Strategy a -> Strategy a -> Strategy a-(strat2 `dot` strat1) x = strat1 x `seq` strat2 x-                          --- More reasons for removing dot:--- * It is inefficient: Traverses 'x' twice.--- * It does not satisfy the property that 'Strategies.dot' has; there is ---   a counter-example to the equation---   > strat2 `dot` strat1 == strat2 . withStrategy strat1---   Try strat2 = r0 and strat1 = rseq and apply to 'undefined';---   the LHS will diverge while the RHS will evaluate to '()'.-- -- -------------------------------------------------------------------------- -- Basic sequential strategies @@ -176,8 +157,6 @@ -- -------------------------------------------------------------------------- -- Sequential strategies for tuples --- | Evaluate the components of a tuple according to the given strategies.--- No guarantee is given as to the order of evaluation. seqTuple2 :: Strategy a -> Strategy b -> Strategy (a,b) seqTuple2 strat1 strat2 (x1,x2) =   strat1 x1 `seq` strat2 x2
parallel.cabal view
@@ -1,5 +1,5 @@ name:		parallel-version:	3.0.0.0+version:	3.1.0.0 license:	BSD3 license-file:	LICENSE maintainer:	libraries@haskell.org