packages feed

deque 0.2.4 → 0.2.5

raw patch · 2 files changed

+13/−3 lines, 2 filesdep −semigroupsPVP ok

version bump matches the API change (PVP)

Dependencies removed: semigroups

API changes (from Hackage documentation)

+ Deque: takeWhile :: (a -> Bool) -> Deque a -> Deque a

Files

deque.cabal view
@@ -1,7 +1,7 @@ name:   deque version:-  0.2.4+  0.2.5 synopsis:   Double-ended queue description:@@ -42,5 +42,4 @@   exposed-modules:     Deque   build-depends:-    base >= 4.9 && < 5,-    semigroups >= 0.11 && < 0.19+    base >= 4.9 && < 5
library/Deque.hs view
@@ -9,6 +9,7 @@ import Data.Maybe import Data.Monoid hiding ((<>)) import Data.Semigroup+import qualified Data.List as List  -- | -- Double-ended queue (aka Dequeue or Deque) based on the head-tail linked list.@@ -22,6 +23,16 @@ fromList :: [a] -> Deque a fromList =   Deque []++-- |+-- /O(n)/.+-- Leave only the first elements satisfying the predicate.+takeWhile :: (a -> Bool) -> Deque a -> Deque a+takeWhile predicate (Deque snocList consList) =+  let+    newConsList = List.takeWhile predicate consList+    newSnocList = List.takeWhile (not . predicate) snocList+    in Deque newSnocList newConsList  -- | -- /O(1)/, occasionally /O(n)/.