pandora-0.3.1: A box of patterns and paradigms

Safe HaskellSafe
LanguageHaskell2010

Pandora.Paradigm.Structure.Stack

Contents

Synopsis

Documentation

type Stack = Maybe <:.> Construction Maybe Source #

Linear data structure that serves as a collection of elements

delete :: Setoid a => a -> Stack a -> Stack a Source #

linearize :: Traversable t => t ~> Stack Source #

Transform any traversable structure into a stack

Orphan instances

Insertable Stack Source # 
Instance details

Methods

insert :: a -> Stack a -> Stack a Source #

Set Stack Source # 
Instance details

Methods

member :: Setoid a => a -> Stack a -> Boolean Source #

Insertable (Construction Maybe) Source # 
Instance details

Semigroup (Stack a) Source # 
Instance details

Methods

(+) :: Stack a -> Stack a -> Stack a Source #

Monoid (Stack a) Source # 
Instance details

Methods

zero :: Stack a Source #

Setoid a => Setoid (Stack a) Source # 
Instance details

Methods

(==) :: Stack a -> Stack a -> Boolean Source #

(/=) :: Stack a -> Stack a -> Boolean Source #

Focusable (Head :: Type -> Location Type) Stack Source # 
Instance details

Associated Types

type Focusing Head Stack a :: Type Source #

Focusable (Head :: Type -> Location Type) (Construction Maybe) Source # 
Instance details

Associated Types

type Focusing Head (Construction Maybe) a :: Type Source #

Covariant (Delta <:.> Stack) Source # 
Instance details

Methods

(<$>) :: (a -> b) -> (Delta <:.> Stack) a -> (Delta <:.> Stack) b Source #

comap :: (a -> b) -> (Delta <:.> Stack) a -> (Delta <:.> Stack) b Source #

(<$) :: a -> (Delta <:.> Stack) b -> (Delta <:.> Stack) a Source #

($>) :: (Delta <:.> Stack) a -> b -> (Delta <:.> Stack) b Source #

void :: (Delta <:.> Stack) a -> (Delta <:.> Stack) () Source #

loeb :: (Delta <:.> Stack) (a <-| (Delta <:.> Stack)) -> (Delta <:.> Stack) a Source #

(<&>) :: (Delta <:.> Stack) a -> (a -> b) -> (Delta <:.> Stack) b Source #

(<$$>) :: Covariant u => (a -> b) -> (((Delta <:.> Stack) :. u) := a) -> ((Delta <:.> Stack) :. u) := b Source #

(<$$$>) :: (Covariant u, Covariant v) => (a -> b) -> (((Delta <:.> Stack) :. (u :. v)) := a) -> ((Delta <:.> Stack) :. (u :. v)) := b Source #

(<$$$$>) :: (Covariant u, Covariant v, Covariant w) => (a -> b) -> (((Delta <:.> Stack) :. (u :. (v :. w))) := a) -> ((Delta <:.> Stack) :. (u :. (v :. w))) := b Source #

(<&&>) :: Covariant u => (((Delta <:.> Stack) :. u) := a) -> (a -> b) -> ((Delta <:.> Stack) :. u) := b Source #

(<&&&>) :: (Covariant u, Covariant v) => (((Delta <:.> Stack) :. (u :. v)) := a) -> (a -> b) -> ((Delta <:.> Stack) :. (u :. v)) := b Source #

(<&&&&>) :: (Covariant u, Covariant v, Covariant w) => (((Delta <:.> Stack) :. (u :. (v :. w))) := a) -> (a -> b) -> ((Delta <:.> Stack) :. (u :. (v :. w))) := b Source #