Zafu/Collection/Deque

Zafu/Collection/Deque

source code:

public dependencies: Zafu/Abstract/Foldable, Zafu/Abstract/Traverse

Index

Types

Queue[a]

Banker's deque represented by a front list and a reversed back list.

type Queue[a: +*]

Values

cmp

references: Comparison, Queue

def cmp[a, b](fn: (a, b) -> Comparison) -> (Queue[a], Queue[b]) -> Comparison

concat

Concatenates two deques in iteration order.

references: Queue

def concat[a](left: Queue[a], right: Queue[a]) -> Queue[a]

dequeue

Pops the front item.

references: Option, Queue, Tuple2

def dequeue[a](queue: Queue[a]) -> Option[(a, Queue[a])]

empty

Canonical empty value.

references: Queue

empty: forall a: *. Queue[a]

enqueue

Pushes an item to the back.

references: Queue

def enqueue[a](queue: Queue[a], item: a) -> Queue[a]

eq

references: Bool, Queue

def eq[a, b](fn: (a, b) -> Bool) -> (Queue[a], Queue[b]) -> Bool

foldable_Queue

references: Queue, Zafu/Abstract/Foldable::Foldable

foldable_Queue: Zafu/Abstract/Foldable::Foldable[Queue]

foldl

Left fold in iteration order.

references: Queue

def foldl[a, b](queue: Queue[a], init: b, fn: (b, a) -> b) -> b

foldr

Right fold in iteration order.

references: Queue

def foldr[a, b](queue: Queue[a], init: b, fn: (a, b) -> b) -> b

from_List

Builds a deque from a list in iteration order.

references: List, Queue

def from_List[a](list: List[a]) -> Queue[a]

is_empty

True when the deque has no elements.

references: Bool, Queue

def is_empty[a](queue: Queue[a]) -> Bool

peek

Returns the front item without removing it.

references: Option, Queue

def peek[a](queue: Queue[a]) -> Option[a]

push_stack

Pushes an item to the front.

references: Queue

def push_stack[a](queue: Queue[a], item: a) -> Queue[a]

size

Returns the number of items.

references: Int, Queue

def size[a](queue: Queue[a]) -> Int

to_List

Returns items in iteration order.

references: List, Queue

def to_List[a](queue: Queue[a]) -> List[a]

traverse_Queue

references: Queue, Zafu/Abstract/Traverse::Traverse

traverse_Queue: Zafu/Abstract/Traverse::Traverse[Queue]

unqueue

Pops the back item.

references: Option, Queue, Tuple2

def unqueue[a](queue: Queue[a]) -> Option[(Queue[a], a)]