| Portability | GHC |
|---|---|
| Stability | experimental |
| Maintainer | Edward Kmett <ekmett@gmail.com> |
| Safe Haskell | Safe-Inferred |
Generics.Deriving.Lens
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.
- generic :: Generic a => Iso' a (Rep a b)
- generic1 :: Generic1 f => Iso' (f a) (Rep1 f a)
- tinplate :: (Generic a, GTraversal (Rep a), Typeable b) => Traversal' a b
- class GTraversal f
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
class GTraversal f Source
Used to traverse Generic data by uniplate.
Instances
| GTraversal U1 | |
| (Generic a, GTraversal (Rep a), Typeable a) => GTraversal (K1 i a) | |
| (GTraversal f, GTraversal g) => GTraversal (:+: f g) | |
| (GTraversal f, GTraversal g) => GTraversal (:*: f g) | |
| (Traversable f, GTraversal g) => GTraversal (:.: f g) | |
| GTraversal a => GTraversal (M1 i c a) |