----------------------------------------------------------------------------- -- | -- Module : Data.Queue.Class -- Copyright : (c) Leon P Smith 2009 -- License : BSD3 -- -- Maintainer : leon at melding-monads dot com -- Stability : experimental -- Portability : portable -- ----------------------------------------------------------------------------- module Data.Queue.Class ( Queue(empty, enque, deque) ) where class Queue q where empty :: q a enque :: a -> q a -> q a deque :: q a -> (Maybe a, q a)