Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- type Lens' s a = Lens s s a a
- type Lens s t a b = forall f. Functor f => (a -> f b) -> s -> f t
- view :: ((a -> Const a a) -> s -> Const a s) -> s -> a
- (^.) :: s -> ((a -> Const a a) -> s -> Const a s) -> a
- (.~) :: ((a -> Identity b) -> s -> Identity t) -> b -> s -> t
- set :: Lens s t a b -> b -> s -> t
- over :: ((a -> Identity b) -> s -> Identity t) -> (a -> b) -> s -> t
- lens2lensvl :: ALens a b i s t -> Lens s t a b
- ravel :: ( ALens a b i a b -> ALens a b i s t) -> Lens s t a b
- lens :: (s -> a) -> (s -> b -> t) -> Lens s t a b
- data Exchange a b s t = Exchange (s -> a) (b -> t)
- type Iso' s a = forall p f. ( Profunctor p, Functor f) => p a (f a) -> p s (f s)
- type Iso s t a b = forall p f. ( Profunctor p, Functor f) => p a (f b) -> p s (f t)
- fromIso :: Iso s t a b -> Iso b a t s
- iso2isovl :: Iso s t a b -> Iso s t a b
- withIso :: Iso s t a b -> ((s -> a) -> (b -> t) -> r) -> r
- repIso :: ( Generic a, Generic b) => Iso a b ( Rep a x) ( Rep b x)
- repIsoN :: ( GenericN a, GenericN b) => Iso a b ( RepN a x) ( RepN b x)
- paramIso :: Iso ( Param n a) ( Param n b) a b
- mIso :: Iso ( M1 i c f p) ( M1 i c g p) (f p) (g p)
- kIso :: Iso ( K1 r a p) ( K1 r b p) a b
- recIso :: Iso ( Rec r a p) ( Rec r b p) a b
- prodIso :: Iso ((a :*: b) x) ((a' :*: b') x) (a x, b x) (a' x, b' x)
- iso :: (s -> a) -> (b -> t) -> Iso s t a b
- type Prism s t a b = forall p f. ( Choice p, Applicative f) => p a (f b) -> p s (f t)
- type Prism' s a = Prism s s a a
- match :: Prism s t a b -> s -> Either t a
- build :: Prism s t a b -> b -> t
- prism :: (b -> t) -> (s -> Either t a) -> Prism s t a b
- prism2prismvl :: APrism i s t a b -> Prism s t a b
- data Market a b s t = Market (b -> t) (s -> Either t a)
- module Data.Generics.Internal.VL.Traversal
Documentation
lens2lensvl :: ALens a b i s t -> Lens s t a b Source #
data Exchange a b s t Source #
Exchange (s -> a) (b -> t) |
Instances
Profunctor ( Exchange a b) Source # | |
Defined in Data.Generics.Internal.VL.Iso dimap :: (a0 -> b0) -> (c -> d) -> Exchange a b b0 c -> Exchange a b a0 d Source # lmap :: (a0 -> b0) -> Exchange a b b0 c -> Exchange a b a0 c Source # rmap :: (b0 -> c) -> Exchange a b a0 b0 -> Exchange a b a0 c Source # (#.) :: forall a0 b0 c q. Coercible c b0 => q b0 c -> Exchange a b a0 b0 -> Exchange a b a0 c Source # (.#) :: forall a0 b0 c q. Coercible b0 a0 => Exchange a b b0 c -> q a0 b0 -> Exchange a b a0 c Source # |
|
Functor ( Exchange a b s) Source # | |
type Iso' s a = forall p f. ( Profunctor p, Functor f) => p a (f a) -> p s (f s) Source #
type Iso s t a b = forall p f. ( Profunctor p, Functor f) => p a (f b) -> p s (f t) Source #
withIso :: Iso s t a b -> ((s -> a) -> (b -> t) -> r) -> r Source #
Extract the two functions, one from
s -> a
and
one from
b -> t
that characterize an
Iso
.
repIso :: ( Generic a, Generic b) => Iso a b ( Rep a x) ( Rep b x) Source #
A type and its generic representation are isomorphic
type Prism s t a b = forall p f. ( Choice p, Applicative f) => p a (f b) -> p s (f t) Source #
Type alias for prism
prism2prismvl :: APrism i s t a b -> Prism s t a b Source #
Instances
Choice ( Market a b) Source # | |
Profunctor ( Market a b) Source # | |
Defined in Data.Generics.Internal.VL.Prism dimap :: (a0 -> b0) -> (c -> d) -> Market a b b0 c -> Market a b a0 d Source # lmap :: (a0 -> b0) -> Market a b b0 c -> Market a b a0 c Source # rmap :: (b0 -> c) -> Market a b a0 b0 -> Market a b a0 c Source # (#.) :: forall a0 b0 c q. Coercible c b0 => q b0 c -> Market a b a0 b0 -> Market a b a0 c Source # (.#) :: forall a0 b0 c q. Coercible b0 a0 => Market a b b0 c -> q a0 b0 -> Market a b a0 c Source # |
|
Functor ( Market a b s) Source # | |