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 +2/−3
- library/Deque.hs +11/−0
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)/.