-
Notifications
You must be signed in to change notification settings - Fork 272
/
Control-Lens.html
23 lines (23 loc) · 5.16 KB
/
Control-Lens.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Control.Lens</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
window.onload = function () {pageLoad();setSynopsis("mini_Control-Lens.html");};
//]]>
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="src/Control-Lens.html">Source</a></li><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">lens-3.5.1: Lenses, Folds and Traversals</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Portability</th><td>Rank2Types</td></tr><tr><th>Stability</th><td>provisional</td></tr><tr><th>Maintainer</th><td>Edward Kmett <ekmett@gmail.com></td></tr><tr><th>Safe Haskell</th><td>Trustworthy</td></tr></table><p class="caption">Control.Lens</p></div><div id="description"><p class="caption">Description</p><div class="doc"><p>Usage:
</p><p>You can derive lenses automatically for many data types:
</p><pre>
import Control.Lens
data Foo a = Foo { _fooArgs :: [<code>String</code>], _fooValue :: a }
<code><a href="Control-Lens-TH.html#v:makeLenses">makeLenses</a></code> ''Foo
</pre><p>This defines the following lenses:
</p><pre>
fooArgs :: <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> (Foo a) [<code>String</code>]
fooValue :: <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> (Foo a) (Foo b) a b
</pre><p>You can then access the value with (<code><a href="Control-Lens-Getter.html#v:-94-.">^.</a></code>) and set the value of the field
with (<code><a href="Control-Lens-Setter.html#v:.-126-">.~</a></code>) and can use almost any other combinator that is re-exported
here on those fields.
</p><p>The combinators here have unusually specific type signatures, so for
particularly tricky ones, the simpler type signatures you might want to
pretend the combinators have are specified as well.
</p><p>More information on how to use lenses is available on the lens wiki:
</p><p><a href="http://github.com/ekmett/lens/wiki">http://github.com/ekmett/lens/wiki</a>
</p><p><img src="http://github.com/ekmett/lens/wiki/images/Hierarchy-3.5.png" />
</p></div></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src">module <a href="Control-Lens-Type.html">Control.Lens.Type</a></p></div><div class="top"><p class="src">module <a href="Control-Lens-Traversal.html">Control.Lens.Traversal</a></p></div><div class="top"><p class="src">module <a href="Control-Lens-Getter.html">Control.Lens.Getter</a></p></div><div class="top"><p class="src">module <a href="Control-Lens-Setter.html">Control.Lens.Setter</a></p></div><div class="top"><p class="src">module <a href="Control-Lens-Action.html">Control.Lens.Action</a></p></div><div class="top"><p class="src">module <a href="Control-Lens-Combinators.html">Control.Lens.Combinators</a></p></div><div class="top"><p class="src">module <a href="Control-Lens-Fold.html">Control.Lens.Fold</a></p></div><div class="top"><p class="src">module <a href="Control-Lens-Iso.html">Control.Lens.Iso</a></p></div><div class="top"><p class="src">module <a href="Control-Lens-Indexed.html">Control.Lens.Indexed</a></p></div><div class="top"><p class="src">module <a href="Control-Lens-IndexedFold.html">Control.Lens.IndexedFold</a></p></div><div class="top"><p class="src">module <a href="Control-Lens-IndexedGetter.html">Control.Lens.IndexedGetter</a></p></div><div class="top"><p class="src">module <a href="Control-Lens-IndexedLens.html">Control.Lens.IndexedLens</a></p></div><div class="top"><p class="src">module <a href="Control-Lens-IndexedTraversal.html">Control.Lens.IndexedTraversal</a></p></div><div class="top"><p class="src">module <a href="Control-Lens-IndexedSetter.html">Control.Lens.IndexedSetter</a></p></div><div class="top"><p class="src">module <a href="Control-Lens-Loupe.html">Control.Lens.Loupe</a></p></div><div class="top"><p class="src">module <a href="Control-Lens-Plated.html">Control.Lens.Plated</a></p></div><div class="top"><p class="src">module <a href="Control-Lens-Projection.html">Control.Lens.Projection</a></p></div><div class="top"><p class="src">module <a href="Control-Lens-Representable.html">Control.Lens.Representable</a></p></div><div class="top"><p class="src">module <a href="Control-Lens-TH.html">Control.Lens.TH</a></p></div><div class="top"><p class="src">module <a href="Control-Lens-Tuple.html">Control.Lens.Tuple</a></p></div><div class="top"><p class="src">module <a href="Control-Lens-WithIndex.html">Control.Lens.WithIndex</a></p></div><div class="top"><p class="src">module <a href="Control-Lens-Zipper.html">Control.Lens.Zipper</a></p></div><div class="top"><p class="src">module <a href="Control-Lens-Zoom.html">Control.Lens.Zoom</a></p></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.13.1</p></div></body></html>