comonad-extras-4.0.1: Exotic comonad transformers

Copyright(C) 2008-2013 Edward Kmett
LicenseBSD-style (see the file LICENSE)
MaintainerEdward Kmett <ekmett@gmail.com>
Stabilityexperimental
Portabilityportable
Safe HaskellSafe
LanguageHaskell98

Control.Comonad.Store.Zipper

Description

 

Documentation

data Zipper t a Source #

Instances
ComonadStore Int (Zipper t) Source # 
Instance details

Defined in Control.Comonad.Store.Zipper

Methods

pos :: Zipper t a -> Int #

peek :: Int -> Zipper t a -> a #

peeks :: (Int -> Int) -> Zipper t a -> a #

seek :: Int -> Zipper t a -> Zipper t a #

seeks :: (Int -> Int) -> Zipper t a -> Zipper t a #

experiment :: Functor f => (Int -> f Int) -> Zipper t a -> f a #

Functor (Zipper t) Source # 
Instance details

Defined in Control.Comonad.Store.Zipper

Methods

fmap :: (a -> b) -> Zipper t a -> Zipper t b #

(<$) :: a -> Zipper t b -> Zipper t a #

Foldable (Zipper t) Source # 
Instance details

Defined in Control.Comonad.Store.Zipper

Methods

fold :: Monoid m => Zipper t m -> m #

foldMap :: Monoid m => (a -> m) -> Zipper t a -> m #

foldr :: (a -> b -> b) -> b -> Zipper t a -> b #

foldr' :: (a -> b -> b) -> b -> Zipper t a -> b #

foldl :: (b -> a -> b) -> b -> Zipper t a -> b #

foldl' :: (b -> a -> b) -> b -> Zipper t a -> b #

foldr1 :: (a -> a -> a) -> Zipper t a -> a #

foldl1 :: (a -> a -> a) -> Zipper t a -> a #

toList :: Zipper t a -> [a] #

null :: Zipper t a -> Bool #

length :: Zipper t a -> Int #

elem :: Eq a => a -> Zipper t a -> Bool #

maximum :: Ord a => Zipper t a -> a #

minimum :: Ord a => Zipper t a -> a #

sum :: Num a => Zipper t a -> a #

product :: Num a => Zipper t a -> a #

Traversable (Zipper t) Source # 
Instance details

Defined in Control.Comonad.Store.Zipper

Methods

traverse :: Applicative f => (a -> f b) -> Zipper t a -> f (Zipper t b) #

sequenceA :: Applicative f => Zipper t (f a) -> f (Zipper t a) #

mapM :: Monad m => (a -> m b) -> Zipper t a -> m (Zipper t b) #

sequence :: Monad m => Zipper t (m a) -> m (Zipper t a) #

Comonad (Zipper t) Source # 
Instance details

Defined in Control.Comonad.Store.Zipper

Methods

extract :: Zipper t a -> a #

duplicate :: Zipper t a -> Zipper t (Zipper t a) #

extend :: (Zipper t a -> b) -> Zipper t a -> Zipper t b #

Extend (Zipper t) Source # 
Instance details

Defined in Control.Comonad.Store.Zipper

Methods

duplicated :: Zipper t a -> Zipper t (Zipper t a) #

extended :: (Zipper t a -> b) -> Zipper t a -> Zipper t b #

zipper :: Traversable t => t a -> Maybe (Zipper t a) Source #

zipper1 :: Traversable1 t => t a -> Zipper t a Source #

unzipper :: Zipper t a -> t a Source #

size :: Zipper t a -> Int Source #