Control.Lens.Internal.Setter

lens-4.14: Lenses, Folds and Traversals

Copyright | (C) 2012-2016 Edward Kmett
License | BSD-style (see the file LICENSE)
Maintainer | Edward Kmett <ekmett@gmail.com>
Stability | provisional
Portability | non-portable
Safe Haskell | Safe
Language | Haskell98

Control.Lens.Internal.Setter

Contents

- Setters

Description

Synopsis

- class (Applicative f, Distributive f, Traversable f) => Settable f where

## Setters

class (Applicative f, Distributive f, Traversable f) => Settable f where #

Anything `Settable` must be isomorphic to the `Identity` `Functor`.

Minimal complete definition

untainted

Methods

untainted :: f a -> a #

untaintedDot :: Profunctor p => p a (f b) -> p a b #

taintedDot :: Profunctor p => p a b -> p a (f b) #

Instances

Settable Identity # | So you can pass our `Setter` into combinators from other lens libraries.
Methods untainted :: Identity a -> a # untaintedDot :: Profunctor p => p a (Identity b) -> p a b # taintedDot :: Profunctor p => p a b -> p a (Identity b) #
Settable f => Settable (Backwards * f) # | `backwards`
Methods untainted :: Backwards * f a -> a # untaintedDot :: Profunctor p => p a (Backwards * f b) -> p a b # taintedDot :: Profunctor p => p a b -> p a (Backwards * f b) #
(Settable f, Settable g) => Settable (Compose * * f g) # |
Methods untainted :: Compose * * f g a -> a # untaintedDot :: Profunctor p => p a (Compose * * f g b) -> p a b # taintedDot :: Profunctor p => p a b -> p a (Compose * * f g b) #