Data.Concurrent.Deque.Class

Highly parameterized Deque type(s)

type family Deque lThreaded rThreaded lDbl rDbl bnd safe elt

The choices that select a queue-variant.

Choice #1 -- thread safety.

data Threadsafe

data Nonthreadsafe

Choice #2 -- double or single functionality on an end.

data SingleEnd

data DoubleEnd

Choice #3 -- bounded or growing queues:

data Bound

data Grow

Choice #4 -- duplication of elements.

data Safe

data Dup

Aliases enabling more concise Deque types:

type S

type D

type NT

type T

Aliases for commonly used Deque configurations:

type Queue a

type ConcQueue a

type ConcDeque a

type WSDeque a

Class for basic Queue operations

class DequeClass d

Extra capabilities: type classes

The "unnatural" double ended cases: pop left, push right.

class PopL d

class PushR d

Operations that only make sense for bounded queues.

class BoundedL d

class BoundedR d