| Haskell Hierarchical Libraries (base package) | Contents | Index

Data.Queue

Portability | portable
Stability | experimental
Maintainer | libraries@haskell.org

Contents

Primitive operations
Queues and lists

Description
Queues with constant time operations, from Simple and efficient purely functional queues and deques, by Chris Okasaki, JFP 5(4):583-592, October 1995.
Synopsis

data Queue a
emptyQueue :: Queue a
addToQueue :: Queue a -> a -> Queue a
deQueue :: Queue a -> Maybe (a, Queue a)
listToQueue :: [a] -> Queue a
queueToList :: Queue a -> [a]

Documentation
data Queue a

The type of FIFO queues.
Instances

Functor Queue
Typeable1 Queue

Primitive operations
Each of these requires O(1) time in the worst case.
emptyQueue :: Queue a
The empty queue.
addToQueue :: Queue a -> a -> Queue a
Add an element to the back of a queue.
deQueue :: Queue a -> Maybe (a, Queue a)
Attempt to extract the front element from a queue. If the queue is empty, `Nothing`, otherwise the first element paired with the remainder of the queue.
Queues and lists
listToQueue :: [a] -> Queue a
A queue with the same elements as the list.
queueToList :: Queue a -> [a]
The elements of a queue, front first.
Produced by Haddock version 0.7