--
-----------------------------------------------------------------------------
-module Data.Queue(
- Queue,
+module Data.Queue
+{-# DEPRECATED "Use Data.Sequence instead: it's faster and has more operations" #-}
+ (Queue,
-- * Primitive operations
-- | Each of these requires /O(1)/ time in the worst case.
emptyQueue, addToQueue, deQueue,
) where
import Prelude -- necessary to get dependencies right
+import Data.Typeable
-- | The type of FIFO queues.
data Queue a = Q [a] [a] [a]
+#include "Typeable.h"
+INSTANCE_TYPEABLE1(Queue,queueTc,"Queue")
+
-- Invariants for Q xs ys xs':
-- length xs = length ys + length xs'
-- xs' = drop (length ys) xs -- in fact, shared (except after fmap)