pandora-0.3.5: A box of patterns and paradigms
Safe HaskellSafe-Inferred
LanguageHaskell2010

Pandora.Paradigm.Structure.Stack

Synopsis

Documentation

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

Linear data structure that serves as a collection of elements

filter :: forall a. Predicate a -> Stack a -> Stack a Source #

linearize :: forall t a. Traversable t => t a -> Stack a Source #

Transform any traversable structure into a stack

Orphan instances

Insertable Stack Source # 
Instance details

Methods

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

Measurable 'Length Stack Source # 
Instance details

Associated Types

type Measural 'Length Stack a Source #

Measurable 'Length (Construction Maybe) Source # 
Instance details

Associated Types

type Measural 'Length (Construction Maybe) a Source #

Monotonic a (Construction Maybe a) Source # 
Instance details

Methods

reduce :: (a -> r -> r) -> r -> Construction Maybe a -> r Source #

resolve :: (a -> r) -> r -> Construction Maybe a -> r Source #

Monotonic a ((Maybe <:.> Construction Maybe) := a) Source # 
Instance details

Methods

reduce :: (a -> r -> r) -> r -> ((Maybe <:.> Construction Maybe) := a) -> r Source #

resolve :: (a -> r) -> r -> ((Maybe <:.> Construction Maybe) := a) -> r Source #

Insertable (Construction Maybe) Source # 
Instance details

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

Methods

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

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

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

duplicate :: Tap (Delta <:.> Stack) a -> (Tap (Delta <:.> Stack) :. Tap (Delta <:.> Stack)) := a Source #

(=<=) :: (Tap (Delta <:.> Stack) b -> c) -> (Tap (Delta <:.> Stack) a -> b) -> Tap (Delta <:.> Stack) a -> c Source #

(=>=) :: (Tap (Delta <:.> Stack) a -> b) -> (Tap (Delta <:.> Stack) b -> c) -> Tap (Delta <:.> Stack) a -> c Source #

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

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

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 #

Nullable Stack Source # 
Instance details

Methods

null :: forall (a :: k). (Predicate :. Stack) := a Source #

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

Associated Types

type Focusing 'Head Stack a Source #

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

Associated Types

type Focusing 'Head (Construction Maybe) a Source #

Setoid a2 => Substructure ('Delete ('First :: a1 -> Segment a1) :: Command (a1 -> Segment a1)) Stack a2 Source # 
Instance details

Associated Types

type Substructural ('Delete 'First) Stack a2 Source #

Setoid a2 => Substructure ('Delete ('All :: a1 -> Segment a1) :: Command (a1 -> Segment a1)) (Construction Maybe) a2 Source # 
Instance details

Associated Types

type Substructural ('Delete 'All) (Construction Maybe) a2 Source #

Setoid a2 => Substructure ('Delete ('First :: a1 -> Segment a1) :: Command (a1 -> Segment a1)) (Construction Maybe) a2 Source # 
Instance details

Associated Types

type Substructural ('Delete 'First) (Construction Maybe) a2 Source #

Substructure ('Tail :: a1 -> Segment a1) Stack a2 Source # 
Instance details

Associated Types

type Substructural 'Tail Stack a2 Source #

Rotatable ('Right :: a -> Wye a) (Tap (Delta <:.> Construction Maybe)) Source # 
Instance details

Associated Types

type Rotational 'Right (Tap (Delta <:.> Construction Maybe)) a Source #

Rotatable ('Left :: a -> Wye a) (Tap (Delta <:.> Construction Maybe)) Source # 
Instance details

Associated Types

type Rotational 'Left (Tap (Delta <:.> Construction Maybe)) a Source #

Rotatable ('Right :: a -> Wye a) (Tap (Delta <:.> Stack)) Source # 
Instance details

Associated Types

type Rotational 'Right (Tap (Delta <:.> Stack)) a Source #

Rotatable ('Left :: a -> Wye a) (Tap (Delta <:.> Stack)) Source # 
Instance details

Associated Types

type Rotational 'Left (Tap (Delta <:.> Stack)) a Source #

Substructure ('Tail :: a1 -> Segment a1) (Construction Maybe) a2 Source # 
Instance details

Associated Types

type Substructural 'Tail (Construction Maybe) a2 Source #