fresnel-0.0.0.0: high-powered optics in a small package
Safe HaskellNone
LanguageHaskell2010

Fresnel.Traversal

Synopsis

Traversals

type Traversal s t a b = forall p. IsTraversal p => Optic p s t a b Source #

type Traversal' s a = Traversal s s a a Source #

class (IsOptional p, Traversing p) => IsTraversal p Source #

Instances

Instances details
Monad m => IsTraversal (Kleisli m) Source # 
Instance details

Defined in Fresnel.Traversal.Internal

IsTraversal ((->) :: Type -> Type -> Type) Source # 
Instance details

Defined in Fresnel.Traversal.Internal

Monoid r => IsTraversal (Forget r :: Type -> Type -> Type) Source # 
Instance details

Defined in Fresnel.Traversal.Internal

Applicative f => IsTraversal (Star f) Source # 
Instance details

Defined in Fresnel.Traversal.Internal

Construction

traversed :: Traversable t => Traversal (t a) (t b) a b Source #

backwards :: Traversal s t a b -> Traversal s t a b Source #

Elimination

traverseOf :: Applicative f => Traversal s t a b -> (a -> f b) -> s -> f t Source #

forOf :: Applicative f => Traversal s t a b -> s -> (a -> f b) -> f t Source #

sequenceOf :: Applicative f => Traversal s t (f b) b -> s -> f t Source #

transposeOf :: Traversal s t [a] a -> s -> [t] Source #

mapAccumLOf :: Traversal s t a b -> (accum -> a -> (b, accum)) -> accum -> s -> (t, accum) Source #

mapAccumROf :: Traversal s t a b -> (accum -> a -> (b, accum)) -> accum -> s -> (t, accum) Source #

scanl1Of :: Traversal s t a a -> (a -> a -> a) -> s -> t Source #

scanr1Of :: Traversal s t a a -> (a -> a -> a) -> s -> t Source #