-
Notifications
You must be signed in to change notification settings - Fork 272
/
Control-Lens-Fold.html
519 lines (519 loc) · 206 KB
/
Control-Lens-Fold.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
<!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.Fold</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-Fold.html");};
//]]>
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="src/Control-Lens-Fold.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.7: 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>None</td></tr></table><p class="caption">Control.Lens.Fold</p></div><div id="table-of-contents"><p class="caption">Contents</p><ul><li><a href="#g:1">Folds
</a><ul><li><a href="#g:2">Building Folds
</a></li><li><a href="#g:3">Folding
</a></li></ul></li><li><a href="#g:4">Storing Folds
</a></li><li><a href="#g:5">Deprecated
</a></li></ul></div><div id="description"><p class="caption">Description</p><div class="doc"><p>A <code><code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> s a</code> is a generalization of something <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Foldable.html#t:Foldable">Foldable</a></code>. It allows
you to extract multiple results from a container. A <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Foldable.html#t:Foldable">Foldable</a></code> container
can be characterized by the behavior of
<code>foldMap :: (<code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Foldable.html#t:Foldable">Foldable</a></code> t, <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Monoid.html#t:Monoid">Monoid</a></code> m) => (a -> m) -> t a -> m</code>.
Since we want to be able to work with monomorphic containers, we could
generalize this signature to <code>forall m. <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Monoid.html#t:Monoid">Monoid</a></code> m => (a -> m) -> s -> m</code>,
and then decorate it with <code><a href="Control-Lens-Internal.html#t:Accessor">Accessor</a></code> to obtain
</p><pre>type <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> s a = forall m. <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Monoid.html#t:Monoid">Monoid</a></code> m => <code><a href="Control-Lens-Getter.html#t:Getting">Getting</a></code> m s s a a</pre><p>Every <code><a href="Control-Lens-Getter.html#t:Getter">Getter</a></code> is a valid <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> that simply doesn't use the <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Monoid.html#t:Monoid">Monoid</a></code>
it is passed.
</p><p>In practice the type we use is slightly more complicated to allow for
better error messages and for it to be transformed by certain
<code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Control-Applicative.html#t:Applicative">Applicative</a></code> transformers.
</p><p>Everything you can do with a <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Foldable.html#t:Foldable">Foldable</a></code> container, you can with with a <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> and there are
combinators that generalize the usual <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Foldable.html#t:Foldable">Foldable</a></code> operations here.
</p></div></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">type</span> <a href="#t:Fold">Fold</a> s a = <span class="keyword">forall</span> f. (<a href="Control-Lens-Classes.html#t:Gettable">Gettable</a> f, <a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Control-Applicative.html#t:Applicative">Applicative</a> f) => (a -> f a) -> s -> f s</li><li class="src short"><a href="#v:-94-..">(^..)</a> :: s -> <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Monoid.html#t:Endo">Endo</a> [a]) s t a b -> [a]</li><li class="src short"><a href="#v:-94--63-">(^?)</a> :: s -> <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Monoid.html#t:First">First</a> a) s t a b -> <a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a</li><li class="src short"><a href="#v:-94--63--33-">(^?!)</a> :: s -> <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Monoid.html#t:First">First</a> a) s t a b -> a</li><li class="src short"><a href="#v:preview">preview</a> :: <a href="/Library/Haskell/ghc-7.4.2/lib/mtl-2.1.2/doc/html/Control-Monad-Reader-Class.html#t:MonadReader">MonadReader</a> s m => <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Monoid.html#t:First">First</a> a) s t a b -> m (<a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a)</li><li class="src short"><a href="#v:previews">previews</a> :: <a href="/Library/Haskell/ghc-7.4.2/lib/mtl-2.1.2/doc/html/Control-Monad-Reader-Class.html#t:MonadReader">MonadReader</a> s m => <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Monoid.html#t:First">First</a> r) s t a b -> (a -> r) -> m (<a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> r)</li><li class="src short"><a href="#v:folding">folding</a> :: (<a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Foldable.html#t:Foldable">Foldable</a> f, <a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Control-Applicative.html#t:Applicative">Applicative</a> g, <a href="Control-Lens-Classes.html#t:Gettable">Gettable</a> g) => (s -> f a) -> <a href="Control-Lens-Type.html#t:LensLike">LensLike</a> g s t a b</li><li class="src short"><a href="#v:folded">folded</a> :: <a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Foldable.html#t:Foldable">Foldable</a> f => <a href="Control-Lens-Fold.html#t:Fold">Fold</a> (f a) a</li><li class="src short"><a href="#v:unfolded">unfolded</a> :: (b -> <a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (a, b)) -> <a href="Control-Lens-Fold.html#t:Fold">Fold</a> b a</li><li class="src short"><a href="#v:iterated">iterated</a> :: (a -> a) -> <a href="Control-Lens-Fold.html#t:Fold">Fold</a> a a</li><li class="src short"><a href="#v:filtered">filtered</a> :: <a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Control-Applicative.html#t:Applicative">Applicative</a> f => (a -> <a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a>) -> <a href="Control-Lens-Type.html#t:SimpleLensLike">SimpleLensLike</a> f a a</li><li class="src short"><a href="#v:backwards">backwards</a> :: <a href="Control-Lens-Type.html#t:LensLike">LensLike</a> (<a href="/Library/Haskell/ghc-7.4.2/lib/transformers-0.3.0.0/doc/html/Control-Applicative-Backwards.html#t:Backwards">Backwards</a> f) s t a b -> <a href="Control-Lens-Type.html#t:LensLike">LensLike</a> f s t a b</li><li class="src short"><a href="#v:repeated">repeated</a> :: <a href="Control-Lens-Fold.html#t:Fold">Fold</a> a a</li><li class="src short"><a href="#v:replicated">replicated</a> :: <a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Control-Lens-Fold.html#t:Fold">Fold</a> a a</li><li class="src short"><a href="#v:cycled">cycled</a> :: (<a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Control-Applicative.html#t:Applicative">Applicative</a> f, <a href="Control-Lens-Classes.html#t:Gettable">Gettable</a> f) => <a href="Control-Lens-Type.html#t:LensLike">LensLike</a> f s t a b -> <a href="Control-Lens-Type.html#t:LensLike">LensLike</a> f s t a b</li><li class="src short"><a href="#v:takingWhile">takingWhile</a> :: (<a href="Control-Lens-Classes.html#t:Gettable">Gettable</a> f, <a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Control-Applicative.html#t:Applicative">Applicative</a> f) => (a -> <a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a>) -> <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Monoid.html#t:Endo">Endo</a> (f s)) s s a a -> <a href="Control-Lens-Type.html#t:LensLike">LensLike</a> f s s a a</li><li class="src short"><a href="#v:droppingWhile">droppingWhile</a> :: (<a href="Control-Lens-Classes.html#t:Gettable">Gettable</a> f, <a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Control-Applicative.html#t:Applicative">Applicative</a> f) => (a -> <a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a>) -> <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Monoid.html#t:Endo">Endo</a> (f s, f s)) s s a a -> <a href="Control-Lens-Type.html#t:LensLike">LensLike</a> f s s a a</li><li class="src short"><a href="#v:foldMapOf">foldMapOf</a> :: <a href="Control-Lens-Getter.html#t:Getting">Getting</a> r s t a b -> (a -> r) -> s -> r</li><li class="src short"><a href="#v:foldOf">foldOf</a> :: <a href="Control-Lens-Getter.html#t:Getting">Getting</a> a s t a b -> s -> a</li><li class="src short"><a href="#v:foldrOf">foldrOf</a> :: <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Monoid.html#t:Endo">Endo</a> r) s t a b -> (a -> r -> r) -> r -> s -> r</li><li class="src short"><a href="#v:foldlOf">foldlOf</a> :: <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Monoid.html#t:Dual">Dual</a> (<a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Monoid.html#t:Endo">Endo</a> r)) s t a b -> (r -> a -> r) -> r -> s -> r</li><li class="src short"><a href="#v:toListOf">toListOf</a> :: <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Monoid.html#t:Endo">Endo</a> [a]) s t a b -> s -> [a]</li><li class="src short"><a href="#v:anyOf">anyOf</a> :: <a href="Control-Lens-Getter.html#t:Getting">Getting</a> <a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Monoid.html#t:Any">Any</a> s t a b -> (a -> <a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a>) -> s -> <a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:allOf">allOf</a> :: <a href="Control-Lens-Getter.html#t:Getting">Getting</a> <a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Monoid.html#t:All">All</a> s t a b -> (a -> <a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a>) -> s -> <a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:andOf">andOf</a> :: <a href="Control-Lens-Getter.html#t:Getting">Getting</a> <a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Monoid.html#t:All">All</a> s t <a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a> b -> s -> <a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:orOf">orOf</a> :: <a href="Control-Lens-Getter.html#t:Getting">Getting</a> <a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Monoid.html#t:Any">Any</a> s t <a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a> b -> s -> <a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:productOf">productOf</a> :: <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Monoid.html#t:Product">Product</a> a) s t a b -> s -> a</li><li class="src short"><a href="#v:sumOf">sumOf</a> :: <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Monoid.html#t:Sum">Sum</a> a) s t a b -> s -> a</li><li class="src short"><a href="#v:traverseOf_">traverseOf_</a> :: <a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Control-Monad.html#t:Functor">Functor</a> f => <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="Control-Lens-Internal.html#t:Traversed">Traversed</a> f) s t a b -> (a -> f r) -> s -> f <a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a></li><li class="src short"><a href="#v:forOf_">forOf_</a> :: <a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Control-Monad.html#t:Functor">Functor</a> f => <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="Control-Lens-Internal.html#t:Traversed">Traversed</a> f) s t a b -> s -> (a -> f r) -> f <a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a></li><li class="src short"><a href="#v:sequenceAOf_">sequenceAOf_</a> :: <a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Control-Monad.html#t:Functor">Functor</a> f => <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="Control-Lens-Internal.html#t:Traversed">Traversed</a> f) s t (f a) b -> s -> f <a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a></li><li class="src short"><a href="#v:mapMOf_">mapMOf_</a> :: <a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Control-Monad.html#t:Monad">Monad</a> m => <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="Control-Lens-Internal.html#t:Sequenced">Sequenced</a> m) s t a b -> (a -> m r) -> s -> m <a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a></li><li class="src short"><a href="#v:forMOf_">forMOf_</a> :: <a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Control-Monad.html#t:Monad">Monad</a> m => <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="Control-Lens-Internal.html#t:Sequenced">Sequenced</a> m) s t a b -> s -> (a -> m r) -> m <a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a></li><li class="src short"><a href="#v:sequenceOf_">sequenceOf_</a> :: <a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Control-Monad.html#t:Monad">Monad</a> m => <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="Control-Lens-Internal.html#t:Sequenced">Sequenced</a> m) s t (m a) b -> s -> m <a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a></li><li class="src short"><a href="#v:asumOf">asumOf</a> :: <a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Control-Applicative.html#t:Alternative">Alternative</a> f => <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Monoid.html#t:Endo">Endo</a> (f a)) s t (f a) b -> s -> f a</li><li class="src short"><a href="#v:msumOf">msumOf</a> :: <a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Control-Monad.html#t:MonadPlus">MonadPlus</a> m => <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Monoid.html#t:Endo">Endo</a> (m a)) s t (m a) b -> s -> m a</li><li class="src short"><a href="#v:concatMapOf">concatMapOf</a> :: <a href="Control-Lens-Getter.html#t:Getting">Getting</a> [r] s t a b -> (a -> [r]) -> s -> [r]</li><li class="src short"><a href="#v:concatOf">concatOf</a> :: <a href="Control-Lens-Getter.html#t:Getting">Getting</a> [r] s t [r] b -> s -> [r]</li><li class="src short"><a href="#v:elemOf">elemOf</a> :: <a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Eq.html#t:Eq">Eq</a> a => <a href="Control-Lens-Getter.html#t:Getting">Getting</a> <a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Monoid.html#t:Any">Any</a> s t a b -> a -> s -> <a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:notElemOf">notElemOf</a> :: <a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Eq.html#t:Eq">Eq</a> a => <a href="Control-Lens-Getter.html#t:Getting">Getting</a> <a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Monoid.html#t:All">All</a> s t a b -> a -> s -> <a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:lengthOf">lengthOf</a> :: <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Monoid.html#t:Sum">Sum</a> <a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Int.html#t:Int">Int</a>) s t a b -> s -> <a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Int.html#t:Int">Int</a></li><li class="src short"><a href="#v:nullOf">nullOf</a> :: <a href="Control-Lens-Getter.html#t:Getting">Getting</a> <a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Monoid.html#t:All">All</a> s t a b -> s -> <a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:notNullOf">notNullOf</a> :: <a href="Control-Lens-Getter.html#t:Getting">Getting</a> <a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Monoid.html#t:Any">Any</a> s t a b -> s -> <a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:firstOf">firstOf</a> :: <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Monoid.html#t:First">First</a> a) s t a b -> s -> <a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a</li><li class="src short"><a href="#v:lastOf">lastOf</a> :: <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Monoid.html#t:Last">Last</a> a) s t a b -> s -> <a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a</li><li class="src short"><a href="#v:maximumOf">maximumOf</a> :: <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="Control-Lens-Internal.html#t:Max">Max</a> a) s t a b -> s -> <a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a</li><li class="src short"><a href="#v:minimumOf">minimumOf</a> :: <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="Control-Lens-Internal.html#t:Min">Min</a> a) s t a b -> s -> <a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a</li><li class="src short"><a href="#v:maximumByOf">maximumByOf</a> :: <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Monoid.html#t:Endo">Endo</a> (<a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a)) s t a b -> (a -> a -> <a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Ord.html#t:Ordering">Ordering</a>) -> s -> <a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a</li><li class="src short"><a href="#v:minimumByOf">minimumByOf</a> :: <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Monoid.html#t:Endo">Endo</a> (<a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a)) s t a b -> (a -> a -> <a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Ord.html#t:Ordering">Ordering</a>) -> s -> <a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a</li><li class="src short"><a href="#v:findOf">findOf</a> :: <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Monoid.html#t:First">First</a> a) s t a b -> (a -> <a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a>) -> s -> <a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a</li><li class="src short"><a href="#v:foldrOf-39-">foldrOf'</a> :: <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Monoid.html#t:Dual">Dual</a> (<a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Monoid.html#t:Endo">Endo</a> (r -> r))) s t a b -> (a -> r -> r) -> r -> s -> r</li><li class="src short"><a href="#v:foldlOf-39-">foldlOf'</a> :: <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Monoid.html#t:Endo">Endo</a> (r -> r)) s t a b -> (r -> a -> r) -> r -> s -> r</li><li class="src short"><a href="#v:foldr1Of">foldr1Of</a> :: <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Monoid.html#t:Endo">Endo</a> (<a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a)) s t a b -> (a -> a -> a) -> s -> a</li><li class="src short"><a href="#v:foldl1Of">foldl1Of</a> :: <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Monoid.html#t:Dual">Dual</a> (<a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Monoid.html#t:Endo">Endo</a> (<a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a))) s t a b -> (a -> a -> a) -> s -> a</li><li class="src short"><a href="#v:foldrMOf">foldrMOf</a> :: <a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Control-Monad.html#t:Monad">Monad</a> m => <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Monoid.html#t:Dual">Dual</a> (<a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Monoid.html#t:Endo">Endo</a> (r -> m r))) s t a b -> (a -> r -> m r) -> r -> s -> m r</li><li class="src short"><a href="#v:foldlMOf">foldlMOf</a> :: <a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Control-Monad.html#t:Monad">Monad</a> m => <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Monoid.html#t:Endo">Endo</a> (r -> m r)) s t a b -> (r -> a -> m r) -> r -> s -> m r</li><li class="src short"><span class="keyword">newtype</span> <a href="#t:ReifiedFold">ReifiedFold</a> s a = <a href="#v:ReifyFold">ReifyFold</a> {<ul class="subs"><li><a href="#v:reflectFold">reflectFold</a> :: <a href="Control-Lens-Fold.html#t:Fold">Fold</a> s a</li></ul>}</li><li class="src short"><a href="#v:headOf">headOf</a> :: <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Monoid.html#t:First">First</a> a) s t a b -> s -> <a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a</li></ul></div><div id="interface"><h1 id="g:1">Folds
</h1><div class="top"><p class="src"><span class="keyword">type</span> <a name="t:Fold" class="def">Fold</a> s a = <span class="keyword">forall</span> f. (<a href="Control-Lens-Classes.html#t:Gettable">Gettable</a> f, <a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Control-Applicative.html#t:Applicative">Applicative</a> f) => (a -> f a) -> s -> f s<a href="src/Control-Lens-Fold.html#Fold" class="link">Source</a></p><div class="doc"><p>A <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> describes how to retrieve multiple values in a way that can be composed
with other lens-like constructions.
</p><p>A <code><code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> s a</code> provides a structure with operations very similar to those of the <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Foldable.html#t:Foldable">Foldable</a></code>
typeclass, see <code><a href="Control-Lens-Fold.html#v:foldMapOf">foldMapOf</a></code> and the other <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> combinators.
</p><p>By convention, if there exists a <code>foo</code> method that expects a <code><code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Foldable.html#t:Foldable">Foldable</a></code> (f a)</code>, then there should be a
<code>fooOf</code> method that takes a <code><code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> s a</code> and a value of type <code>s</code>.
</p><p>A <code><a href="Control-Lens-Getter.html#t:Getter">Getter</a></code> is a legal <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> that just ignores the supplied <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Monoid.html#t:Monoid">Monoid</a></code>
</p><p>Unlike a <code><a href="Control-Lens-Traversal.html#t:Traversal">Traversal</a></code> a <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> is read-only. Since a <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> cannot be used to write back
there are no lens laws that apply.
</p></div></div><div class="top"><p class="src"><a name="v:-94-.." class="def">(^..)</a> :: s -> <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Monoid.html#t:Endo">Endo</a> [a]) s t a b -> [a]<a href="src/Control-Lens-Fold.html#%5E.." class="link">Source</a></p><div class="doc"><p>A convenient infix (flipped) version of <code><a href="Control-Lens-Fold.html#v:toListOf">toListOf</a></code>.
</p><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>[[1,2],[3]]^..traverse.traverse
</code></strong>[1,2,3]
</pre><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>(1,2)^..both
</code></strong>[1,2]
</pre><pre>
<code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Foldable.html#v:toList">toList</a></code> xs ≡ xs <code><a href="Control-Lens-Fold.html#v:-94-..">^..</a></code> <code><a href="Control-Lens-Fold.html#v:folded">folded</a></code>
(<code><a href="Control-Lens-Fold.html#v:-94-..">^..</a></code>) ≡ <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Prelude.html#v:flip">flip</a></code> <code><a href="Control-Lens-Fold.html#v:toListOf">toListOf</a></code>
</pre><pre>
(<code><a href="Control-Lens-Fold.html#v:-94-..">^..</a></code>) :: s -> <code><a href="Control-Lens-Getter.html#t:Getter">Getter</a></code> s a -> [a]
(<code><a href="Control-Lens-Fold.html#v:-94-..">^..</a></code>) :: s -> <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> s a -> [a]
(<code><a href="Control-Lens-Fold.html#v:-94-..">^..</a></code>) :: s -> <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> s a -> [a]
(<code><a href="Control-Lens-Fold.html#v:-94-..">^..</a></code>) :: s -> <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Iso.html#t:Iso">Iso</a></code> s a -> [a]
(<code><a href="Control-Lens-Fold.html#v:-94-..">^..</a></code>) :: s -> <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Traversal.html#t:Traversal">Traversal</a></code> s a -> [a]
(<code><a href="Control-Lens-Fold.html#v:-94-..">^..</a></code>) :: s -> <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Prism.html#t:Prism">Prism</a></code> s a -> [a]
</pre></div></div><div class="top"><p class="src"><a name="v:-94--63-" class="def">(^?)</a> :: s -> <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Monoid.html#t:First">First</a> a) s t a b -> <a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a<a href="src/Control-Lens-Fold.html#%5E%3F" class="link">Source</a></p><div class="doc"><p>Perform a safe <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-List.html#v:head">head</a></code> of a <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> or <code><a href="Control-Lens-Traversal.html#t:Traversal">Traversal</a></code> or retrieve <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#v:Just">Just</a></code> the result
from a <code><a href="Control-Lens-Getter.html#t:Getter">Getter</a></code> or <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code>.
</p><p>When using a <code><a href="Control-Lens-Traversal.html#t:Traversal">Traversal</a></code> as a partial <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code>, or a <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> as a partial <code><a href="Control-Lens-Getter.html#t:Getter">Getter</a></code> this can be a convenient
way to extract the optional value.
</p><pre>(<code><a href="Control-Lens-Fold.html#v:-94--63-">^?</a></code>) ≡ <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Prelude.html#v:flip">flip</a></code> <code><a href="Control-Lens-Fold.html#v:preview">preview</a></code></pre><pre>
(<code><a href="Control-Lens-Fold.html#v:-94--63-">^?</a></code>) :: s -> <code><a href="Control-Lens-Getter.html#t:Getter">Getter</a></code> s a -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a
(<code><a href="Control-Lens-Fold.html#v:-94--63-">^?</a></code>) :: s -> <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> s a -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a
(<code><a href="Control-Lens-Fold.html#v:-94--63-">^?</a></code>) :: s -> <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> s a -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a
(<code><a href="Control-Lens-Fold.html#v:-94--63-">^?</a></code>) :: s -> <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Iso.html#t:Iso">Iso</a></code> s a -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a
(<code><a href="Control-Lens-Fold.html#v:-94--63-">^?</a></code>) :: s -> <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Traversal.html#t:Traversal">Traversal</a></code> s a -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a
</pre></div></div><div class="top"><p class="src"><a name="v:-94--63--33-" class="def">(^?!)</a> :: s -> <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Monoid.html#t:First">First</a> a) s t a b -> a<a href="src/Control-Lens-Fold.html#%5E%3F%21" class="link">Source</a></p><div class="doc"><p>Perform an *UNSAFE* <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-List.html#v:head">head</a></code> of a <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> or <code><a href="Control-Lens-Traversal.html#t:Traversal">Traversal</a></code> assuming that it is there.
</p><pre>
(<code><a href="Control-Lens-Fold.html#v:-94--63--33-">^?!</a></code>) :: s -> <code><a href="Control-Lens-Getter.html#t:Getter">Getter</a></code> s a -> a
(<code><a href="Control-Lens-Fold.html#v:-94--63--33-">^?!</a></code>) :: s -> <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> s a -> a
(<code><a href="Control-Lens-Fold.html#v:-94--63--33-">^?!</a></code>) :: s -> <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> s a -> a
(<code><a href="Control-Lens-Fold.html#v:-94--63--33-">^?!</a></code>) :: s -> <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Iso.html#t:Iso">Iso</a></code> s a -> a
(<code><a href="Control-Lens-Fold.html#v:-94--63--33-">^?!</a></code>) :: s -> <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Traversal.html#t:Traversal">Traversal</a></code> s a -> a
</pre></div></div><div class="top"><p class="src"><a name="v:preview" class="def">preview</a> :: <a href="/Library/Haskell/ghc-7.4.2/lib/mtl-2.1.2/doc/html/Control-Monad-Reader-Class.html#t:MonadReader">MonadReader</a> s m => <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Monoid.html#t:First">First</a> a) s t a b -> m (<a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a)<a href="src/Control-Lens-Fold.html#preview" class="link">Source</a></p><div class="doc"><p>Retrieve the first value targeted by a <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> or <code><a href="Control-Lens-Traversal.html#t:Traversal">Traversal</a></code> (or <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#v:Just">Just</a></code> the result
from a <code><a href="Control-Lens-Getter.html#t:Getter">Getter</a></code> or <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code>). See also (<code><a href="Control-Lens-Fold.html#v:-94--63-">^?</a></code>).
</p><pre><code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#v:listToMaybe">listToMaybe</a></code> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Prelude.html#v:.">.</a></code> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Foldable.html#v:toList">toList</a></code> ≡ <code><a href="Control-Lens-Fold.html#v:preview">preview</a></code> <code><a href="Control-Lens-Fold.html#v:folded">folded</a></code></pre><p>This is usually applied in the reader monad <code>(->) s</code>.
</p><pre>
<code><a href="Control-Lens-Fold.html#v:preview">preview</a></code> :: <code><a href="Control-Lens-Getter.html#t:Getter">Getter</a></code> s a -> s -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a
<code><a href="Control-Lens-Fold.html#v:preview">preview</a></code> :: <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> s a -> s -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a
<code><a href="Control-Lens-Fold.html#v:preview">preview</a></code> :: <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> s a -> s -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a
<code><a href="Control-Lens-Fold.html#v:preview">preview</a></code> :: <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Iso.html#t:Iso">Iso</a></code> s a -> s -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a
<code><a href="Control-Lens-Fold.html#v:preview">preview</a></code> :: <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Traversal.html#t:Traversal">Traversal</a></code> s a -> s -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a
</pre><p>However, it may be useful to think of its full generality when working with
a monad transformer stack:
</p><pre>
<code><a href="Control-Lens-Fold.html#v:preview">preview</a></code> :: MonadReader s m => <code><a href="Control-Lens-Getter.html#t:Getter">Getter</a></code> s a -> m (<code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a)
<code><a href="Control-Lens-Fold.html#v:preview">preview</a></code> :: MonadReader s m => <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> s a -> m (<code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a)
<code><a href="Control-Lens-Fold.html#v:preview">preview</a></code> :: MonadReader s m => <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> s a -> m (<code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a)
<code><a href="Control-Lens-Fold.html#v:preview">preview</a></code> :: MonadReader s m => <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Iso.html#t:Iso">Iso</a></code> s a -> m (<code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a)
<code><a href="Control-Lens-Fold.html#v:preview">preview</a></code> :: MonadReader s m => <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Traversal.html#t:Traversal">Traversal</a></code> s a -> m (<code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a)
</pre></div></div><div class="top"><p class="src"><a name="v:previews" class="def">previews</a> :: <a href="/Library/Haskell/ghc-7.4.2/lib/mtl-2.1.2/doc/html/Control-Monad-Reader-Class.html#t:MonadReader">MonadReader</a> s m => <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Monoid.html#t:First">First</a> r) s t a b -> (a -> r) -> m (<a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> r)<a href="src/Control-Lens-Fold.html#previews" class="link">Source</a></p><div class="doc"><p>Retrieve a function of the first value targeted by a <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> or
<code><a href="Control-Lens-Traversal.html#t:Traversal">Traversal</a></code> (or <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#v:Just">Just</a></code> the result from a <code><a href="Control-Lens-Getter.html#t:Getter">Getter</a></code> or <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code>).
</p><p>This is usually applied in the reader monad <code>(->) s</code>.
</p><pre>
<code><a href="Control-Lens-Fold.html#v:previews">previews</a></code> :: <code><a href="Control-Lens-Getter.html#t:Getter">Getter</a></code> s a -> (a -> r) -> s -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a
<code><a href="Control-Lens-Fold.html#v:previews">previews</a></code> :: <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> s a -> (a -> r) -> s -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a
<code><a href="Control-Lens-Fold.html#v:previews">previews</a></code> :: <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> s a -> (a -> r) -> s -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a
<code><a href="Control-Lens-Fold.html#v:previews">previews</a></code> :: <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Iso.html#t:Iso">Iso</a></code> s a -> (a -> r) -> s -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a
<code><a href="Control-Lens-Fold.html#v:previews">previews</a></code> :: <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Traversal.html#t:Traversal">Traversal</a></code> s a -> (a -> r) -> s -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a
</pre><p>However, it may be useful to think of its full generality when working with
a monad transformer stack:
</p><pre>
<code><a href="Control-Lens-Fold.html#v:previews">previews</a></code> :: MonadReader s m => <code><a href="Control-Lens-Getter.html#t:Getter">Getter</a></code> s a -> (a -> r) -> m (<code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> r)
<code><a href="Control-Lens-Fold.html#v:previews">previews</a></code> :: MonadReader s m => <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> s a -> (a -> r) -> m (<code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> r)
<code><a href="Control-Lens-Fold.html#v:previews">previews</a></code> :: MonadReader s m => <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> s a -> (a -> r) -> m (<code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> r)
<code><a href="Control-Lens-Fold.html#v:previews">previews</a></code> :: MonadReader s m => <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Iso.html#t:Iso">Iso</a></code> s a -> (a -> r) -> m (<code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> r)
<code><a href="Control-Lens-Fold.html#v:previews">previews</a></code> :: MonadReader s m => <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Traversal.html#t:Traversal">Traversal</a></code> s a -> (a -> r) -> m (<code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> r)
</pre></div></div><h2 id="g:2">Building Folds
</h2><div class="top"><p class="src"><a name="v:folding" class="def">folding</a> :: (<a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Foldable.html#t:Foldable">Foldable</a> f, <a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Control-Applicative.html#t:Applicative">Applicative</a> g, <a href="Control-Lens-Classes.html#t:Gettable">Gettable</a> g) => (s -> f a) -> <a href="Control-Lens-Type.html#t:LensLike">LensLike</a> g s t a b<a href="src/Control-Lens-Fold.html#folding" class="link">Source</a></p><div class="doc"><p>Obtain a <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> by lifting an operation that returns a foldable result.
</p><p>This can be useful to lift operations from <code>Data.List</code> and elsewhere into a <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code>.
</p><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>[1,2,3,4]^..folding tail
</code></strong>[2,3,4]
</pre></div></div><div class="top"><p class="src"><a name="v:folded" class="def">folded</a> :: <a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Foldable.html#t:Foldable">Foldable</a> f => <a href="Control-Lens-Fold.html#t:Fold">Fold</a> (f a) a<a href="src/Control-Lens-Fold.html#folded" class="link">Source</a></p><div class="doc"><p>Obtain a <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> from any <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Foldable.html#t:Foldable">Foldable</a></code>.
</p><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>Just 3^..folded
</code></strong>[3]
</pre><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>Nothing^..folded
</code></strong>[]
</pre><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>[(1,2),(3,4)]^..folded.both
</code></strong>[1,2,3,4]
</pre></div></div><div class="top"><p class="src"><a name="v:unfolded" class="def">unfolded</a> :: (b -> <a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (a, b)) -> <a href="Control-Lens-Fold.html#t:Fold">Fold</a> b a<a href="src/Control-Lens-Fold.html#unfolded" class="link">Source</a></p><div class="doc"><p>Build a fold that unfolds its values from a seed.
</p><pre><code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Prelude.html#v:unfoldr">unfoldr</a></code> ≡ <code><a href="Control-Lens-Fold.html#v:toListOf">toListOf</a></code> . <code><a href="Control-Lens-Fold.html#v:unfolded">unfolded</a></code></pre><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>10^..unfolded (\b -> if b == 0 then Nothing else Just (b, b-1))
</code></strong>[10,9,8,7,6,5,4,3,2,1]
</pre></div></div><div class="top"><p class="src"><a name="v:iterated" class="def">iterated</a> :: (a -> a) -> <a href="Control-Lens-Fold.html#t:Fold">Fold</a> a a<a href="src/Control-Lens-Fold.html#iterated" class="link">Source</a></p><div class="doc"><p><code>x ^. <code><a href="Control-Lens-Fold.html#v:iterated">iterated</a></code> f</code> Return an infinite fold of repeated applications of <code>f</code> to <code>x</code>.
</p><pre><code><a href="Control-Lens-Fold.html#v:toListOf">toListOf</a></code> (<code><a href="Control-Lens-Fold.html#v:iterated">iterated</a></code> f) a ≡ <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-List.html#v:iterate">iterate</a></code> f a</pre></div></div><div class="top"><p class="src"><a name="v:filtered" class="def">filtered</a> :: <a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Control-Applicative.html#t:Applicative">Applicative</a> f => (a -> <a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a>) -> <a href="Control-Lens-Type.html#t:SimpleLensLike">SimpleLensLike</a> f a a<a href="src/Control-Lens-Fold.html#filtered" class="link">Source</a></p><div class="doc"><p>Obtain a <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> that can be composed with to filter another <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code>, <code><a href="Control-Lens-Iso.html#t:Iso">Iso</a></code>, <code><a href="Control-Lens-Getter.html#t:Getter">Getter</a></code>, <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> (or <code><a href="Control-Lens-Traversal.html#t:Traversal">Traversal</a></code>)
</p><p>Note: This is <em>not</em> a legal <code><a href="Control-Lens-Traversal.html#t:Traversal">Traversal</a></code>, unless you are very careful not to invalidate the predicate on the target.
</p><p>As a counter example, consider that given <code>evens = <code><a href="Control-Lens-Fold.html#v:filtered">filtered</a></code> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Prelude.html#v:even">even</a></code></code> the second <code><a href="Control-Lens-Traversal.html#t:Traversal">Traversal</a></code> law is violated:
</p><pre><code>over</code> evens <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Prelude.html#v:succ">succ</a></code> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Prelude.html#v:.">.</a></code> <code>over</code> evens <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Prelude.html#v:succ">succ</a></code> /= <code>over</code> evens (<code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Prelude.html#v:succ">succ</a></code> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Prelude.html#v:.">.</a></code> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Prelude.html#v:succ">succ</a></code>)</pre><p>So, in order for this to qualify as a legal <code>Traversal</code> you can only use it for actions that preserve the result of the predicate!
</p><pre><code><a href="Control-Lens-Fold.html#v:filtered">filtered</a></code> :: (a -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></code>) -> <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> a a</pre></div></div><div class="top"><p class="src"><a name="v:backwards" class="def">backwards</a> :: <a href="Control-Lens-Type.html#t:LensLike">LensLike</a> (<a href="/Library/Haskell/ghc-7.4.2/lib/transformers-0.3.0.0/doc/html/Control-Applicative-Backwards.html#t:Backwards">Backwards</a> f) s t a b -> <a href="Control-Lens-Type.html#t:LensLike">LensLike</a> f s t a b<a href="src/Control-Lens-Fold.html#backwards" class="link">Source</a></p><div class="doc"><p>This allows you to traverse the elements of a <code><a href="Control-Lens-Traversal.html#t:Traversal">Traversal</a></code> or <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> in the opposite order.
This will demote an <code><a href="Control-Lens-IndexedTraversal.html#t:IndexedTraversal">IndexedTraversal</a></code> or <code><a href="Control-Lens-IndexedFold.html#t:IndexedFold">IndexedFold</a></code> to a regular <code><a href="Control-Lens-Traversal.html#t:Traversal">Traversal</a></code> or <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code>,
respectively; to preserve the indices, use <code><a href="Control-Lens-IndexedFold.html#v:ibackwards">ibackwards</a></code> instead.
</p><p>Note: <code><a href="Control-Lens-Fold.html#v:backwards">backwards</a></code> should have no impact on a <code><a href="Control-Lens-Getter.html#t:Getter">Getter</a></code>, <code><a href="Control-Lens-Setter.html#t:Setter">Setter</a></code>, <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> or <code><a href="Control-Lens-Iso.html#t:Iso">Iso</a></code>.
</p><p>To change the direction of an <code><a href="Control-Lens-Iso.html#t:Iso">Iso</a></code>, use <code><a href="Control-Lens-Isomorphic.html#v:from">from</a></code>.
</p></div></div><div class="top"><p class="src"><a name="v:repeated" class="def">repeated</a> :: <a href="Control-Lens-Fold.html#t:Fold">Fold</a> a a<a href="src/Control-Lens-Fold.html#repeated" class="link">Source</a></p><div class="doc"><p>Fold by repeating the input forever.
</p><pre><code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-List.html#v:repeat">repeat</a></code> ≡ <code><a href="Control-Lens-Fold.html#v:toListOf">toListOf</a></code> <code><a href="Control-Lens-Fold.html#v:repeated">repeated</a></code></pre><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>5^..taking 20 repeated
</code></strong>[5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5]
</pre></div></div><div class="top"><p class="src"><a name="v:replicated" class="def">replicated</a> :: <a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Int.html#t:Int">Int</a> -> <a href="Control-Lens-Fold.html#t:Fold">Fold</a> a a<a href="src/Control-Lens-Fold.html#replicated" class="link">Source</a></p><div class="doc"><p>A fold that replicates its input <code>n</code> times.
</p><pre><code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-List.html#v:replicate">replicate</a></code> n ≡ <code><a href="Control-Lens-Fold.html#v:toListOf">toListOf</a></code> (<code><a href="Control-Lens-Fold.html#v:replicated">replicated</a></code> n)</pre><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>5^..replicated 20
</code></strong>[5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5]
</pre></div></div><div class="top"><p class="src"><a name="v:cycled" class="def">cycled</a> :: (<a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Control-Applicative.html#t:Applicative">Applicative</a> f, <a href="Control-Lens-Classes.html#t:Gettable">Gettable</a> f) => <a href="Control-Lens-Type.html#t:LensLike">LensLike</a> f s t a b -> <a href="Control-Lens-Type.html#t:LensLike">LensLike</a> f s t a b<a href="src/Control-Lens-Fold.html#cycled" class="link">Source</a></p><div class="doc"><p>Transform a fold into a fold that loops over its elements over and over.
</p><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>[1,2,3]^..taking 7 (cycled traverse)
</code></strong>[1,2,3,1,2,3,1]
</pre></div></div><div class="top"><p class="src"><a name="v:takingWhile" class="def">takingWhile</a> :: (<a href="Control-Lens-Classes.html#t:Gettable">Gettable</a> f, <a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Control-Applicative.html#t:Applicative">Applicative</a> f) => (a -> <a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a>) -> <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Monoid.html#t:Endo">Endo</a> (f s)) s s a a -> <a href="Control-Lens-Type.html#t:LensLike">LensLike</a> f s s a a<a href="src/Control-Lens-Fold.html#takingWhile" class="link">Source</a></p><div class="doc"><p>Obtain a <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> by taking elements from another <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code>, <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code>, <code><a href="Control-Lens-Iso.html#t:Iso">Iso</a></code>, <code><a href="Control-Lens-Getter.html#t:Getter">Getter</a></code> or <code><a href="Control-Lens-Traversal.html#t:Traversal">Traversal</a></code> while a predicate holds.
</p><pre><code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-List.html#v:takeWhile">takeWhile</a></code> p ≡ <code><a href="Control-Lens-Fold.html#v:toListOf">toListOf</a></code> (<code><a href="Control-Lens-Fold.html#v:takingWhile">takingWhile</a></code> p <code><a href="Control-Lens-Fold.html#v:folded">folded</a></code>)</pre><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>toListOf (takingWhile (<=3) folded) [1..]
</code></strong>[1,2,3]
</pre></div></div><div class="top"><p class="src"><a name="v:droppingWhile" class="def">droppingWhile</a> :: (<a href="Control-Lens-Classes.html#t:Gettable">Gettable</a> f, <a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Control-Applicative.html#t:Applicative">Applicative</a> f) => (a -> <a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a>) -> <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Monoid.html#t:Endo">Endo</a> (f s, f s)) s s a a -> <a href="Control-Lens-Type.html#t:LensLike">LensLike</a> f s s a a<a href="src/Control-Lens-Fold.html#droppingWhile" class="link">Source</a></p><div class="doc"><p>Obtain a <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> by dropping elements from another <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code>, <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code>, <code><a href="Control-Lens-Iso.html#t:Iso">Iso</a></code>, <code><a href="Control-Lens-Getter.html#t:Getter">Getter</a></code> or <code><a href="Control-Lens-Traversal.html#t:Traversal">Traversal</a></code> while a predicate holds.
</p><pre><code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-List.html#v:dropWhile">dropWhile</a></code> p ≡ <code><a href="Control-Lens-Fold.html#v:toListOf">toListOf</a></code> (<code><a href="Control-Lens-Fold.html#v:droppingWhile">droppingWhile</a></code> p <code><a href="Control-Lens-Fold.html#v:folded">folded</a></code>)</pre><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>toListOf (droppingWhile (<=3) folded) [1..6]
</code></strong>[4,5,6]
</pre><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>toListOf (droppingWhile (<=3) folded) [1,6,1]
</code></strong>[6,1]
</pre></div></div><h2 id="g:3">Folding
</h2><div class="top"><p class="src"><a name="v:foldMapOf" class="def">foldMapOf</a> :: <a href="Control-Lens-Getter.html#t:Getting">Getting</a> r s t a b -> (a -> r) -> s -> r<a href="src/Control-Lens-Fold.html#foldMapOf" class="link">Source</a></p><div class="doc"><pre><code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Foldable.html#v:foldMap">foldMap</a></code> = <code><a href="Control-Lens-Fold.html#v:foldMapOf">foldMapOf</a></code> <code><a href="Control-Lens-Fold.html#v:folded">folded</a></code></pre><pre><code><a href="Control-Lens-Fold.html#v:foldMapOf">foldMapOf</a></code> ≡ <code><a href="Control-Lens-Getter.html#v:views">views</a></code></pre><pre>
<code><a href="Control-Lens-Fold.html#v:foldMapOf">foldMapOf</a></code> :: <code><a href="Control-Lens-Getter.html#t:Getter">Getter</a></code> s a -> (a -> r) -> s -> r
<code><a href="Control-Lens-Fold.html#v:foldMapOf">foldMapOf</a></code> :: <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Monoid.html#t:Monoid">Monoid</a></code> r => <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> s a -> (a -> r) -> s -> r
<code><a href="Control-Lens-Fold.html#v:foldMapOf">foldMapOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> s a -> (a -> r) -> s -> r
<code><a href="Control-Lens-Fold.html#v:foldMapOf">foldMapOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Iso.html#t:Iso">Iso</a></code> s a -> (a -> r) -> s -> r
<code><a href="Control-Lens-Fold.html#v:foldMapOf">foldMapOf</a></code> :: <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Monoid.html#t:Monoid">Monoid</a></code> r => <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Traversal.html#t:Traversal">Traversal</a></code> s a -> (a -> r) -> s -> r
<code><a href="Control-Lens-Fold.html#v:foldMapOf">foldMapOf</a></code> :: <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Monoid.html#t:Monoid">Monoid</a></code> r => <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Prism.html#t:Prism">Prism</a></code> s a -> (a -> r) -> s -> r
</pre></div></div><div class="top"><p class="src"><a name="v:foldOf" class="def">foldOf</a> :: <a href="Control-Lens-Getter.html#t:Getting">Getting</a> a s t a b -> s -> a<a href="src/Control-Lens-Fold.html#foldOf" class="link">Source</a></p><div class="doc"><pre><code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Foldable.html#v:fold">fold</a></code> = <code><a href="Control-Lens-Fold.html#v:foldOf">foldOf</a></code> <code><a href="Control-Lens-Fold.html#v:folded">folded</a></code></pre><pre><code><a href="Control-Lens-Fold.html#v:foldOf">foldOf</a></code> ≡ <code><a href="Control-Lens-Getter.html#v:view">view</a></code></pre><pre>
<code><a href="Control-Lens-Fold.html#v:foldOf">foldOf</a></code> :: <code><a href="Control-Lens-Getter.html#t:Getter">Getter</a></code> s m -> s -> m
<code><a href="Control-Lens-Fold.html#v:foldOf">foldOf</a></code> :: <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Monoid.html#t:Monoid">Monoid</a></code> m => <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> s m -> s -> m
<code><a href="Control-Lens-Fold.html#v:foldOf">foldOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> s m -> s -> m
<code><a href="Control-Lens-Fold.html#v:foldOf">foldOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Iso.html#t:Iso">Iso</a></code> s m -> s -> m
<code><a href="Control-Lens-Fold.html#v:foldOf">foldOf</a></code> :: <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Monoid.html#t:Monoid">Monoid</a></code> m => <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Traversal.html#t:Traversal">Traversal</a></code> s m -> s -> m
<code><a href="Control-Lens-Fold.html#v:foldOf">foldOf</a></code> :: <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Monoid.html#t:Monoid">Monoid</a></code> m => <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Prism.html#t:Prism">Prism</a></code> s m -> s -> m
</pre></div></div><div class="top"><p class="src"><a name="v:foldrOf" class="def">foldrOf</a> :: <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Monoid.html#t:Endo">Endo</a> r) s t a b -> (a -> r -> r) -> r -> s -> r<a href="src/Control-Lens-Fold.html#foldrOf" class="link">Source</a></p><div class="doc"><p>Right-associative fold of parts of a structure that are viewed through a <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code>, <code><a href="Control-Lens-Getter.html#t:Getter">Getter</a></code>, <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> or <code><a href="Control-Lens-Traversal.html#t:Traversal">Traversal</a></code>.
</p><pre><code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Foldable.html#v:foldr">foldr</a></code> ≡ <code><a href="Control-Lens-Fold.html#v:foldrOf">foldrOf</a></code> <code><a href="Control-Lens-Fold.html#v:folded">folded</a></code></pre><pre>
<code><a href="Control-Lens-Fold.html#v:foldrOf">foldrOf</a></code> :: <code><a href="Control-Lens-Getter.html#t:Getter">Getter</a></code> s a -> (a -> r -> r) -> r -> s -> r
<code><a href="Control-Lens-Fold.html#v:foldrOf">foldrOf</a></code> :: <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> s a -> (a -> r -> r) -> r -> s -> r
<code><a href="Control-Lens-Fold.html#v:foldrOf">foldrOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> s a -> (a -> r -> r) -> r -> s -> r
<code><a href="Control-Lens-Fold.html#v:foldrOf">foldrOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Iso.html#t:Iso">Iso</a></code> s a -> (a -> r -> r) -> r -> s -> r
<code><a href="Control-Lens-Fold.html#v:foldrOf">foldrOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Traversal.html#t:Traversal">Traversal</a></code> s a -> (a -> r -> r) -> r -> s -> r
<code><a href="Control-Lens-Fold.html#v:foldrOf">foldrOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Prism.html#t:Prism">Prism</a></code> s a -> (a -> r -> r) -> r -> s -> r
</pre></div></div><div class="top"><p class="src"><a name="v:foldlOf" class="def">foldlOf</a> :: <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Monoid.html#t:Dual">Dual</a> (<a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Monoid.html#t:Endo">Endo</a> r)) s t a b -> (r -> a -> r) -> r -> s -> r<a href="src/Control-Lens-Fold.html#foldlOf" class="link">Source</a></p><div class="doc"><p>Left-associative fold of the parts of a structure that are viewed through a <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code>, <code><a href="Control-Lens-Getter.html#t:Getter">Getter</a></code>, <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> or <code><a href="Control-Lens-Traversal.html#t:Traversal">Traversal</a></code>.
</p><pre><code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Foldable.html#v:foldl">foldl</a></code> ≡ <code><a href="Control-Lens-Fold.html#v:foldlOf">foldlOf</a></code> <code><a href="Control-Lens-Fold.html#v:folded">folded</a></code></pre><pre>
<code><a href="Control-Lens-Fold.html#v:foldlOf">foldlOf</a></code> :: <code><a href="Control-Lens-Getter.html#t:Getter">Getter</a></code> s a -> (r -> a -> r) -> r -> s -> r
<code><a href="Control-Lens-Fold.html#v:foldlOf">foldlOf</a></code> :: <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> s a -> (r -> a -> r) -> r -> s -> r
<code><a href="Control-Lens-Fold.html#v:foldlOf">foldlOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> s a -> (r -> a -> r) -> r -> s -> r
<code><a href="Control-Lens-Fold.html#v:foldlOf">foldlOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Iso.html#t:Iso">Iso</a></code> s a -> (r -> a -> r) -> r -> s -> r
<code><a href="Control-Lens-Fold.html#v:foldlOf">foldlOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Traversal.html#t:Traversal">Traversal</a></code> s a -> (r -> a -> r) -> r -> s -> r
<code><a href="Control-Lens-Fold.html#v:foldlOf">foldlOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Prism.html#t:Prism">Prism</a></code> s a -> (r -> a -> r) -> r -> s -> r
</pre></div></div><div class="top"><p class="src"><a name="v:toListOf" class="def">toListOf</a> :: <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Monoid.html#t:Endo">Endo</a> [a]) s t a b -> s -> [a]<a href="src/Control-Lens-Fold.html#toListOf" class="link">Source</a></p><div class="doc"><p>Extract a list of the targets of a <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code>. See also (<code><a href="Control-Lens-Fold.html#v:-94-..">^..</a></code>).
</p><pre>
<code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Foldable.html#v:toList">toList</a></code> ≡ <code><a href="Control-Lens-Fold.html#v:toListOf">toListOf</a></code> <code><a href="Control-Lens-Fold.html#v:folded">folded</a></code>
(<code><a href="Control-Lens-Fold.html#v:-94-..">^..</a></code>) ≡ <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Prelude.html#v:flip">flip</a></code> <code><a href="Control-Lens-Fold.html#v:toListOf">toListOf</a></code>
</pre></div></div><div class="top"><p class="src"><a name="v:anyOf" class="def">anyOf</a> :: <a href="Control-Lens-Getter.html#t:Getting">Getting</a> <a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Monoid.html#t:Any">Any</a> s t a b -> (a -> <a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a>) -> s -> <a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a><a href="src/Control-Lens-Fold.html#anyOf" class="link">Source</a></p><div class="doc"><p>Returns <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#v:True">True</a></code> if any target of a <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> satisfies a predicate.
</p><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>anyOf both (=='x') ('x','y')
</code></strong>True
<code class="prompt">>>> </code><strong class="userinput"><code>import Data.Data.Lens
</code></strong><code class="prompt">>>> </code><strong class="userinput"><code>anyOf biplate (== "world") (((),2::Int),"hello",("world",11))
</code></strong>True
</pre><pre><code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Foldable.html#v:any">any</a></code> ≡ <code><a href="Control-Lens-Fold.html#v:anyOf">anyOf</a></code> <code><a href="Control-Lens-Fold.html#v:folded">folded</a></code></pre><pre>
<code><a href="Control-Lens-Fold.html#v:anyOf">anyOf</a></code> :: <code><a href="Control-Lens-Getter.html#t:Getter">Getter</a></code> s a -> (a -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></code>) -> s -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></code>
<code><a href="Control-Lens-Fold.html#v:anyOf">anyOf</a></code> :: <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> s a -> (a -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></code>) -> s -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></code>
<code><a href="Control-Lens-Fold.html#v:anyOf">anyOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> s a -> (a -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></code>) -> s -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></code>
<code><a href="Control-Lens-Fold.html#v:anyOf">anyOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Iso.html#t:Iso">Iso</a></code> s a -> (a -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></code>) -> s -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></code>
<code><a href="Control-Lens-Fold.html#v:anyOf">anyOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Traversal.html#t:Traversal">Traversal</a></code> s a -> (a -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></code>) -> s -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></code>
<code><a href="Control-Lens-Fold.html#v:anyOf">anyOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Prism.html#t:Prism">Prism</a></code> s a -> (a -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></code>) -> s -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></code>
</pre></div></div><div class="top"><p class="src"><a name="v:allOf" class="def">allOf</a> :: <a href="Control-Lens-Getter.html#t:Getting">Getting</a> <a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Monoid.html#t:All">All</a> s t a b -> (a -> <a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a>) -> s -> <a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a><a href="src/Control-Lens-Fold.html#allOf" class="link">Source</a></p><div class="doc"><p>Returns <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#v:True">True</a></code> if every target of a <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> satisfies a predicate.
</p><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>allOf both (>=3) (4,5)
</code></strong>True
<code class="prompt">>>> </code><strong class="userinput"><code>allOf folded (>=2) [1..10]
</code></strong>False
</pre><pre><code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Foldable.html#v:all">all</a></code> ≡ <code><a href="Control-Lens-Fold.html#v:allOf">allOf</a></code> <code><a href="Control-Lens-Fold.html#v:folded">folded</a></code></pre><pre>
<code><a href="Control-Lens-Fold.html#v:allOf">allOf</a></code> :: <code><a href="Control-Lens-Getter.html#t:Getter">Getter</a></code> s a -> (a -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></code>) -> s -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></code>
<code><a href="Control-Lens-Fold.html#v:allOf">allOf</a></code> :: <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> s a -> (a -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></code>) -> s -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></code>
<code><a href="Control-Lens-Fold.html#v:allOf">allOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> s a -> (a -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></code>) -> s -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></code>
<code><a href="Control-Lens-Fold.html#v:allOf">allOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Iso.html#t:Iso">Iso</a></code> s a -> (a -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></code>) -> s -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></code>
<code><a href="Control-Lens-Fold.html#v:allOf">allOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Traversal.html#t:Traversal">Traversal</a></code> s a -> (a -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></code>) -> s -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></code>
<code><a href="Control-Lens-Fold.html#v:allOf">allOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Prism.html#t:Prism">Prism</a></code> s a -> (a -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></code>) -> s -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></code>
</pre></div></div><div class="top"><p class="src"><a name="v:andOf" class="def">andOf</a> :: <a href="Control-Lens-Getter.html#t:Getting">Getting</a> <a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Monoid.html#t:All">All</a> s t <a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a> b -> s -> <a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a><a href="src/Control-Lens-Fold.html#andOf" class="link">Source</a></p><div class="doc"><p>Returns <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#v:True">True</a></code> if every target of a <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> is <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#v:True">True</a></code>.
</p><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>andOf both (True,False)
</code></strong>False
<code class="prompt">>>> </code><strong class="userinput"><code>andOf both (True,True)
</code></strong>True
</pre><pre><code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Foldable.html#v:and">and</a></code> ≡ <code><a href="Control-Lens-Fold.html#v:andOf">andOf</a></code> <code><a href="Control-Lens-Fold.html#v:folded">folded</a></code></pre><pre>
<code><a href="Control-Lens-Fold.html#v:andOf">andOf</a></code> :: <code><a href="Control-Lens-Getter.html#t:Getter">Getter</a></code> s <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></code> -> s -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></code>
<code><a href="Control-Lens-Fold.html#v:andOf">andOf</a></code> :: <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> s <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></code> -> s -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></code>
<code><a href="Control-Lens-Fold.html#v:andOf">andOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> s <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></code> -> s -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></code>
<code><a href="Control-Lens-Fold.html#v:andOf">andOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Iso.html#t:Iso">Iso</a></code> s <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></code> -> s -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></code>
<code><a href="Control-Lens-Fold.html#v:andOf">andOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Traversal.html#t:Traversal">Traversal</a></code> s <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></code> -> s -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></code>
<code><a href="Control-Lens-Fold.html#v:andOf">andOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Prism.html#t:Prism">Prism</a></code> s <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></code> -> s -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></code>
</pre></div></div><div class="top"><p class="src"><a name="v:orOf" class="def">orOf</a> :: <a href="Control-Lens-Getter.html#t:Getting">Getting</a> <a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Monoid.html#t:Any">Any</a> s t <a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a> b -> s -> <a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a><a href="src/Control-Lens-Fold.html#orOf" class="link">Source</a></p><div class="doc"><p>Returns <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#v:True">True</a></code> if any target of a <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> is <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#v:True">True</a></code>.
</p><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>orOf both (True,False)
</code></strong>True
<code class="prompt">>>> </code><strong class="userinput"><code>orOf both (False,False)
</code></strong>False
</pre><pre><code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Foldable.html#v:or">or</a></code> ≡ <code><a href="Control-Lens-Fold.html#v:orOf">orOf</a></code> <code><a href="Control-Lens-Fold.html#v:folded">folded</a></code></pre><pre>
<code><a href="Control-Lens-Fold.html#v:orOf">orOf</a></code> :: <code><a href="Control-Lens-Getter.html#t:Getter">Getter</a></code> s <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></code> -> s -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></code>
<code><a href="Control-Lens-Fold.html#v:orOf">orOf</a></code> :: <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> s <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></code> -> s -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></code>
<code><a href="Control-Lens-Fold.html#v:orOf">orOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> s <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></code> -> s -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></code>
<code><a href="Control-Lens-Fold.html#v:orOf">orOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Iso.html#t:Iso">Iso</a></code> s <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></code> -> s -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></code>
<code><a href="Control-Lens-Fold.html#v:orOf">orOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Traversal.html#t:Traversal">Traversal</a></code> s <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></code> -> s -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></code>
<code><a href="Control-Lens-Fold.html#v:orOf">orOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Prism.html#t:Prism">Prism</a></code> s <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></code> -> s -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></code>
</pre></div></div><div class="top"><p class="src"><a name="v:productOf" class="def">productOf</a> :: <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Monoid.html#t:Product">Product</a> a) s t a b -> s -> a<a href="src/Control-Lens-Fold.html#productOf" class="link">Source</a></p><div class="doc"><p>Calculate the product of every number targeted by a <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code>
</p><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>productOf both (4,5)
</code></strong>20
<code class="prompt">>>> </code><strong class="userinput"><code>productOf folded [1,2,3,4,5]
</code></strong>120
</pre><pre><code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Foldable.html#v:product">product</a></code> ≡ <code><a href="Control-Lens-Fold.html#v:productOf">productOf</a></code> <code><a href="Control-Lens-Fold.html#v:folded">folded</a></code></pre><pre>
<code><a href="Control-Lens-Fold.html#v:productOf">productOf</a></code> :: <code><a href="Control-Lens-Getter.html#t:Getter">Getter</a></code> s a -> s -> a
<code><a href="Control-Lens-Fold.html#v:productOf">productOf</a></code> :: <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Prelude.html#t:Num">Num</a></code> a => <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> s a -> s -> a
<code><a href="Control-Lens-Fold.html#v:productOf">productOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> s a -> s -> a
<code><a href="Control-Lens-Fold.html#v:productOf">productOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Iso.html#t:Iso">Iso</a></code> s a -> s -> a
<code><a href="Control-Lens-Fold.html#v:productOf">productOf</a></code> :: <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Prelude.html#t:Num">Num</a></code> a => <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Traversal.html#t:Traversal">Traversal</a></code> s a -> s -> a
<code><a href="Control-Lens-Fold.html#v:productOf">productOf</a></code> :: <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Prelude.html#t:Num">Num</a></code> a => <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Prism.html#t:Prism">Prism</a></code> s a -> s -> a
</pre></div></div><div class="top"><p class="src"><a name="v:sumOf" class="def">sumOf</a> :: <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Monoid.html#t:Sum">Sum</a> a) s t a b -> s -> a<a href="src/Control-Lens-Fold.html#sumOf" class="link">Source</a></p><div class="doc"><p>Calculate the sum of every number targeted by a <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code>.
</p><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>sumOf both (5,6)
</code></strong>11
<code class="prompt">>>> </code><strong class="userinput"><code>sumOf folded [1,2,3,4]
</code></strong>10
<code class="prompt">>>> </code><strong class="userinput"><code>sumOf (folded.both) [(1,2),(3,4)]
</code></strong>10
<code class="prompt">>>> </code><strong class="userinput"><code>import Data.Data.Lens
</code></strong><code class="prompt">>>> </code><strong class="userinput"><code>sumOf biplate [(1::Int,[]),(2,[(3::Int,4::Int)])] :: Int
</code></strong>10
</pre><pre><code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Foldable.html#v:sum">sum</a></code> ≡ <code><a href="Control-Lens-Fold.html#v:sumOf">sumOf</a></code> <code><a href="Control-Lens-Fold.html#v:folded">folded</a></code></pre><pre>
<code><a href="Control-Lens-Fold.html#v:sumOf">sumOf</a></code> <code>_1</code> :: (a, b) -> a
<code><a href="Control-Lens-Fold.html#v:sumOf">sumOf</a></code> (<code><a href="Control-Lens-Fold.html#v:folded">folded</a></code> . <code>_1</code>) :: (<code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Foldable.html#t:Foldable">Foldable</a></code> f, <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Prelude.html#t:Num">Num</a></code> a) => f (a, b) -> a
</pre><pre>
<code><a href="Control-Lens-Fold.html#v:sumOf">sumOf</a></code> :: <code><a href="Control-Lens-Getter.html#t:Getter">Getter</a></code> s a -> s -> a
<code><a href="Control-Lens-Fold.html#v:sumOf">sumOf</a></code> :: <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Prelude.html#t:Num">Num</a></code> a => <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> s a -> s -> a
<code><a href="Control-Lens-Fold.html#v:sumOf">sumOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> s a -> s -> a
<code><a href="Control-Lens-Fold.html#v:sumOf">sumOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Iso.html#t:Iso">Iso</a></code> s a -> s -> a
<code><a href="Control-Lens-Fold.html#v:sumOf">sumOf</a></code> :: <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Prelude.html#t:Num">Num</a></code> a => <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Traversal.html#t:Traversal">Traversal</a></code> s a -> s -> a
<code><a href="Control-Lens-Fold.html#v:sumOf">sumOf</a></code> :: <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Prelude.html#t:Num">Num</a></code> a => <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Prism.html#t:Prism">Prism</a></code> s a -> s -> a
</pre></div></div><div class="top"><p class="src"><a name="v:traverseOf_" class="def">traverseOf_</a> :: <a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Control-Monad.html#t:Functor">Functor</a> f => <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="Control-Lens-Internal.html#t:Traversed">Traversed</a> f) s t a b -> (a -> f r) -> s -> f <a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a><a href="src/Control-Lens-Fold.html#traverseOf_" class="link">Source</a></p><div class="doc"><p>Traverse over all of the targets of a <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> (or <code><a href="Control-Lens-Getter.html#t:Getter">Getter</a></code>), computing an <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Control-Applicative.html#t:Applicative">Applicative</a></code> (or <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Control-Monad.html#t:Functor">Functor</a></code>) -based answer,
but unlike <code><a href="Control-Lens-Traversal.html#v:traverseOf">traverseOf</a></code> do not construct a new structure. <code><a href="Control-Lens-Fold.html#v:traverseOf_">traverseOf_</a></code> generalizes
<code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Foldable.html#v:traverse_">traverse_</a></code> to work over any <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code>.
</p><p>When passed a <code><a href="Control-Lens-Getter.html#t:Getter">Getter</a></code>, <code><a href="Control-Lens-Fold.html#v:traverseOf_">traverseOf_</a></code> can work over any <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Control-Monad.html#t:Functor">Functor</a></code>, but when passed a <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code>, <code><a href="Control-Lens-Fold.html#v:traverseOf_">traverseOf_</a></code> requires
an <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Control-Applicative.html#t:Applicative">Applicative</a></code>.
</p><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>traverseOf_ both putStrLn ("hello","world")
</code></strong>hello
world
</pre><pre><code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Foldable.html#v:traverse_">traverse_</a></code> ≡ <code><a href="Control-Lens-Fold.html#v:traverseOf_">traverseOf_</a></code> <code><a href="Control-Lens-Fold.html#v:folded">folded</a></code></pre><pre>
<code><a href="Control-Lens-Fold.html#v:traverseOf_">traverseOf_</a></code> <code>_2</code> :: <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Control-Monad.html#t:Functor">Functor</a></code> f => (c -> f r) -> (d, c) -> f ()
<code><a href="Control-Lens-Fold.html#v:traverseOf_">traverseOf_</a></code> <code><a href="Data-Either-Lens.html#v:traverseLeft">traverseLeft</a></code> :: <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Control-Applicative.html#t:Applicative">Applicative</a></code> f => (a -> f b) -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Either.html#t:Either">Either</a></code> a c -> f ()
</pre><p>The rather specific signature of <code><a href="Control-Lens-Fold.html#v:traverseOf_">traverseOf_</a></code> allows it to be used as if the signature was any of:
</p><pre>
<code><a href="Control-Lens-Fold.html#v:traverseOf_">traverseOf_</a></code> :: <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Control-Monad.html#t:Functor">Functor</a></code> f => <code><a href="Control-Lens-Getter.html#t:Getter">Getter</a></code> s a -> (a -> f r) -> s -> f ()
<code><a href="Control-Lens-Fold.html#v:traverseOf_">traverseOf_</a></code> :: <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Control-Applicative.html#t:Applicative">Applicative</a></code> f => <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> s a -> (a -> f r) -> s -> f ()
<code><a href="Control-Lens-Fold.html#v:traverseOf_">traverseOf_</a></code> :: <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Control-Monad.html#t:Functor">Functor</a></code> f => <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> s a -> (a -> f r) -> s -> f ()
<code><a href="Control-Lens-Fold.html#v:traverseOf_">traverseOf_</a></code> :: <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Control-Monad.html#t:Functor">Functor</a></code> f => <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Iso.html#t:Iso">Iso</a></code> s a -> (a -> f r) -> s -> f ()
<code><a href="Control-Lens-Fold.html#v:traverseOf_">traverseOf_</a></code> :: <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Control-Applicative.html#t:Applicative">Applicative</a></code> f => <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Traversal.html#t:Traversal">Traversal</a></code> s a -> (a -> f r) -> s -> f ()
<code><a href="Control-Lens-Fold.html#v:traverseOf_">traverseOf_</a></code> :: <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Control-Applicative.html#t:Applicative">Applicative</a></code> f => <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Prism.html#t:Prism">Prism</a></code> s a -> (a -> f r) -> s -> f ()
</pre></div></div><div class="top"><p class="src"><a name="v:forOf_" class="def">forOf_</a> :: <a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Control-Monad.html#t:Functor">Functor</a> f => <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="Control-Lens-Internal.html#t:Traversed">Traversed</a> f) s t a b -> s -> (a -> f r) -> f <a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a><a href="src/Control-Lens-Fold.html#forOf_" class="link">Source</a></p><div class="doc"><p>Traverse over all of the targets of a <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> (or <code><a href="Control-Lens-Getter.html#t:Getter">Getter</a></code>), computing an <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Control-Applicative.html#t:Applicative">Applicative</a></code> (or <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Control-Monad.html#t:Functor">Functor</a></code>) -based answer,
but unlike <code><a href="Control-Lens-Traversal.html#v:forOf">forOf</a></code> do not construct a new structure. <code><a href="Control-Lens-Fold.html#v:forOf_">forOf_</a></code> generalizes
<code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Foldable.html#v:for_">for_</a></code> to work over any <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code>.
</p><p>When passed a <code><a href="Control-Lens-Getter.html#t:Getter">Getter</a></code>, <code><a href="Control-Lens-Fold.html#v:forOf_">forOf_</a></code> can work over any <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Control-Monad.html#t:Functor">Functor</a></code>, but when passed a <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code>, <code><a href="Control-Lens-Fold.html#v:forOf_">forOf_</a></code> requires
an <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Control-Applicative.html#t:Applicative">Applicative</a></code>.
</p><pre><code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Foldable.html#v:for_">for_</a></code> ≡ <code><a href="Control-Lens-Fold.html#v:forOf_">forOf_</a></code> <code><a href="Control-Lens-Fold.html#v:folded">folded</a></code></pre><p>The rather specific signature of <code><a href="Control-Lens-Fold.html#v:forOf_">forOf_</a></code> allows it to be used as if the signature was any of:
</p><pre>
<code><a href="Control-Lens-Fold.html#v:forOf_">forOf_</a></code> :: <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Control-Monad.html#t:Functor">Functor</a></code> f => <code><a href="Control-Lens-Getter.html#t:Getter">Getter</a></code> s a -> s -> (a -> f r) -> f ()
<code><a href="Control-Lens-Fold.html#v:forOf_">forOf_</a></code> :: <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Control-Applicative.html#t:Applicative">Applicative</a></code> f => <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> s a -> s -> (a -> f r) -> f ()
<code><a href="Control-Lens-Fold.html#v:forOf_">forOf_</a></code> :: <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Control-Monad.html#t:Functor">Functor</a></code> f => <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> s a -> s -> (a -> f r) -> f ()
<code><a href="Control-Lens-Fold.html#v:forOf_">forOf_</a></code> :: <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Control-Monad.html#t:Functor">Functor</a></code> f => <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Iso.html#t:Iso">Iso</a></code> s a -> s -> (a -> f r) -> f ()
<code><a href="Control-Lens-Fold.html#v:forOf_">forOf_</a></code> :: <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Control-Applicative.html#t:Applicative">Applicative</a></code> f => <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Traversal.html#t:Traversal">Traversal</a></code> s a -> s -> (a -> f r) -> f ()
<code><a href="Control-Lens-Fold.html#v:forOf_">forOf_</a></code> :: <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Control-Applicative.html#t:Applicative">Applicative</a></code> f => <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Prism.html#t:Prism">Prism</a></code> s a -> s -> (a -> f r) -> f ()
</pre></div></div><div class="top"><p class="src"><a name="v:sequenceAOf_" class="def">sequenceAOf_</a> :: <a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Control-Monad.html#t:Functor">Functor</a> f => <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="Control-Lens-Internal.html#t:Traversed">Traversed</a> f) s t (f a) b -> s -> f <a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a><a href="src/Control-Lens-Fold.html#sequenceAOf_" class="link">Source</a></p><div class="doc"><p>Evaluate each action in observed by a <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> on a structure from left to right, ignoring the results.
</p><pre><code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Foldable.html#v:sequenceA_">sequenceA_</a></code> ≡ <code><a href="Control-Lens-Fold.html#v:sequenceAOf_">sequenceAOf_</a></code> <code><a href="Control-Lens-Fold.html#v:folded">folded</a></code></pre><pre>
<code><a href="Control-Lens-Fold.html#v:sequenceAOf_">sequenceAOf_</a></code> :: <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Control-Monad.html#t:Functor">Functor</a></code> f => <code><a href="Control-Lens-Getter.html#t:Getter">Getter</a></code> s (f a) -> s -> f ()
<code><a href="Control-Lens-Fold.html#v:sequenceAOf_">sequenceAOf_</a></code> :: <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Control-Applicative.html#t:Applicative">Applicative</a></code> f => <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> s (f a) -> s -> f ()
<code><a href="Control-Lens-Fold.html#v:sequenceAOf_">sequenceAOf_</a></code> :: <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Control-Monad.html#t:Functor">Functor</a></code> f => <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> s (f a) -> s -> f ()
<code><a href="Control-Lens-Fold.html#v:sequenceAOf_">sequenceAOf_</a></code> :: <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Control-Monad.html#t:Functor">Functor</a></code> f => <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Internal.html#v:Iso">Iso</a></code> s (f a) -> s -> f ()
<code><a href="Control-Lens-Fold.html#v:sequenceAOf_">sequenceAOf_</a></code> :: <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Control-Applicative.html#t:Applicative">Applicative</a></code> f => <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Traversal.html#t:Traversal">Traversal</a></code> s (f a) -> s -> f ()
<code><a href="Control-Lens-Fold.html#v:sequenceAOf_">sequenceAOf_</a></code> :: <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Control-Applicative.html#t:Applicative">Applicative</a></code> f => <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Prism.html#t:Prism">Prism</a></code> s (f a) -> s -> f ()
</pre></div></div><div class="top"><p class="src"><a name="v:mapMOf_" class="def">mapMOf_</a> :: <a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Control-Monad.html#t:Monad">Monad</a> m => <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="Control-Lens-Internal.html#t:Sequenced">Sequenced</a> m) s t a b -> (a -> m r) -> s -> m <a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a><a href="src/Control-Lens-Fold.html#mapMOf_" class="link">Source</a></p><div class="doc"><p>Map each target of a <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> on a structure to a monadic action, evaluate these actions from left to right, and ignore the results.
</p><pre><code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Foldable.html#v:mapM_">mapM_</a></code> ≡ <code><a href="Control-Lens-Fold.html#v:mapMOf_">mapMOf_</a></code> <code><a href="Control-Lens-Fold.html#v:folded">folded</a></code></pre><pre>
<code><a href="Control-Lens-Fold.html#v:mapMOf_">mapMOf_</a></code> :: <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Control-Monad.html#t:Monad">Monad</a></code> m => <code><a href="Control-Lens-Getter.html#t:Getter">Getter</a></code> s a -> (a -> m r) -> s -> m ()
<code><a href="Control-Lens-Fold.html#v:mapMOf_">mapMOf_</a></code> :: <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Control-Monad.html#t:Monad">Monad</a></code> m => <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> s a -> (a -> m r) -> s -> m ()
<code><a href="Control-Lens-Fold.html#v:mapMOf_">mapMOf_</a></code> :: <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Control-Monad.html#t:Monad">Monad</a></code> m => <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> s a -> (a -> m r) -> s -> m ()
<code><a href="Control-Lens-Fold.html#v:mapMOf_">mapMOf_</a></code> :: <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Control-Monad.html#t:Monad">Monad</a></code> m => <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Iso.html#t:Iso">Iso</a></code> s a -> (a -> m r) -> s -> m ()
<code><a href="Control-Lens-Fold.html#v:mapMOf_">mapMOf_</a></code> :: <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Control-Monad.html#t:Monad">Monad</a></code> m => <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Traversal.html#t:Traversal">Traversal</a></code> s a -> (a -> m r) -> s -> m ()
<code><a href="Control-Lens-Fold.html#v:mapMOf_">mapMOf_</a></code> :: <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Control-Monad.html#t:Monad">Monad</a></code> m => <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Prism.html#t:Prism">Prism</a></code> s a -> (a -> m r) -> s -> m ()
</pre></div></div><div class="top"><p class="src"><a name="v:forMOf_" class="def">forMOf_</a> :: <a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Control-Monad.html#t:Monad">Monad</a> m => <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="Control-Lens-Internal.html#t:Sequenced">Sequenced</a> m) s t a b -> s -> (a -> m r) -> m <a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a><a href="src/Control-Lens-Fold.html#forMOf_" class="link">Source</a></p><div class="doc"><p><code><a href="Control-Lens-Fold.html#v:forMOf_">forMOf_</a></code> is <code><a href="Control-Lens-Fold.html#v:mapMOf_">mapMOf_</a></code> with two of its arguments flipped.
</p><pre><code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Foldable.html#v:forM_">forM_</a></code> ≡ <code><a href="Control-Lens-Fold.html#v:forMOf_">forMOf_</a></code> <code><a href="Control-Lens-Fold.html#v:folded">folded</a></code></pre><pre>
<code><a href="Control-Lens-Fold.html#v:forMOf_">forMOf_</a></code> :: <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Control-Monad.html#t:Monad">Monad</a></code> m => <code><a href="Control-Lens-Getter.html#t:Getter">Getter</a></code> s a -> s -> (a -> m r) -> m ()
<code><a href="Control-Lens-Fold.html#v:forMOf_">forMOf_</a></code> :: <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Control-Monad.html#t:Monad">Monad</a></code> m => <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> s a -> s -> (a -> m r) -> m ()
<code><a href="Control-Lens-Fold.html#v:forMOf_">forMOf_</a></code> :: <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Control-Monad.html#t:Monad">Monad</a></code> m => <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> s a -> s -> (a -> m r) -> m ()
<code><a href="Control-Lens-Fold.html#v:forMOf_">forMOf_</a></code> :: <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Control-Monad.html#t:Monad">Monad</a></code> m => <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Iso.html#t:Iso">Iso</a></code> s a -> s -> (a -> m r) -> m ()
<code><a href="Control-Lens-Fold.html#v:forMOf_">forMOf_</a></code> :: <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Control-Monad.html#t:Monad">Monad</a></code> m => <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Traversal.html#t:Traversal">Traversal</a></code> s a -> s -> (a -> m r) -> m ()
<code><a href="Control-Lens-Fold.html#v:forMOf_">forMOf_</a></code> :: <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Control-Monad.html#t:Monad">Monad</a></code> m => <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Prism.html#t:Prism">Prism</a></code> s a -> s -> (a -> m r) -> m ()
</pre></div></div><div class="top"><p class="src"><a name="v:sequenceOf_" class="def">sequenceOf_</a> :: <a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Control-Monad.html#t:Monad">Monad</a> m => <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="Control-Lens-Internal.html#t:Sequenced">Sequenced</a> m) s t (m a) b -> s -> m <a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a><a href="src/Control-Lens-Fold.html#sequenceOf_" class="link">Source</a></p><div class="doc"><p>Evaluate each monadic action referenced by a <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> on the structure from left to right, and ignore the results.
</p><pre><code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Foldable.html#v:sequence_">sequence_</a></code> ≡ <code><a href="Control-Lens-Fold.html#v:sequenceOf_">sequenceOf_</a></code> <code><a href="Control-Lens-Fold.html#v:folded">folded</a></code></pre><pre>
<code><a href="Control-Lens-Fold.html#v:sequenceOf_">sequenceOf_</a></code> :: <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Control-Monad.html#t:Monad">Monad</a></code> m => <code><a href="Control-Lens-Getter.html#t:Getter">Getter</a></code> s (m a) -> s -> m ()
<code><a href="Control-Lens-Fold.html#v:sequenceOf_">sequenceOf_</a></code> :: <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Control-Monad.html#t:Monad">Monad</a></code> m => <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> s (m a) -> s -> m ()
<code><a href="Control-Lens-Fold.html#v:sequenceOf_">sequenceOf_</a></code> :: <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Control-Monad.html#t:Monad">Monad</a></code> m => <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> s (m a) -> s -> m ()
<code><a href="Control-Lens-Fold.html#v:sequenceOf_">sequenceOf_</a></code> :: <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Control-Monad.html#t:Monad">Monad</a></code> m => <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Iso.html#t:Iso">Iso</a></code> s (m a) -> s -> m ()
<code><a href="Control-Lens-Fold.html#v:sequenceOf_">sequenceOf_</a></code> :: <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Control-Monad.html#t:Monad">Monad</a></code> m => <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Traversal.html#t:Traversal">Traversal</a></code> s (m a) -> s -> m ()
<code><a href="Control-Lens-Fold.html#v:sequenceOf_">sequenceOf_</a></code> :: <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Control-Monad.html#t:Monad">Monad</a></code> m => <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Prism.html#t:Prism">Prism</a></code> s (m a) -> s -> m ()
</pre></div></div><div class="top"><p class="src"><a name="v:asumOf" class="def">asumOf</a> :: <a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Control-Applicative.html#t:Alternative">Alternative</a> f => <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Monoid.html#t:Endo">Endo</a> (f a)) s t (f a) b -> s -> f a<a href="src/Control-Lens-Fold.html#asumOf" class="link">Source</a></p><div class="doc"><p>The sum of a collection of actions, generalizing <code><a href="Control-Lens-Fold.html#v:concatOf">concatOf</a></code>.
</p><pre><code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Foldable.html#v:asum">asum</a></code> ≡ <code><a href="Control-Lens-Fold.html#v:asumOf">asumOf</a></code> <code><a href="Control-Lens-Fold.html#v:folded">folded</a></code></pre><pre>
<code><a href="Control-Lens-Fold.html#v:asumOf">asumOf</a></code> :: <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Control-Applicative.html#t:Alternative">Alternative</a></code> f => <code><a href="Control-Lens-Getter.html#t:Getter">Getter</a></code> s a -> s -> f a
<code><a href="Control-Lens-Fold.html#v:asumOf">asumOf</a></code> :: <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Control-Applicative.html#t:Alternative">Alternative</a></code> f => <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> s a -> s -> f a
<code><a href="Control-Lens-Fold.html#v:asumOf">asumOf</a></code> :: <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Control-Applicative.html#t:Alternative">Alternative</a></code> f => <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> s a -> s -> f a
<code><a href="Control-Lens-Fold.html#v:asumOf">asumOf</a></code> :: <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Control-Applicative.html#t:Alternative">Alternative</a></code> f => <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Iso.html#t:Iso">Iso</a></code> s a -> s -> f a
<code><a href="Control-Lens-Fold.html#v:asumOf">asumOf</a></code> :: <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Control-Applicative.html#t:Alternative">Alternative</a></code> f => <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Traversal.html#t:Traversal">Traversal</a></code> s a -> s -> f a
<code><a href="Control-Lens-Fold.html#v:asumOf">asumOf</a></code> :: <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Control-Applicative.html#t:Alternative">Alternative</a></code> f => <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Prism.html#t:Prism">Prism</a></code> s a -> s -> f a
</pre></div></div><div class="top"><p class="src"><a name="v:msumOf" class="def">msumOf</a> :: <a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Control-Monad.html#t:MonadPlus">MonadPlus</a> m => <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Monoid.html#t:Endo">Endo</a> (m a)) s t (m a) b -> s -> m a<a href="src/Control-Lens-Fold.html#msumOf" class="link">Source</a></p><div class="doc"><p>The sum of a collection of actions, generalizing <code><a href="Control-Lens-Fold.html#v:concatOf">concatOf</a></code>.
</p><pre><code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Foldable.html#v:msum">msum</a></code> ≡ <code><a href="Control-Lens-Fold.html#v:msumOf">msumOf</a></code> <code><a href="Control-Lens-Fold.html#v:folded">folded</a></code></pre><pre>
<code><a href="Control-Lens-Fold.html#v:msumOf">msumOf</a></code> :: <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Control-Monad.html#t:MonadPlus">MonadPlus</a></code> m => <code><a href="Control-Lens-Getter.html#t:Getter">Getter</a></code> s a -> s -> m a
<code><a href="Control-Lens-Fold.html#v:msumOf">msumOf</a></code> :: <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Control-Monad.html#t:MonadPlus">MonadPlus</a></code> m => <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> s a -> s -> m a
<code><a href="Control-Lens-Fold.html#v:msumOf">msumOf</a></code> :: <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Control-Monad.html#t:MonadPlus">MonadPlus</a></code> m => <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> s a -> s -> m a
<code><a href="Control-Lens-Fold.html#v:msumOf">msumOf</a></code> :: <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Control-Monad.html#t:MonadPlus">MonadPlus</a></code> m => <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Iso.html#t:Iso">Iso</a></code> s a -> s -> m a
<code><a href="Control-Lens-Fold.html#v:msumOf">msumOf</a></code> :: <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Control-Monad.html#t:MonadPlus">MonadPlus</a></code> m => <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Traversal.html#t:Traversal">Traversal</a></code> s a -> s -> m a
<code><a href="Control-Lens-Fold.html#v:msumOf">msumOf</a></code> :: <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Control-Monad.html#t:MonadPlus">MonadPlus</a></code> m => <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Prism.html#t:Prism">Prism</a></code> s a -> s -> m a
</pre></div></div><div class="top"><p class="src"><a name="v:concatMapOf" class="def">concatMapOf</a> :: <a href="Control-Lens-Getter.html#t:Getting">Getting</a> [r] s t a b -> (a -> [r]) -> s -> [r]<a href="src/Control-Lens-Fold.html#concatMapOf" class="link">Source</a></p><div class="doc"><p>Map a function over all the targets of a <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> of a container and concatenate the resulting lists.
</p><pre><code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Foldable.html#v:concatMap">concatMap</a></code> ≡ <code><a href="Control-Lens-Fold.html#v:concatMapOf">concatMapOf</a></code> <code><a href="Control-Lens-Fold.html#v:folded">folded</a></code></pre><pre>
<code><a href="Control-Lens-Fold.html#v:concatMapOf">concatMapOf</a></code> :: <code><a href="Control-Lens-Getter.html#t:Getter">Getter</a></code> s a -> (a -> [r]) -> s -> [r]
<code><a href="Control-Lens-Fold.html#v:concatMapOf">concatMapOf</a></code> :: <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> s a -> (a -> [r]) -> s -> [r]
<code><a href="Control-Lens-Fold.html#v:concatMapOf">concatMapOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> s a -> (a -> [r]) -> s -> [r]
<code><a href="Control-Lens-Fold.html#v:concatMapOf">concatMapOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Iso.html#t:Iso">Iso</a></code> s a -> (a -> [r]) -> s -> [r]
<code><a href="Control-Lens-Fold.html#v:concatMapOf">concatMapOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Traversal.html#t:Traversal">Traversal</a></code> s a -> (a -> [r]) -> s -> [r]
</pre></div></div><div class="top"><p class="src"><a name="v:concatOf" class="def">concatOf</a> :: <a href="Control-Lens-Getter.html#t:Getting">Getting</a> [r] s t [r] b -> s -> [r]<a href="src/Control-Lens-Fold.html#concatOf" class="link">Source</a></p><div class="doc"><p>Concatenate all of the lists targeted by a <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> into a longer list.
</p><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>concatOf both ("pan","ama")
</code></strong>"panama"
</pre><pre>
<code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Foldable.html#v:concat">concat</a></code> ≡ <code><a href="Control-Lens-Fold.html#v:concatOf">concatOf</a></code> <code><a href="Control-Lens-Fold.html#v:folded">folded</a></code>
<code><a href="Control-Lens-Fold.html#v:concatOf">concatOf</a></code> ≡ <code><a href="Control-Lens-Getter.html#v:view">view</a></code>
</pre><pre>
<code><a href="Control-Lens-Fold.html#v:concatOf">concatOf</a></code> :: <code><a href="Control-Lens-Getter.html#t:Getter">Getter</a></code> s [r] -> s -> [r]
<code><a href="Control-Lens-Fold.html#v:concatOf">concatOf</a></code> :: <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> s [r] -> s -> [r]
<code><a href="Control-Lens-Fold.html#v:concatOf">concatOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Iso.html#t:Iso">Iso</a></code> s [r] -> s -> [r]
<code><a href="Control-Lens-Fold.html#v:concatOf">concatOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> s [r] -> s -> [r]
<code><a href="Control-Lens-Fold.html#v:concatOf">concatOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Traversal.html#t:Traversal">Traversal</a></code> s [r] -> s -> [r]
</pre></div></div><div class="top"><p class="src"><a name="v:elemOf" class="def">elemOf</a> :: <a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Eq.html#t:Eq">Eq</a> a => <a href="Control-Lens-Getter.html#t:Getting">Getting</a> <a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Monoid.html#t:Any">Any</a> s t a b -> a -> s -> <a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a><a href="src/Control-Lens-Fold.html#elemOf" class="link">Source</a></p><div class="doc"><p>Does the element occur anywhere within a given <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> of the structure?
</p><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>elemOf both "hello" ("hello","world")
</code></strong>True
</pre><pre><code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Foldable.html#v:elem">elem</a></code> ≡ <code><a href="Control-Lens-Fold.html#v:elemOf">elemOf</a></code> <code><a href="Control-Lens-Fold.html#v:folded">folded</a></code></pre><pre>
<code><a href="Control-Lens-Fold.html#v:elemOf">elemOf</a></code> :: <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Eq.html#t:Eq">Eq</a></code> a => <code><a href="Control-Lens-Getter.html#t:Getter">Getter</a></code> s a -> a -> s -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></code>
<code><a href="Control-Lens-Fold.html#v:elemOf">elemOf</a></code> :: <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Eq.html#t:Eq">Eq</a></code> a => <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> s a -> a -> s -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></code>
<code><a href="Control-Lens-Fold.html#v:elemOf">elemOf</a></code> :: <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Eq.html#t:Eq">Eq</a></code> a => <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> s a -> a -> s -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></code>
<code><a href="Control-Lens-Fold.html#v:elemOf">elemOf</a></code> :: <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Eq.html#t:Eq">Eq</a></code> a => <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Iso.html#t:Iso">Iso</a></code> s a -> a -> s -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></code>
<code><a href="Control-Lens-Fold.html#v:elemOf">elemOf</a></code> :: <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Eq.html#t:Eq">Eq</a></code> a => <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Traversal.html#t:Traversal">Traversal</a></code> s a -> a -> s -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></code>
<code><a href="Control-Lens-Fold.html#v:elemOf">elemOf</a></code> :: <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Eq.html#t:Eq">Eq</a></code> a => <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Prism.html#t:Prism">Prism</a></code> s a -> a -> s -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></code>
</pre></div></div><div class="top"><p class="src"><a name="v:notElemOf" class="def">notElemOf</a> :: <a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Eq.html#t:Eq">Eq</a> a => <a href="Control-Lens-Getter.html#t:Getting">Getting</a> <a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Monoid.html#t:All">All</a> s t a b -> a -> s -> <a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a><a href="src/Control-Lens-Fold.html#notElemOf" class="link">Source</a></p><div class="doc"><p>Does the element not occur anywhere within a given <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> of the structure?
</p><pre><code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Foldable.html#v:notElem">notElem</a></code> ≡ <code><a href="Control-Lens-Fold.html#v:notElemOf">notElemOf</a></code> <code><a href="Control-Lens-Fold.html#v:folded">folded</a></code></pre><pre>
<code><a href="Control-Lens-Fold.html#v:notElemOf">notElemOf</a></code> :: <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Eq.html#t:Eq">Eq</a></code> a => <code><a href="Control-Lens-Getter.html#t:Getter">Getter</a></code> s a -> a -> s -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></code>
<code><a href="Control-Lens-Fold.html#v:notElemOf">notElemOf</a></code> :: <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Eq.html#t:Eq">Eq</a></code> a => <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> s a -> a -> s -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></code>
<code><a href="Control-Lens-Fold.html#v:notElemOf">notElemOf</a></code> :: <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Eq.html#t:Eq">Eq</a></code> a => <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Iso.html#t:Iso">Iso</a></code> s a -> a -> s -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></code>
<code><a href="Control-Lens-Fold.html#v:notElemOf">notElemOf</a></code> :: <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Eq.html#t:Eq">Eq</a></code> a => <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> s a -> a -> s -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></code>
<code><a href="Control-Lens-Fold.html#v:notElemOf">notElemOf</a></code> :: <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Eq.html#t:Eq">Eq</a></code> a => <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Traversal.html#t:Traversal">Traversal</a></code> s a -> a -> s -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></code>
<code><a href="Control-Lens-Fold.html#v:notElemOf">notElemOf</a></code> :: <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Eq.html#t:Eq">Eq</a></code> a => <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Prism.html#t:Prism">Prism</a></code> s a -> a -> s -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></code>
</pre></div></div><div class="top"><p class="src"><a name="v:lengthOf" class="def">lengthOf</a> :: <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Monoid.html#t:Sum">Sum</a> <a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Int.html#t:Int">Int</a>) s t a b -> s -> <a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Int.html#t:Int">Int</a><a href="src/Control-Lens-Fold.html#lengthOf" class="link">Source</a></p><div class="doc"><p>Note: this can be rather inefficient for large containers.
</p><pre><code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-List.html#v:length">length</a></code> ≡ <code><a href="Control-Lens-Fold.html#v:lengthOf">lengthOf</a></code> <code><a href="Control-Lens-Fold.html#v:folded">folded</a></code></pre><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>lengthOf _1 ("hello",())
</code></strong>1
</pre><pre><code><a href="Control-Lens-Fold.html#v:lengthOf">lengthOf</a></code> (<code><a href="Control-Lens-Fold.html#v:folded">folded</a></code> . <code><a href="Control-Lens-Fold.html#v:folded">folded</a></code>) :: <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Foldable.html#t:Foldable">Foldable</a></code> f => f (g a) -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Int.html#t:Int">Int</a></code></pre><pre>
<code><a href="Control-Lens-Fold.html#v:lengthOf">lengthOf</a></code> :: <code><a href="Control-Lens-Getter.html#t:Getter">Getter</a></code> s a -> s -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Int.html#t:Int">Int</a></code>
<code><a href="Control-Lens-Fold.html#v:lengthOf">lengthOf</a></code> :: <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> s a -> s -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Int.html#t:Int">Int</a></code>
<code><a href="Control-Lens-Fold.html#v:lengthOf">lengthOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> s a -> s -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Int.html#t:Int">Int</a></code>
<code><a href="Control-Lens-Fold.html#v:lengthOf">lengthOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Iso.html#t:Iso">Iso</a></code> s a -> s -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Int.html#t:Int">Int</a></code>
<code><a href="Control-Lens-Fold.html#v:lengthOf">lengthOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Traversal.html#t:Traversal">Traversal</a></code> s a -> s -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Int.html#t:Int">Int</a></code>
</pre></div></div><div class="top"><p class="src"><a name="v:nullOf" class="def">nullOf</a> :: <a href="Control-Lens-Getter.html#t:Getting">Getting</a> <a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Monoid.html#t:All">All</a> s t a b -> s -> <a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a><a href="src/Control-Lens-Fold.html#nullOf" class="link">Source</a></p><div class="doc"><p>Returns <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#v:True">True</a></code> if this <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> or <code><a href="Control-Lens-Traversal.html#t:Traversal">Traversal</a></code> has no targets in the given container.
</p><p>Note: <code><a href="Control-Lens-Fold.html#v:nullOf">nullOf</a></code> on a valid <code><a href="Control-Lens-Iso.html#t:Iso">Iso</a></code>, <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> or <code><a href="Control-Lens-Getter.html#t:Getter">Getter</a></code> should always return <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#v:False">False</a></code>
</p><pre><code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-List.html#v:null">null</a></code> ≡ <code><a href="Control-Lens-Fold.html#v:nullOf">nullOf</a></code> <code><a href="Control-Lens-Fold.html#v:folded">folded</a></code></pre><p>This may be rather inefficient compared to the <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-List.html#v:null">null</a></code> check of many containers.
</p><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>nullOf _1 (1,2)
</code></strong>False
</pre><pre><code><a href="Control-Lens-Fold.html#v:nullOf">nullOf</a></code> (<code><a href="Control-Lens-Fold.html#v:folded">folded</a></code> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Prelude.html#v:.">.</a></code> <code>_1</code> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Prelude.html#v:.">.</a></code> <code><a href="Control-Lens-Fold.html#v:folded">folded</a></code>) :: <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Foldable.html#t:Foldable">Foldable</a></code> f => f (g a, b) -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></code></pre><pre>
<code><a href="Control-Lens-Fold.html#v:nullOf">nullOf</a></code> :: <code><a href="Control-Lens-Getter.html#t:Getter">Getter</a></code> s a -> s -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></code>
<code><a href="Control-Lens-Fold.html#v:nullOf">nullOf</a></code> :: <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> s a -> s -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></code>
<code><a href="Control-Lens-Fold.html#v:nullOf">nullOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Iso.html#t:Iso">Iso</a></code> s a -> s -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></code>
<code><a href="Control-Lens-Fold.html#v:nullOf">nullOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> s a -> s -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></code>
<code><a href="Control-Lens-Fold.html#v:nullOf">nullOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Traversal.html#t:Traversal">Traversal</a></code> s a -> s -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></code>
</pre></div></div><div class="top"><p class="src"><a name="v:notNullOf" class="def">notNullOf</a> :: <a href="Control-Lens-Getter.html#t:Getting">Getting</a> <a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Monoid.html#t:Any">Any</a> s t a b -> s -> <a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a><a href="src/Control-Lens-Fold.html#notNullOf" class="link">Source</a></p><div class="doc"><p>Returns <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#v:True">True</a></code> if this <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> or <code><a href="Control-Lens-Traversal.html#t:Traversal">Traversal</a></code> has any targets in the given container.
</p><p>Note: <code><a href="Control-Lens-Fold.html#v:notNullOf">notNullOf</a></code> on a valid <code><a href="Control-Lens-Iso.html#t:Iso">Iso</a></code>, <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> or <code><a href="Control-Lens-Getter.html#t:Getter">Getter</a></code> should always return <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#v:True">True</a></code>
</p><pre><code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-List.html#v:null">null</a></code> ≡ <code><a href="Control-Lens-Fold.html#v:notNullOf">notNullOf</a></code> <code><a href="Control-Lens-Fold.html#v:folded">folded</a></code></pre><p>This may be rather inefficient compared to the <code><code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#v:not">not</a></code> . <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-List.html#v:null">null</a></code></code> check of many containers.
</p><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>notNullOf _1 (1,2)
</code></strong>True
</pre><pre><code><a href="Control-Lens-Fold.html#v:notNullOf">notNullOf</a></code> (<code><a href="Control-Lens-Fold.html#v:folded">folded</a></code> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Prelude.html#v:.">.</a></code> <code>_1</code> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Prelude.html#v:.">.</a></code> <code><a href="Control-Lens-Fold.html#v:folded">folded</a></code>) :: <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Foldable.html#t:Foldable">Foldable</a></code> f => f (g a, b) -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></code></pre><pre>
<code><a href="Control-Lens-Fold.html#v:notNullOf">notNullOf</a></code> :: <code><a href="Control-Lens-Getter.html#t:Getter">Getter</a></code> s a -> s -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></code>
<code><a href="Control-Lens-Fold.html#v:notNullOf">notNullOf</a></code> :: <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> s a -> s -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></code>
<code><a href="Control-Lens-Fold.html#v:notNullOf">notNullOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Iso.html#t:Iso">Iso</a></code> s a -> s -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></code>
<code><a href="Control-Lens-Fold.html#v:notNullOf">notNullOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> s a -> s -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></code>
<code><a href="Control-Lens-Fold.html#v:notNullOf">notNullOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Traversal.html#t:Traversal">Traversal</a></code> s a -> s -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></code>
</pre></div></div><div class="top"><p class="src"><a name="v:firstOf" class="def">firstOf</a> :: <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Monoid.html#t:First">First</a> a) s t a b -> s -> <a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a<a href="src/Control-Lens-Fold.html#firstOf" class="link">Source</a></p><div class="doc"><p>Retrieve the <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Monoid.html#t:First">First</a></code> entry of a <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> or <code><a href="Control-Lens-Traversal.html#t:Traversal">Traversal</a></code> or retrieve <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#v:Just">Just</a></code> the result
from a <code><a href="Control-Lens-Getter.html#t:Getter">Getter</a></code> or <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code>.
</p><pre>
<code><a href="Control-Lens-Fold.html#v:firstOf">firstOf</a></code> :: <code><a href="Control-Lens-Getter.html#t:Getter">Getter</a></code> s a -> s -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a
<code><a href="Control-Lens-Fold.html#v:firstOf">firstOf</a></code> :: <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> s a -> s -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a
<code><a href="Control-Lens-Fold.html#v:firstOf">firstOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> s a -> s -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a
<code><a href="Control-Lens-Fold.html#v:firstOf">firstOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Iso.html#t:Iso">Iso</a></code> s a -> s -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a
<code><a href="Control-Lens-Fold.html#v:firstOf">firstOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Traversal.html#t:Traversal">Traversal</a></code> s a -> s -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a
</pre></div></div><div class="top"><p class="src"><a name="v:lastOf" class="def">lastOf</a> :: <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Monoid.html#t:Last">Last</a> a) s t a b -> s -> <a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a<a href="src/Control-Lens-Fold.html#lastOf" class="link">Source</a></p><div class="doc"><p>Retrieve the <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Monoid.html#t:Last">Last</a></code> entry of a <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> or <code><a href="Control-Lens-Traversal.html#t:Traversal">Traversal</a></code> or retrieve <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#v:Just">Just</a></code> the result
from a <code><a href="Control-Lens-Getter.html#t:Getter">Getter</a></code> or <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code>.
</p><pre>
<code><a href="Control-Lens-Fold.html#v:lastOf">lastOf</a></code> :: <code><a href="Control-Lens-Getter.html#t:Getter">Getter</a></code> s a -> s -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a
<code><a href="Control-Lens-Fold.html#v:lastOf">lastOf</a></code> :: <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> s a -> s -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a
<code><a href="Control-Lens-Fold.html#v:lastOf">lastOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> s a -> s -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a
<code><a href="Control-Lens-Fold.html#v:lastOf">lastOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Iso.html#t:Iso">Iso</a></code> s a -> s -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a
<code><a href="Control-Lens-Fold.html#v:lastOf">lastOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Traversal.html#t:Traversal">Traversal</a></code> s a -> s -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a
</pre></div></div><div class="top"><p class="src"><a name="v:maximumOf" class="def">maximumOf</a> :: <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="Control-Lens-Internal.html#t:Max">Max</a> a) s t a b -> s -> <a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a<a href="src/Control-Lens-Fold.html#maximumOf" class="link">Source</a></p><div class="doc"><p>Obtain the maximum element (if any) targeted by a <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> or <code><a href="Control-Lens-Traversal.html#t:Traversal">Traversal</a></code>
</p><p>Note: maximumOf on a valid <code><a href="Control-Lens-Iso.html#t:Iso">Iso</a></code>, <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> or <code><a href="Control-Lens-Getter.html#t:Getter">Getter</a></code> will always return <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#v:Just">Just</a></code> a value.
</p><pre><code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Foldable.html#v:maximum">maximum</a></code> ≡ <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#v:fromMaybe">fromMaybe</a></code> (<code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Prelude.html#v:error">error</a></code> <a href="empty.html">empty</a>) <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Prelude.html#v:.">.</a></code> <code><a href="Control-Lens-Fold.html#v:maximumOf">maximumOf</a></code> <code><a href="Control-Lens-Fold.html#v:folded">folded</a></code></pre><pre>
<code><a href="Control-Lens-Fold.html#v:maximumOf">maximumOf</a></code> :: <code><a href="Control-Lens-Getter.html#t:Getter">Getter</a></code> s a -> s -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a
<code><a href="Control-Lens-Fold.html#v:maximumOf">maximumOf</a></code> :: <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Ord.html#t:Ord">Ord</a></code> a => <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> s a -> s -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a
<code><a href="Control-Lens-Fold.html#v:maximumOf">maximumOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Iso.html#t:Iso">Iso</a></code> s a -> s -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a
<code><a href="Control-Lens-Fold.html#v:maximumOf">maximumOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> s a -> s -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a
<code><a href="Control-Lens-Fold.html#v:maximumOf">maximumOf</a></code> :: <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Ord.html#t:Ord">Ord</a></code> a => <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Traversal.html#t:Traversal">Traversal</a></code> s a -> s -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a
</pre></div></div><div class="top"><p class="src"><a name="v:minimumOf" class="def">minimumOf</a> :: <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="Control-Lens-Internal.html#t:Min">Min</a> a) s t a b -> s -> <a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a<a href="src/Control-Lens-Fold.html#minimumOf" class="link">Source</a></p><div class="doc"><p>Obtain the minimum element (if any) targeted by a <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> or <code><a href="Control-Lens-Traversal.html#t:Traversal">Traversal</a></code>
</p><p>Note: minimumOf on a valid <code><a href="Control-Lens-Iso.html#t:Iso">Iso</a></code>, <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> or <code><a href="Control-Lens-Getter.html#t:Getter">Getter</a></code> will always return <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#v:Just">Just</a></code> a value.
</p><pre><code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Foldable.html#v:minimum">minimum</a></code> ≡ <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#v:fromMaybe">fromMaybe</a></code> (<code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Prelude.html#v:error">error</a></code> <a href="empty.html">empty</a>) <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Prelude.html#v:.">.</a></code> <code><a href="Control-Lens-Fold.html#v:minimumOf">minimumOf</a></code> <code><a href="Control-Lens-Fold.html#v:folded">folded</a></code></pre><pre>
<code><a href="Control-Lens-Fold.html#v:minimumOf">minimumOf</a></code> :: <code><a href="Control-Lens-Getter.html#t:Getter">Getter</a></code> s a -> s -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a
<code><a href="Control-Lens-Fold.html#v:minimumOf">minimumOf</a></code> :: <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Ord.html#t:Ord">Ord</a></code> a => <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> s a -> s -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a
<code><a href="Control-Lens-Fold.html#v:minimumOf">minimumOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Iso.html#t:Iso">Iso</a></code> s a -> s -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a
<code><a href="Control-Lens-Fold.html#v:minimumOf">minimumOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> s a -> s -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a
<code><a href="Control-Lens-Fold.html#v:minimumOf">minimumOf</a></code> :: <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Ord.html#t:Ord">Ord</a></code> a => <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Traversal.html#t:Traversal">Traversal</a></code> s a -> s -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a
</pre></div></div><div class="top"><p class="src"><a name="v:maximumByOf" class="def">maximumByOf</a> :: <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Monoid.html#t:Endo">Endo</a> (<a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a)) s t a b -> (a -> a -> <a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Ord.html#t:Ordering">Ordering</a>) -> s -> <a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a<a href="src/Control-Lens-Fold.html#maximumByOf" class="link">Source</a></p><div class="doc"><p>Obtain the maximum element (if any) targeted by a <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code>, <code><a href="Control-Lens-Traversal.html#t:Traversal">Traversal</a></code>, <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code>, <code><a href="Control-Lens-Iso.html#t:Iso">Iso</a></code>,
or <code><a href="Control-Lens-Getter.html#t:Getter">Getter</a></code> according to a user supplied ordering.
</p><pre><code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Foldable.html#v:maximumBy">maximumBy</a></code> cmp ≡ <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#v:fromMaybe">fromMaybe</a></code> (<code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Prelude.html#v:error">error</a></code> <a href="empty.html">empty</a>) <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Prelude.html#v:.">.</a></code> <code><a href="Control-Lens-Fold.html#v:maximumByOf">maximumByOf</a></code> <code><a href="Control-Lens-Fold.html#v:folded">folded</a></code> cmp</pre><pre>
<code><a href="Control-Lens-Fold.html#v:maximumByOf">maximumByOf</a></code> :: <code><a href="Control-Lens-Getter.html#t:Getter">Getter</a></code> s a -> (a -> a -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Ord.html#t:Ordering">Ordering</a></code>) -> s -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a
<code><a href="Control-Lens-Fold.html#v:maximumByOf">maximumByOf</a></code> :: <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> s a -> (a -> a -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Ord.html#t:Ordering">Ordering</a></code>) -> s -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a
<code><a href="Control-Lens-Fold.html#v:maximumByOf">maximumByOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Iso.html#t:Iso">Iso</a></code> s a -> (a -> a -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Ord.html#t:Ordering">Ordering</a></code>) -> s -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a
<code><a href="Control-Lens-Fold.html#v:maximumByOf">maximumByOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> s a -> (a -> a -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Ord.html#t:Ordering">Ordering</a></code>) -> s -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a
<code><a href="Control-Lens-Fold.html#v:maximumByOf">maximumByOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Traversal.html#t:Traversal">Traversal</a></code> s a -> (a -> a -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Ord.html#t:Ordering">Ordering</a></code>) -> s -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a
</pre></div></div><div class="top"><p class="src"><a name="v:minimumByOf" class="def">minimumByOf</a> :: <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Monoid.html#t:Endo">Endo</a> (<a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a)) s t a b -> (a -> a -> <a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Ord.html#t:Ordering">Ordering</a>) -> s -> <a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a<a href="src/Control-Lens-Fold.html#minimumByOf" class="link">Source</a></p><div class="doc"><p>Obtain the minimum element (if any) targeted by a <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code>, <code><a href="Control-Lens-Traversal.html#t:Traversal">Traversal</a></code>, <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code>, <code><a href="Control-Lens-Iso.html#t:Iso">Iso</a></code>
or <code><a href="Control-Lens-Getter.html#t:Getter">Getter</a></code> according to a user supplied ordering.
</p><pre><code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Foldable.html#v:minimumBy">minimumBy</a></code> cmp ≡ <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#v:fromMaybe">fromMaybe</a></code> (<code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Prelude.html#v:error">error</a></code> <a href="empty.html">empty</a>) <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Prelude.html#v:.">.</a></code> <code><a href="Control-Lens-Fold.html#v:minimumByOf">minimumByOf</a></code> <code><a href="Control-Lens-Fold.html#v:folded">folded</a></code> cmp</pre><pre>
<code><a href="Control-Lens-Fold.html#v:minimumByOf">minimumByOf</a></code> :: <code><a href="Control-Lens-Getter.html#t:Getter">Getter</a></code> s a -> (a -> a -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Ord.html#t:Ordering">Ordering</a></code>) -> s -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a
<code><a href="Control-Lens-Fold.html#v:minimumByOf">minimumByOf</a></code> :: <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> s a -> (a -> a -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Ord.html#t:Ordering">Ordering</a></code>) -> s -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a
<code><a href="Control-Lens-Fold.html#v:minimumByOf">minimumByOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Iso.html#t:Iso">Iso</a></code> s a -> (a -> a -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Ord.html#t:Ordering">Ordering</a></code>) -> s -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a
<code><a href="Control-Lens-Fold.html#v:minimumByOf">minimumByOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> s a -> (a -> a -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Ord.html#t:Ordering">Ordering</a></code>) -> s -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a
<code><a href="Control-Lens-Fold.html#v:minimumByOf">minimumByOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Traversal.html#t:Traversal">Traversal</a></code> s a -> (a -> a -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Ord.html#t:Ordering">Ordering</a></code>) -> s -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a
</pre></div></div><div class="top"><p class="src"><a name="v:findOf" class="def">findOf</a> :: <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Monoid.html#t:First">First</a> a) s t a b -> (a -> <a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a>) -> s -> <a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a<a href="src/Control-Lens-Fold.html#findOf" class="link">Source</a></p><div class="doc"><p>The <code><a href="Control-Lens-Fold.html#v:findOf">findOf</a></code> function takes a <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> (or <code><a href="Control-Lens-Getter.html#t:Getter">Getter</a></code>, <code><a href="Control-Lens-Iso.html#t:Iso">Iso</a></code>, <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code>, or <code><a href="Control-Lens-Traversal.html#t:Traversal">Traversal</a></code>),
a predicate and a structure and returns the leftmost element of the structure
matching the predicate, or <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#v:Nothing">Nothing</a></code> if there is no such element.
</p><pre>
<code><a href="Control-Lens-Fold.html#v:findOf">findOf</a></code> :: <code><a href="Control-Lens-Getter.html#t:Getter">Getter</a></code> s a -> (a -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></code>) -> s -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a
<code><a href="Control-Lens-Fold.html#v:findOf">findOf</a></code> :: <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> s a -> (a -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></code>) -> s -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a
<code><a href="Control-Lens-Fold.html#v:findOf">findOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Iso.html#t:Iso">Iso</a></code> s a -> (a -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></code>) -> s -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a
<code><a href="Control-Lens-Fold.html#v:findOf">findOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> s a -> (a -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></code>) -> s -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a
<code><a href="Control-Lens-Fold.html#v:findOf">findOf</a></code> :: <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Traversal.html#t:Traversal">Traversal</a></code> s a -> (a -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></code>) -> s -> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a
</pre></div></div><div class="top"><p class="src"><a name="v:foldrOf-39-" class="def">foldrOf'</a> :: <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Monoid.html#t:Dual">Dual</a> (<a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Monoid.html#t:Endo">Endo</a> (r -> r))) s t a b -> (a -> r -> r) -> r -> s -> r<a href="src/Control-Lens-Fold.html#foldrOf%27" class="link">Source</a></p><div class="doc"><p>Strictly fold right over the elements of a structure.
</p><pre><code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Foldable.html#v:foldr-39-">foldr'</a></code> ≡ <code><a href="Control-Lens-Fold.html#v:foldrOf-39-">foldrOf'</a></code> <code><a href="Control-Lens-Fold.html#v:folded">folded</a></code></pre><pre>
<code><a href="Control-Lens-Fold.html#v:foldrOf-39-">foldrOf'</a></code> :: <code><a href="Control-Lens-Getter.html#t:Getter">Getter</a></code> s a -> (a -> r -> r) -> r -> s -> r
<code><a href="Control-Lens-Fold.html#v:foldrOf-39-">foldrOf'</a></code> :: <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> s a -> (a -> r -> r) -> r -> s -> r
<code><a href="Control-Lens-Fold.html#v:foldrOf-39-">foldrOf'</a></code> :: <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Iso.html#t:Iso">Iso</a></code> s a -> (a -> r -> r) -> r -> s -> r
<code><a href="Control-Lens-Fold.html#v:foldrOf-39-">foldrOf'</a></code> :: <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> s a -> (a -> r -> r) -> r -> s -> r
<code><a href="Control-Lens-Fold.html#v:foldrOf-39-">foldrOf'</a></code> :: <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Traversal.html#t:Traversal">Traversal</a></code> s a -> (a -> r -> r) -> r -> s -> r
</pre></div></div><div class="top"><p class="src"><a name="v:foldlOf-39-" class="def">foldlOf'</a> :: <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Monoid.html#t:Endo">Endo</a> (r -> r)) s t a b -> (r -> a -> r) -> r -> s -> r<a href="src/Control-Lens-Fold.html#foldlOf%27" class="link">Source</a></p><div class="doc"><p>Fold over the elements of a structure, associating to the left, but strictly.
</p><pre><code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Foldable.html#v:foldl-39-">foldl'</a></code> ≡ <code><a href="Control-Lens-Fold.html#v:foldlOf-39-">foldlOf'</a></code> <code><a href="Control-Lens-Fold.html#v:folded">folded</a></code></pre><pre>
<code><a href="Control-Lens-Fold.html#v:foldlOf-39-">foldlOf'</a></code> :: <code><a href="Control-Lens-Getter.html#t:Getter">Getter</a></code> s a -> (r -> a -> r) -> r -> s -> r
<code><a href="Control-Lens-Fold.html#v:foldlOf-39-">foldlOf'</a></code> :: <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> s a -> (r -> a -> r) -> r -> s -> r
<code><a href="Control-Lens-Fold.html#v:foldlOf-39-">foldlOf'</a></code> :: <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Iso.html#t:Iso">Iso</a></code> s a -> (r -> a -> r) -> r -> s -> r
<code><a href="Control-Lens-Fold.html#v:foldlOf-39-">foldlOf'</a></code> :: <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> s a -> (r -> a -> r) -> r -> s -> r
<code><a href="Control-Lens-Fold.html#v:foldlOf-39-">foldlOf'</a></code> :: <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Traversal.html#t:Traversal">Traversal</a></code> s a -> (r -> a -> r) -> r -> s -> r
</pre></div></div><div class="top"><p class="src"><a name="v:foldr1Of" class="def">foldr1Of</a> :: <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Monoid.html#t:Endo">Endo</a> (<a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a)) s t a b -> (a -> a -> a) -> s -> a<a href="src/Control-Lens-Fold.html#foldr1Of" class="link">Source</a></p><div class="doc"><p>A variant of <code><a href="Control-Lens-Fold.html#v:foldrOf">foldrOf</a></code> that has no base case and thus may only be applied
to lenses and structures such that the lens views at least one element of
the structure.
</p><pre>
<code><a href="Control-Lens-Fold.html#v:foldr1Of">foldr1Of</a></code> l f ≡ <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-List.html#v:foldr1">foldr1</a></code> f <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Prelude.html#v:.">.</a></code> <code><a href="Control-Lens-Fold.html#v:toListOf">toListOf</a></code> l
<code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Foldable.html#v:foldr1">foldr1</a></code> ≡ <code><a href="Control-Lens-Fold.html#v:foldr1Of">foldr1Of</a></code> <code><a href="Control-Lens-Fold.html#v:folded">folded</a></code>
</pre><pre>
<code><a href="Control-Lens-Fold.html#v:foldr1Of">foldr1Of</a></code> :: <code><a href="Control-Lens-Getter.html#t:Getter">Getter</a></code> s a -> (a -> a -> a) -> s -> a
<code><a href="Control-Lens-Fold.html#v:foldr1Of">foldr1Of</a></code> :: <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> s a -> (a -> a -> a) -> s -> a
<code><a href="Control-Lens-Fold.html#v:foldr1Of">foldr1Of</a></code> :: <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Iso.html#t:Iso">Iso</a></code> s a -> (a -> a -> a) -> s -> a
<code><a href="Control-Lens-Fold.html#v:foldr1Of">foldr1Of</a></code> :: <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> s a -> (a -> a -> a) -> s -> a
<code><a href="Control-Lens-Fold.html#v:foldr1Of">foldr1Of</a></code> :: <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Traversal.html#t:Traversal">Traversal</a></code> s a -> (a -> a -> a) -> s -> a
</pre></div></div><div class="top"><p class="src"><a name="v:foldl1Of" class="def">foldl1Of</a> :: <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Monoid.html#t:Dual">Dual</a> (<a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Monoid.html#t:Endo">Endo</a> (<a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a))) s t a b -> (a -> a -> a) -> s -> a<a href="src/Control-Lens-Fold.html#foldl1Of" class="link">Source</a></p><div class="doc"><p>A variant of <code><a href="Control-Lens-Fold.html#v:foldlOf">foldlOf</a></code> that has no base case and thus may only be applied to lenses and structures such
that the lens views at least one element of the structure.
</p><pre>
<code><a href="Control-Lens-Fold.html#v:foldl1Of">foldl1Of</a></code> l f ≡ <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Prelude.html#v:foldl1Of">foldl1Of</a></code> l f . <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Foldable.html#v:toList">toList</a></code>
<code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Foldable.html#v:foldl1">foldl1</a></code> ≡ <code><a href="Control-Lens-Fold.html#v:foldl1Of">foldl1Of</a></code> <code><a href="Control-Lens-Fold.html#v:folded">folded</a></code>
</pre><pre>
<code><a href="Control-Lens-Fold.html#v:foldl1Of">foldl1Of</a></code> :: <code><a href="Control-Lens-Getter.html#t:Getter">Getter</a></code> s a -> (a -> a -> a) -> s -> a
<code><a href="Control-Lens-Fold.html#v:foldl1Of">foldl1Of</a></code> :: <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> s a -> (a -> a -> a) -> s -> a
<code><a href="Control-Lens-Fold.html#v:foldl1Of">foldl1Of</a></code> :: <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Iso.html#t:Iso">Iso</a></code> s a -> (a -> a -> a) -> s -> a
<code><a href="Control-Lens-Fold.html#v:foldl1Of">foldl1Of</a></code> :: <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> s a -> (a -> a -> a) -> s -> a
<code><a href="Control-Lens-Fold.html#v:foldl1Of">foldl1Of</a></code> :: <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Traversal.html#t:Traversal">Traversal</a></code> s a -> (a -> a -> a) -> s -> a
</pre></div></div><div class="top"><p class="src"><a name="v:foldrMOf" class="def">foldrMOf</a> :: <a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Control-Monad.html#t:Monad">Monad</a> m => <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Monoid.html#t:Dual">Dual</a> (<a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Monoid.html#t:Endo">Endo</a> (r -> m r))) s t a b -> (a -> r -> m r) -> r -> s -> m r<a href="src/Control-Lens-Fold.html#foldrMOf" class="link">Source</a></p><div class="doc"><p>Monadic fold over the elements of a structure, associating to the right,
i.e. from right to left.
</p><pre><code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Foldable.html#v:foldrM">foldrM</a></code> ≡ <code><a href="Control-Lens-Fold.html#v:foldrMOf">foldrMOf</a></code> <code><a href="Control-Lens-Fold.html#v:folded">folded</a></code></pre><pre>
<code><a href="Control-Lens-Fold.html#v:foldrMOf">foldrMOf</a></code> :: <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Control-Monad.html#t:Monad">Monad</a></code> m => <code><a href="Control-Lens-Getter.html#t:Getter">Getter</a></code> s a -> (a -> r -> m r) -> r -> s -> m r
<code><a href="Control-Lens-Fold.html#v:foldrMOf">foldrMOf</a></code> :: <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Control-Monad.html#t:Monad">Monad</a></code> m => <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> s a -> (a -> r -> m r) -> r -> s -> m r
<code><a href="Control-Lens-Fold.html#v:foldrMOf">foldrMOf</a></code> :: <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Control-Monad.html#t:Monad">Monad</a></code> m => <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Iso.html#t:Iso">Iso</a></code> s a -> (a -> r -> m r) -> r -> s -> m r
<code><a href="Control-Lens-Fold.html#v:foldrMOf">foldrMOf</a></code> :: <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Control-Monad.html#t:Monad">Monad</a></code> m => <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> s a -> (a -> r -> m r) -> r -> s -> m r
<code><a href="Control-Lens-Fold.html#v:foldrMOf">foldrMOf</a></code> :: <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Control-Monad.html#t:Monad">Monad</a></code> m => <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Traversal.html#t:Traversal">Traversal</a></code> s a -> (a -> r -> m r) -> r -> s -> m r
</pre></div></div><div class="top"><p class="src"><a name="v:foldlMOf" class="def">foldlMOf</a> :: <a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Control-Monad.html#t:Monad">Monad</a> m => <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Monoid.html#t:Endo">Endo</a> (r -> m r)) s t a b -> (r -> a -> m r) -> r -> s -> m r<a href="src/Control-Lens-Fold.html#foldlMOf" class="link">Source</a></p><div class="doc"><p>Monadic fold over the elements of a structure, associating to the left,
i.e. from left to right.
</p><pre><code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Foldable.html#v:foldlM">foldlM</a></code> ≡ <code><a href="Control-Lens-Fold.html#v:foldlMOf">foldlMOf</a></code> <code><a href="Control-Lens-Fold.html#v:folded">folded</a></code></pre><pre>
<code><a href="Control-Lens-Fold.html#v:foldlMOf">foldlMOf</a></code> :: <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Control-Monad.html#t:Monad">Monad</a></code> m => <code><a href="Control-Lens-Getter.html#t:Getter">Getter</a></code> s a -> (r -> a -> m r) -> r -> s -> m r
<code><a href="Control-Lens-Fold.html#v:foldlMOf">foldlMOf</a></code> :: <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Control-Monad.html#t:Monad">Monad</a></code> m => <code><a href="Control-Lens-Fold.html#t:Fold">Fold</a></code> s a -> (r -> a -> m r) -> r -> s -> m r
<code><a href="Control-Lens-Fold.html#v:foldlMOf">foldlMOf</a></code> :: <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Control-Monad.html#t:Monad">Monad</a></code> m => <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Iso.html#t:Iso">Iso</a></code> s a -> (r -> a -> m r) -> r -> s -> m r
<code><a href="Control-Lens-Fold.html#v:foldlMOf">foldlMOf</a></code> :: <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Control-Monad.html#t:Monad">Monad</a></code> m => <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> s a -> (r -> a -> m r) -> r -> s -> m r
<code><a href="Control-Lens-Fold.html#v:foldlMOf">foldlMOf</a></code> :: <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Control-Monad.html#t:Monad">Monad</a></code> m => <code><a href="Control-Lens-Type.html#t:Simple">Simple</a></code> <code><a href="Control-Lens-Traversal.html#t:Traversal">Traversal</a></code> s a -> (r -> a -> m r) -> r -> s -> m r
</pre></div></div><h1 id="g:4">Storing Folds
</h1><div class="top"><p class="src"><span class="keyword">newtype</span> <a name="t:ReifiedFold" class="def">ReifiedFold</a> s a <a href="src/Control-Lens-Fold.html#ReifiedFold" class="link">Source</a></p><div class="doc"><p>Useful for storing folds in containers.
</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:ReifyFold" class="def">ReifyFold</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><dl><dt class="src"><a name="v:reflectFold" class="def">reflectFold</a> :: <a href="Control-Lens-Fold.html#t:Fold">Fold</a> s a</dt><dd class="doc empty"> </dd></dl><div class="clear"></div></div></td></tr></table></div></div><h1 id="g:5">Deprecated
</h1><div class="top"><p class="src"><a name="v:headOf" class="def">headOf</a> :: <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Monoid.html#t:First">First</a> a) s t a b -> s -> <a href="/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a<a href="src/Control-Lens-Fold.html#headOf" class="link">Source</a></p><div class="doc"><div class="warning"><p>Deprecated: `headOf' will be removed in 3.8. (Use `preview' or `firstOf')</p></div><p>A deprecated alias for <code><a href="Control-Lens-Fold.html#v:firstOf">firstOf</a></code>
</p></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.11.0</p></div></body></html>