-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Double-ended queue -- -- An implementation of double-ended queue (aka Dequeue or Deque) based -- on the head-tail linked list. @package deque @version 0.1 module Deque data Deque a Deque :: [a] -> [a] -> Deque a -- | O(1). fromList :: [a] -> Deque a -- | O(1), occasionally O(n). shiftRight :: Deque a -> Deque a -- | O(1), occasionally O(n). shiftLeft :: Deque a -> Deque a -- | O(1). cons :: a -> Deque a -> Deque a -- | O(1). snoc :: a -> Deque a -> Deque a -- | O(1), occasionally O(n). uncons :: Deque a -> Maybe (a, Deque a) -- | O(1), occasionally O(n). unsnoc :: Deque a -> Maybe (a, Deque a) -- | O(n). prepend :: Deque a -> Deque a -> Deque a -- | O(1). reverse :: Deque a -> Deque a -- | O(1), occasionally O(n). tail :: Deque a -> Deque a -- | O(1), occasionally O(n). init :: Deque a -> Deque a instance GHC.Base.Functor Deque.Deque instance GHC.Base.Monoid (Deque.Deque a) instance Data.Foldable.Foldable Deque.Deque