
Generics.Pointless.Lenses.Combinators  Portability  nonportable  Stability  experimental  Maintainer  hpacheco@di.uminho.pt 





Description 
Pointless Lenses:
bidirectional lenses with pointfree programming
This module lifts a standard set of pointfree combinators into bidirectional lenses.


Synopsis 

ap_lns :: Eq a => a > Lens (a > b, a) b   (?<) :: Eq a => Lens (a > Bool, a) (Either a a)   rexp_lns :: Lens b c > Lens (a > b) (a > c)   (.<) :: Lens b a > Lens c b > Lens c a   fst_lns :: b > Lens (a, b) a   snd_lns :: a > Lens (a, b) b   (><<) :: Lens c a > Lens d b > Lens (c, d) (a, b)   (.\/<) :: Lens a c > Lens b c > Lens (Either a b) c   (\/.<) :: Lens a c > Lens b c > Lens (Either a b) c   (<) :: Lens c a > Lens d b > Lens (Either c d) (Either a b)   sum_lns :: ((a, d) > c) > ((b, c) > d) > Lens c a > Lens d b > Lens (Either c d) (Either a b)   (!<) :: c > Lens c One   (!\/<) :: Eq a => a > Lens b a > c > Lens (Either c b) a   (\/!<) :: Eq a => a > Lens c a > b > Lens (Either c b) a   (#\/<) :: Lens b (Either a c) > Lens (Either a b) (Either a c)   (\/$<) :: Lens a (Either c b) > Lens (Either a b) (Either c b)   id_lns :: Lens c c   distp_lns :: Lens ((c, d), (a, b)) ((c, a), (d, b))   dists_lns :: Lens (Either a b, Either c d) (Either (Either (a, c) (a, d)) (Either (b, c) (b, d)))   swap_lns :: Lens (a, b) (b, a)   coswap_lns :: Lens (Either a b) (Either b a)   distl_lns :: Lens (Either a b, c) (Either (a, c) (b, c))   undistl_lns :: Lens (Either (a, c) (b, c)) (Either a b, c)   distr_lns :: Lens (c, Either a b) (Either (c, a) (c, b))   undistr_lns :: Lens (Either (c, a) (c, b)) (c, Either a b)   assocl_lns :: Lens (a, (b, c)) ((a, b), c)   assocr_lns :: Lens ((a, b), c) (a, (b, c))   coassocl_lns :: Lens (Either a (Either b c)) (Either (Either a b) c)   coassocr_lns :: Lens (Either (Either a b) c) (Either a (Either b c)) 



Pointfree lens combinators



Function application is a lens.



Predicate application is a lens.



The right exponentiation combinator as a lens.
Applies a lens to the domain of a function.



The lens composition operator.



The fst pointfree combinator.



The snd pointfree combinator.



The >< pointfree combinator.



The leftbiased / pointfree combinator.
It chooses left values over right values in the create direction.



The rightbiased / pointfree combinator.
It chooses right values over left values in the create direction.



The  pointfree combinator.



The  pointfree combinator with userdefined backward behavior.



The pnt pointfree combinator.



The (a!) / f pointfree expression, where a is a constant and f a function.
The additional argument of type c is the default value when the view matches the constant of type a.



The f / (a!) pointfree expression, where a is a constant and f a function.
The additional argument of type b is the default value when the view matches the constant of type a.



The inl / f pointfree expression, where f is a function.



The f / inr pointfree expression, where f is a function.


Pointfree isomorphism combinators



The lens identity combinator.


distp_lns :: Lens ((c, d), (a, b)) ((c, a), (d, b))  Source 

The distp pointfree combinator.



The dists pointfree combinator.



The swap pointfree combinator.



The coswap pointfree combinator



The distl pointfree combinator.



The undistl pointfree combinator.



The distr pointfree combinator.



The undistr pointfree combinator.



The assocl pointfree combinator.



The assocr pointfree combinator.



The coassocl pointfree combinator.



The coassocr pointfree combinator.


Produced by Haddock version 2.7.2 