type-aligned-0.9.6: Various type-aligned sequence data structures.

Copyright(c) Atze van der Ploeg 2013
LicenseBSD-style
Maintaineratzeus@gmail.org
Stabilityprovisional
Portabilityportable
Safe HaskellSafe
LanguageHaskell98

Data.TASequence.ToCatQueue

Description

A purely functional catenable queue representation with that turns takes a purely functional queue and turns in it into a catenable queue, i.e. with the same complexity for >< as for |> Based on Purely functional data structures by Chris Okasaki section 7.2: Catenable lists

Synopsis

Documentation

data ToCatQueue q c x y #

The catenable queue type. The first type argument is the type of the queue we use (|>)

Instances

TASequence q => TASequence (ToCatQueue q) # 

Methods

tempty :: ToCatQueue q c x x #

tsingleton :: c x y -> ToCatQueue q c x y #

(><) :: ToCatQueue q c x y -> ToCatQueue q c y z -> ToCatQueue q c x z #

tviewl :: ToCatQueue q c x y -> TAViewL (ToCatQueue q) c x y #

tviewr :: ToCatQueue q c x y -> TAViewR (ToCatQueue q) c x y #

(|>) :: ToCatQueue q c x y -> c y z -> ToCatQueue q c x z #

(<|) :: c x y -> ToCatQueue q c y z -> ToCatQueue q c x z #

tmap :: (forall x y. c x y -> d x y) -> ToCatQueue q c x y -> ToCatQueue q d x y #