lens-5.3.3: 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 | Trustworthy
Language | Haskell2010

Control.Lens.Internal.Setter

Contents

- Setters

Description

Synopsis

- class (Applicative f, Distributive f, Traversable f) => Settable (f :: Type -> Type) where
  - untainted :: f a -> a
  - untaintedDot :: Profunctor p => p a (f b) -> p a b
  - taintedDot :: Profunctor p => p a b -> p a (f b)

## Setters

class (Applicative f, Distributive f, Traversable f) => Settable (f :: Type -> Type) 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

Instances details

Settable Identity # | So you can pass our `Setter` into combinators from other lens libraries.
Instance details Defined in Control.Lens.Internal.Setter 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`
Instance details Defined in Control.Lens.Internal.Setter 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) # |
Instance details Defined in Control.Lens.Internal.Setter 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) #