generic-lens-1.0.0.2: Generically derive traversals, lenses and prisms.

Copyright (C) 2017 Csongor Kiss BSD3 Csongor Kiss experimental non-portable Safe Haskell2010

Data.Generics.Internal.VL.Traversal

Description

Internal lens helpers. Only exported for Haddock

Synopsis

# Documentation

type Traversal' s a = forall f. Applicative f => (a -> f a) -> s -> f s Source #

Type alias for traversal

type TraversalC (c :: * -> * -> Constraint) s t = forall f. Applicative f => (forall a b. c a b => a -> f b) -> s -> f t Source #

type TraversalC' (c :: * -> Constraint) s = forall f. Applicative f => (forall a. c a => a -> f a) -> s -> f s Source #

type Traversal s t a b = forall f. Applicative f => (a -> f b) -> s -> f t Source #

type LensLikeC c f s = (forall a. c a => a -> f a) -> s -> f s Source #

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

confusingC :: forall c f s. Applicative f => TraversalC' c s -> LensLikeC c f s Source #

yap :: Applicative f => Yoneda f (a -> b) -> f a -> Yoneda f b Source #

newtype Curried f a Source #

Constructors

 Curried FieldsrunCurried :: forall r. f (a -> r) -> f r
Instances
 Functor f => Functor (Curried f) Source # Instance detailsDefined in Data.Generics.Internal.VL.Traversal Methodsfmap :: (a -> b) -> Curried f a -> Curried f b #(<$) :: a -> Curried f b -> Curried f a # Functor f => Applicative (Curried f) Source # Instance detailsDefined in Data.Generics.Internal.VL.Traversal Methodspure :: a -> Curried f a #(<*>) :: Curried f (a -> b) -> Curried f a -> Curried f b #liftA2 :: (a -> b -> c) -> Curried f a -> Curried f b -> Curried f c #(*>) :: Curried f a -> Curried f b -> Curried f b #(<*) :: Curried f a -> Curried f b -> Curried f a # newtype Yoneda f a Source # Constructors  Yoneda FieldsrunYoneda :: forall b. (a -> b) -> f b Instances  Source # Instance detailsDefined in Data.Generics.Internal.VL.Traversal Methodsfmap :: (a -> b) -> Yoneda f a -> Yoneda f b #(<$) :: a -> Yoneda f b -> Yoneda f a # Applicative f => Applicative (Yoneda f) Source # Instance detailsDefined in Data.Generics.Internal.VL.Traversal Methodspure :: a -> Yoneda f a #(<*>) :: Yoneda f (a -> b) -> Yoneda f a -> Yoneda f b #liftA2 :: (a -> b -> c) -> Yoneda f a -> Yoneda f b -> Yoneda f c #(*>) :: Yoneda f a -> Yoneda f b -> Yoneda f b #(<*) :: Yoneda f a -> Yoneda f b -> Yoneda f a #

liftYoneda :: Functor f => f a -> Yoneda f a Source #

lowerYoneda :: Yoneda f a -> f a Source #