Portability | portable |
---|---|

Stability | provisional |

Maintainer | Edward Kmett <ekmett@gmail.com> |

Safe Haskell | Safe-Infered |

Note: `traverse`

is a `MultiLensFamily`

- type MultiLens a b = forall f. Applicative f => (b -> f b) -> a -> f a
- type MultiLensFamily a b c d = forall f. Applicative f => (c -> f d) -> a -> f b
- constML :: Applicative f => (a -> f a) -> b -> f b
- mapML :: (Applicative f, Ord k) => k -> (v -> f v) -> Map k v -> f (Map k v)
- intMapML :: Applicative f => Int -> (v -> f v) -> IntMap v -> f (IntMap v)
- headML :: Applicative f => (a -> f a) -> [a] -> f [a]
- tailML :: Applicative f => ([a] -> f [a]) -> [a] -> f [a]
- leftML :: Applicative f => (a -> f b) -> Either a c -> f (Either b c)
- elementML :: (Applicative f, Traversable t) => Int -> (a -> f a) -> t a -> f (t a)

# Lenses

type MultiLens a b = forall f. Applicative f => (b -> f b) -> a -> f aSource

type MultiLensFamily a b c d = forall f. Applicative f => (c -> f d) -> a -> f bSource

# Common lenses

constML :: Applicative f => (a -> f a) -> b -> f bSource

headML :: Applicative f => (a -> f a) -> [a] -> f [a]Source

tailML :: Applicative f => ([a] -> f [a]) -> [a] -> f [a]Source

leftML :: Applicative f => (a -> f b) -> Either a c -> f (Either b c)Source

elementML :: (Applicative f, Traversable t) => Int -> (a -> f a) -> t a -> f (t a)Source