deque 0.3.1 → 0.3.1.1
raw patch · 6 files changed
+17/−11 lines, 6 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
Files
- deque.cabal +1/−1
- library/Deque/Lazy.hs +1/−1
- library/Deque/Lazy/State.hs +3/−3
- library/Deque/Strict.hs +3/−3
- library/Deque/Strict/State.hs +3/−3
- test/Main.hs +6/−0
deque.cabal view
@@ -1,5 +1,5 @@ name: deque-version: 0.3.1+version: 0.3.1.1 synopsis: Double-ended queues description: Strict and lazy implementations of Double-Ended Queue (aka Dequeue or Deque)
library/Deque/Lazy.hs view
@@ -133,7 +133,7 @@ -- | -- /O(1)/.--- Revert the deque.+-- Reverse the deque. reverse :: Deque a -> Deque a reverse (Deque snocList consList) = Deque consList snocList
library/Deque/Lazy/State.hs view
@@ -19,14 +19,14 @@ {-| /O(n)/.-Add elements from the begginning.+Add elements to the begginning. -} prepend :: MonadState (Deque a) m => Deque a -> m () prepend deque = modify (deque <>) {-| /O(n)/.-Add elements from the ending.+Add elements to the ending. -} append :: MonadState (Deque a) m => Deque a -> m () append deque = modify (<> deque)@@ -47,7 +47,7 @@ {-| /O(1)/.-Revert the deque.+Reverse the deque. -} reverse :: MonadState (Deque a) m => m () reverse = modify Deque.reverse
library/Deque/Strict.hs view
@@ -54,7 +54,7 @@ -- | -- /O(1)/.--- Revert the deque.+-- Reverse the deque. reverse :: Deque a -> Deque a reverse (Deque snocList consList) = Deque consList snocList @@ -202,8 +202,8 @@ deriving instance Functor Deque instance Foldable Deque where- foldr step init (Deque snocList consList) = foldr step (foldr step init consList) (StrictList.reverse snocList)- foldl' step init (Deque snocList consList) = foldl' step (foldl' step init consList) (StrictList.reverse consList)+ foldr step init (Deque snocList consList) = foldr step (foldr step init (StrictList.reverse snocList)) consList+ foldl' step init (Deque snocList consList) = foldl' step (foldl' step init consList) (StrictList.reverse snocList) instance Traversable Deque where traverse f (Deque ss cs) =
library/Deque/Strict/State.hs view
@@ -19,14 +19,14 @@ {-| /O(n)/.-Add elements from the begginning.+Add elements to the begginning. -} prepend :: MonadState (Deque a) m => Deque a -> m () prepend deque = modify (deque <>) {-| /O(n)/.-Add elements from the ending.+Add elements to the ending. -} append :: MonadState (Deque a) m => Deque a -> m () append deque = modify (<> deque)@@ -47,7 +47,7 @@ {-| /O(1)/.-Revert the deque.+Reverse the deque. -} reverse :: MonadState (Deque a) m => m () reverse = modify Deque.reverse
test/Main.hs view
@@ -112,6 +112,12 @@ , testProperty "ap" $ forAll ((,) <$> dequeAndListGen <*> dequeAndListGen) $ \ ((deque1, list1), (deque2, list2)) -> toList ((,) <$> deque1 <*> deque2) === ((,) <$> list1 <*> list2)+ ,+ testProperty "foldl'" $ forAll dequeAndListGen $ \ (deque, list) ->+ foldl' (flip (:)) [] deque === foldl' (flip (:)) [] list+ ,+ testProperty "foldr" $ forAll dequeAndListGen $ \ (deque, list) ->+ foldr (:) [] deque === foldr (:) [] list ] where listGen = arbitrary @[Word8]