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

Copyright(C) 2017 Csongor Kiss
LicenseBSD3
MaintainerCsongor Kiss <kiss.csongor.kiss@gmail.com>
Stabilityexperimental
Portabilitynon-portable
Safe HaskellSafe
LanguageHaskell2010

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 

Fields

Instances

Functor f => Functor (Curried f) Source # 

Methods

fmap :: (a -> b) -> Curried f a -> Curried f b #

(<$) :: a -> Curried f b -> Curried f a #

Functor f => Applicative (Curried f) Source # 

Methods

pure :: 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 

Fields

Instances

Functor (Yoneda f) Source # 

Methods

fmap :: (a -> b) -> Yoneda f a -> Yoneda f b #

(<$) :: a -> Yoneda f b -> Yoneda f a #

Applicative f => Applicative (Yoneda f) Source # 

Methods

pure :: 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 #