Control.Lens.Internal.Setter

lens-4.13.2.1: 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
  - 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 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.
Settable f => Settable (Backwards f) | `backwards`
(Settable f, Settable g) => Settable (Compose f g) |