lens-4.3.2: Lenses, Folds and Traversals

PortabilityGHC
Stabilityexperimental
MaintainerEdward Kmett <ekmett@gmail.com>
Safe HaskellSafe-Inferred

Generics.Deriving.Lens

Contents

Description

Note: Generics.Deriving exports a number of names that collide with Control.Lens.

You can use hiding to mitigate this to an extent, and the following import represents a fair compromise for user code:

 import Generics.Deriving hiding (from, to)

You can use generic to replace from and to from Generics.Deriving.

Synopsis

Isomorphisms for GHC.Generics

generic :: Generic a => Iso' a (Rep a b)Source

Convert from the data type to its representation (or back)

>>> "hello"^.generic.from generic :: String
"hello"

generic1 :: Generic1 f => Iso' (f a) (Rep1 f a)Source

Convert from the data type to its representation (or back)

Generic Traversal

tinplate :: (Generic a, GTraversal (Rep a), Typeable b) => Traversal' a bSource

A Generic Traversal that visits every occurrence of something Typeable anywhere in a container.

>>> allOf tinplate (=="Hello") (1::Int,2::Double,(),"Hello",["Hello"])
True
>>> mapMOf_ tinplate putStrLn ("hello",[(2 :: Int, "world!")])
hello
world!

class GTraversal f Source

Used to traverse Generic data by uniplate.

Instances