Portability | GHC |
---|---|
Stability | experimental |
Maintainer | Edward Kmett <ekmett@gmail.com> |
Safe Haskell | Safe-Infered |
Conversion to/from generic
generic :: (Generic a, Generic b) => Iso a b (Rep a x) (Rep b y)Source
Convert from the data type to its representation (or back)
>>>
"hello"^.generic.from generic
"hello"
generic1 :: (Generic1 f, Generic1 g) => Iso (f a) (g b) (Rep1 f a) (Rep1 g b)Source
Convert from the data type to its representation (or back)
Generic Traversal
every :: (Generic a, GTraversal (Rep a), Typeable b) => Simple Traversal a bSource
Traverse using GHC.Generics.
>>>
allOf every (=="Hello") (1::Int,2::Double,(),"Hello",["Hello"])
True
>>>
mapMOf_ every putStrLn ("hello",[(2 :: Int, "world!")])
hello world!
class GTraversal f Source
Traversable generic data types. Used by every
.
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) |