boomerang-1.4.7: Library for invertible parsing and printing
Safe HaskellSafe-Inferred
LanguageHaskell2010

Text.Boomerang.HStack

Description

a simple heteregenous stack library

Synopsis

Documentation

data a :- b infixr 8 Source #

A stack datatype. Just a better looking tuple.

Constructors

a :- b infixr 8 

Instances

Instances details
(Eq a, Eq b) => Eq (a :- b) Source # 
Instance details

Defined in Text.Boomerang.HStack

Methods

(==) :: (a :- b) -> (a :- b) -> Bool #

(/=) :: (a :- b) -> (a :- b) -> Bool #

(Show a, Show b) => Show (a :- b) Source # 
Instance details

Defined in Text.Boomerang.HStack

Methods

showsPrec :: Int -> (a :- b) -> ShowS #

show :: (a :- b) -> String #

showList :: [a :- b] -> ShowS #

arg :: (ty -> r -> s) -> (a -> ty) -> (a :- r) -> s Source #

hdTraverse :: Functor f => (a -> f b) -> (a :- t) -> f (b :- t) Source #

Applicative traversal over the top of the stack.

hdMap :: (a1 -> a2) -> (a1 :- b) -> a2 :- b Source #

Map over the top of the stack.

hhead :: (a :- b) -> a Source #

Get the top of the stack.

htail :: (a :- b) -> b Source #

Get the stack with the top popped.

pop :: (a -> b -> r) -> (a :- b) -> r Source #

Stack destructor.