This file is indexed.

/usr/share/doc/libghc-conduit-doc/html/Data-Conduit-List.html is in libghc-conduit-doc 1.2.8-3.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

 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
<!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>Data.Conduit.List</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="file:///usr/share/javascript/mathjax/MathJax.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
window.onload = function () {pageLoad();setSynopsis("mini_Data-Conduit-List.html");};
//]]>
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="src/Data-Conduit-List.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">conduit-1.2.8: Streaming data processing library.</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>Trustworthy</td></tr><tr><th>Language</th><td>Haskell98</td></tr></table><p class="caption">Data.Conduit.List</p></div><div id="table-of-contents"><p class="caption">Contents</p><ul><li><a href="#g:1">Sources</a></li><li><a href="#g:2">Sinks</a><ul><li><a href="#g:3">Pure</a></li><li><a href="#g:4">Monadic</a></li></ul></li><li><a href="#g:5">Conduits</a><ul><li><a href="#g:6">Pure</a></li><li><a href="#g:7">Monadic</a></li></ul></li><li><a href="#g:8">Misc</a></li></ul></div><div id="description"><p class="caption">Description</p><div class="doc"><p>Higher-level functions to interact with the elements of a stream. Most of
 these are based on list functions.</p><p>For many purposes, it's recommended to use the conduit-combinators library,
 which provides a more complete set of functions.</p><p>Note that these functions all deal with individual elements of a stream as a
 sort of &quot;black box&quot;, where there is no introspection of the contained
 elements. Values such as <code>ByteString</code> and <code>Text</code> will likely need to be
 treated specially to deal with their contents properly (<code>Word8</code> and <code>Char</code>,
 respectively). See the <a href="Data-Conduit-Binary.html">Data.Conduit.Binary</a> and <a href="Data-Conduit-Text.html">Data.Conduit.Text</a>
 modules.</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"><a href="#v:sourceList">sourceList</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; [a] -&gt; <a href="Data-Conduit.html#t:Producer">Producer</a> m a</li><li class="src short"><a href="#v:sourceNull">sourceNull</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; <a href="Data-Conduit.html#t:Producer">Producer</a> m a</li><li class="src short"><a href="#v:unfold">unfold</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; (b -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Maybe.html#t:Maybe">Maybe</a> (a, b)) -&gt; b -&gt; <a href="Data-Conduit.html#t:Producer">Producer</a> m a</li><li class="src short"><a href="#v:unfoldM">unfoldM</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; (b -&gt; m (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Maybe.html#t:Maybe">Maybe</a> (a, b))) -&gt; b -&gt; <a href="Data-Conduit.html#t:Producer">Producer</a> m a</li><li class="src short"><a href="#v:enumFromTo">enumFromTo</a> :: (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Prelude.html#t:Enum">Enum</a> a, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Ord.html#t:Ord">Ord</a> a, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Control-Monad.html#t:Monad">Monad</a> m) =&gt; a -&gt; a -&gt; <a href="Data-Conduit.html#t:Producer">Producer</a> m a</li><li class="src short"><a href="#v:iterate">iterate</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; (a -&gt; a) -&gt; a -&gt; <a href="Data-Conduit.html#t:Producer">Producer</a> m a</li><li class="src short"><a href="#v:replicate">replicate</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Int.html#t:Int">Int</a> -&gt; a -&gt; <a href="Data-Conduit.html#t:Producer">Producer</a> m a</li><li class="src short"><a href="#v:replicateM">replicateM</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Int.html#t:Int">Int</a> -&gt; m a -&gt; <a href="Data-Conduit.html#t:Producer">Producer</a> m a</li><li class="src short"><a href="#v:fold">fold</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; (b -&gt; a -&gt; b) -&gt; b -&gt; <a href="Data-Conduit.html#t:Consumer">Consumer</a> a m b</li><li class="src short"><a href="#v:foldMap">foldMap</a> :: (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Control-Monad.html#t:Monad">Monad</a> m, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Monoid.html#t:Monoid">Monoid</a> b) =&gt; (a -&gt; b) -&gt; <a href="Data-Conduit.html#t:Consumer">Consumer</a> a m b</li><li class="src short"><a href="#v:take">take</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="Data-Conduit.html#t:Consumer">Consumer</a> a m [a]</li><li class="src short"><a href="#v:drop">drop</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="Data-Conduit.html#t:Consumer">Consumer</a> a m ()</li><li class="src short"><a href="#v:head">head</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; <a href="Data-Conduit.html#t:Consumer">Consumer</a> a m (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Maybe.html#t:Maybe">Maybe</a> a)</li><li class="src short"><a href="#v:peek">peek</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; <a href="Data-Conduit.html#t:Consumer">Consumer</a> a m (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Maybe.html#t:Maybe">Maybe</a> a)</li><li class="src short"><a href="#v:consume">consume</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; <a href="Data-Conduit.html#t:Consumer">Consumer</a> a m [a]</li><li class="src short"><a href="#v:sinkNull">sinkNull</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; <a href="Data-Conduit.html#t:Consumer">Consumer</a> a m ()</li><li class="src short"><a href="#v:foldMapM">foldMapM</a> :: (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Control-Monad.html#t:Monad">Monad</a> m, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Monoid.html#t:Monoid">Monoid</a> b) =&gt; (a -&gt; m b) -&gt; <a href="Data-Conduit.html#t:Consumer">Consumer</a> a m b</li><li class="src short"><a href="#v:foldM">foldM</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; (b -&gt; a -&gt; m b) -&gt; b -&gt; <a href="Data-Conduit.html#t:Consumer">Consumer</a> a m b</li><li class="src short"><a href="#v:mapM_">mapM_</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; (a -&gt; m ()) -&gt; <a href="Data-Conduit.html#t:Consumer">Consumer</a> a m ()</li><li class="src short"><a href="#v:map">map</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; (a -&gt; b) -&gt; <a href="Data-Conduit.html#t:Conduit">Conduit</a> a m b</li><li class="src short"><a href="#v:mapMaybe">mapMaybe</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; (a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Maybe.html#t:Maybe">Maybe</a> b) -&gt; <a href="Data-Conduit.html#t:Conduit">Conduit</a> a m b</li><li class="src short"><a href="#v:mapFoldable">mapFoldable</a> :: (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Control-Monad.html#t:Monad">Monad</a> m, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Foldable.html#t:Foldable">Foldable</a> f) =&gt; (a -&gt; f b) -&gt; <a href="Data-Conduit.html#t:Conduit">Conduit</a> a m b</li><li class="src short"><a href="#v:catMaybes">catMaybes</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; <a href="Data-Conduit.html#t:Conduit">Conduit</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Maybe.html#t:Maybe">Maybe</a> a) m a</li><li class="src short"><a href="#v:concat">concat</a> :: (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Control-Monad.html#t:Monad">Monad</a> m, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Foldable.html#t:Foldable">Foldable</a> f) =&gt; <a href="Data-Conduit.html#t:Conduit">Conduit</a> (f a) m a</li><li class="src short"><a href="#v:concatMap">concatMap</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; (a -&gt; [b]) -&gt; <a href="Data-Conduit.html#t:Conduit">Conduit</a> a m b</li><li class="src short"><a href="#v:concatMapAccum">concatMapAccum</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; (a -&gt; accum -&gt; (accum, [b])) -&gt; accum -&gt; <a href="Data-Conduit.html#t:Conduit">Conduit</a> a m b</li><li class="src short"><a href="#v:scanl">scanl</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; (a -&gt; s -&gt; (s, b)) -&gt; s -&gt; <a href="Data-Conduit.html#t:Conduit">Conduit</a> a m b</li><li class="src short"><a href="#v:scan">scan</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; (a -&gt; b -&gt; b) -&gt; b -&gt; <a href="Data-Conduit.html#t:ConduitM">ConduitM</a> a b m b</li><li class="src short"><a href="#v:mapAccum">mapAccum</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; (a -&gt; s -&gt; (s, b)) -&gt; s -&gt; <a href="Data-Conduit.html#t:ConduitM">ConduitM</a> a b m s</li><li class="src short"><a href="#v:groupBy">groupBy</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; (a -&gt; a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Bool.html#t:Bool">Bool</a>) -&gt; <a href="Data-Conduit.html#t:Conduit">Conduit</a> a m [a]</li><li class="src short"><a href="#v:groupOn1">groupOn1</a> :: (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Control-Monad.html#t:Monad">Monad</a> m, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Eq.html#t:Eq">Eq</a> b) =&gt; (a -&gt; b) -&gt; <a href="Data-Conduit.html#t:Conduit">Conduit</a> a m (a, [a])</li><li class="src short"><a href="#v:isolate">isolate</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="Data-Conduit.html#t:Conduit">Conduit</a> a m a</li><li class="src short"><a href="#v:filter">filter</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; (a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Bool.html#t:Bool">Bool</a>) -&gt; <a href="Data-Conduit.html#t:Conduit">Conduit</a> a m a</li><li class="src short"><a href="#v:mapM">mapM</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; (a -&gt; m b) -&gt; <a href="Data-Conduit.html#t:Conduit">Conduit</a> a m b</li><li class="src short"><a href="#v:iterM">iterM</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; (a -&gt; m ()) -&gt; <a href="Data-Conduit.html#t:Conduit">Conduit</a> a m a</li><li class="src short"><a href="#v:scanlM">scanlM</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; (a -&gt; s -&gt; m (s, b)) -&gt; s -&gt; <a href="Data-Conduit.html#t:Conduit">Conduit</a> a m b</li><li class="src short"><a href="#v:scanM">scanM</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; (a -&gt; b -&gt; m b) -&gt; b -&gt; <a href="Data-Conduit.html#t:ConduitM">ConduitM</a> a b m b</li><li class="src short"><a href="#v:mapAccumM">mapAccumM</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; (a -&gt; s -&gt; m (s, b)) -&gt; s -&gt; <a href="Data-Conduit.html#t:ConduitM">ConduitM</a> a b m s</li><li class="src short"><a href="#v:mapMaybeM">mapMaybeM</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; (a -&gt; m (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Maybe.html#t:Maybe">Maybe</a> b)) -&gt; <a href="Data-Conduit.html#t:Conduit">Conduit</a> a m b</li><li class="src short"><a href="#v:mapFoldableM">mapFoldableM</a> :: (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Control-Monad.html#t:Monad">Monad</a> m, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Foldable.html#t:Foldable">Foldable</a> f) =&gt; (a -&gt; m (f b)) -&gt; <a href="Data-Conduit.html#t:Conduit">Conduit</a> a m b</li><li class="src short"><a href="#v:concatMapM">concatMapM</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; (a -&gt; m [b]) -&gt; <a href="Data-Conduit.html#t:Conduit">Conduit</a> a m b</li><li class="src short"><a href="#v:concatMapAccumM">concatMapAccumM</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; (a -&gt; accum -&gt; m (accum, [b])) -&gt; accum -&gt; <a href="Data-Conduit.html#t:Conduit">Conduit</a> a m b</li><li class="src short"><a href="#v:sequence">sequence</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; <a href="Data-Conduit.html#t:Consumer">Consumer</a> i m o -&gt; <a href="Data-Conduit.html#t:Conduit">Conduit</a> i m o</li></ul></div><div id="interface"><h1 id="g:1">Sources</h1><div class="top"><p class="src"><a id="v:sourceList" class="def">sourceList</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; [a] -&gt; <a href="Data-Conduit.html#t:Producer">Producer</a> m a <a href="src/Data-Conduit-List.html#sourceList" class="link">Source</a> <a href="#v:sourceList" class="selflink">#</a></p><div class="doc"><p>Yield the values from the list.</p><p>Subject to fusion</p></div></div><div class="top"><p class="src"><a id="v:sourceNull" class="def">sourceNull</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; <a href="Data-Conduit.html#t:Producer">Producer</a> m a <a href="src/Data-Conduit-List.html#sourceNull" class="link">Source</a> <a href="#v:sourceNull" class="selflink">#</a></p><div class="doc"><p>A source that outputs no values. Note that this is just a type-restricted
 synonym for <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Monoid.html#v:mempty">mempty</a></code>.</p><p>Subject to fusion</p><p>Since 0.3.0</p></div></div><div class="top"><p class="src"><a id="v:unfold" class="def">unfold</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; (b -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Maybe.html#t:Maybe">Maybe</a> (a, b)) -&gt; b -&gt; <a href="Data-Conduit.html#t:Producer">Producer</a> m a <a href="src/Data-Conduit-List.html#unfold" class="link">Source</a> <a href="#v:unfold" class="selflink">#</a></p><div class="doc"><p>Generate a source from a seed value.</p><p>Subject to fusion</p><p>Since 0.4.2</p></div></div><div class="top"><p class="src"><a id="v:unfoldM" class="def">unfoldM</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; (b -&gt; m (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Maybe.html#t:Maybe">Maybe</a> (a, b))) -&gt; b -&gt; <a href="Data-Conduit.html#t:Producer">Producer</a> m a <a href="src/Data-Conduit-List.html#unfoldM" class="link">Source</a> <a href="#v:unfoldM" class="selflink">#</a></p><div class="doc"><p>A monadic unfold.</p><p>Subject to fusion</p><p>Since 1.1.2</p></div></div><div class="top"><p class="src"><a id="v:enumFromTo" class="def">enumFromTo</a> :: (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Prelude.html#t:Enum">Enum</a> a, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Ord.html#t:Ord">Ord</a> a, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Control-Monad.html#t:Monad">Monad</a> m) =&gt; a -&gt; a -&gt; <a href="Data-Conduit.html#t:Producer">Producer</a> m a <a href="src/Data-Conduit-List.html#enumFromTo" class="link">Source</a> <a href="#v:enumFromTo" class="selflink">#</a></p><div class="doc"><p>Enumerate from a value to a final value, inclusive, via <code>succ</code>.</p><p>This is generally more efficient than using <code>Prelude</code>'s <code>enumFromTo</code> and
 combining with <code>sourceList</code> since this avoids any intermediate data
 structures.</p><p>Subject to fusion</p><p>Since 0.4.2</p></div></div><div class="top"><p class="src"><a id="v:iterate" class="def">iterate</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; (a -&gt; a) -&gt; a -&gt; <a href="Data-Conduit.html#t:Producer">Producer</a> m a <a href="src/Data-Conduit-List.html#iterate" class="link">Source</a> <a href="#v:iterate" class="selflink">#</a></p><div class="doc"><p>Produces an infinite stream of repeated applications of f to x.</p><p>Subject to fusion</p></div></div><div class="top"><p class="src"><a id="v:replicate" class="def">replicate</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Int.html#t:Int">Int</a> -&gt; a -&gt; <a href="Data-Conduit.html#t:Producer">Producer</a> m a <a href="src/Data-Conduit-List.html#replicate" class="link">Source</a> <a href="#v:replicate" class="selflink">#</a></p><div class="doc"><p>Replicate a single value the given number of times.</p><p>Subject to fusion</p><p>Since 1.2.0</p></div></div><div class="top"><p class="src"><a id="v:replicateM" class="def">replicateM</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Int.html#t:Int">Int</a> -&gt; m a -&gt; <a href="Data-Conduit.html#t:Producer">Producer</a> m a <a href="src/Data-Conduit-List.html#replicateM" class="link">Source</a> <a href="#v:replicateM" class="selflink">#</a></p><div class="doc"><p>Replicate a monadic value the given number of times.</p><p>Subject to fusion</p><p>Since 1.2.0</p></div></div><h1 id="g:2">Sinks</h1><h2 id="g:3">Pure</h2><div class="top"><p class="src"><a id="v:fold" class="def">fold</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; (b -&gt; a -&gt; b) -&gt; b -&gt; <a href="Data-Conduit.html#t:Consumer">Consumer</a> a m b <a href="src/Data-Conduit-List.html#fold" class="link">Source</a> <a href="#v:fold" class="selflink">#</a></p><div class="doc"><p>A strict left fold.</p><p>Subject to fusion</p><p>Since 0.3.0</p></div></div><div class="top"><p class="src"><a id="v:foldMap" class="def">foldMap</a> :: (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Control-Monad.html#t:Monad">Monad</a> m, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Monoid.html#t:Monoid">Monoid</a> b) =&gt; (a -&gt; b) -&gt; <a href="Data-Conduit.html#t:Consumer">Consumer</a> a m b <a href="src/Data-Conduit-List.html#foldMap" class="link">Source</a> <a href="#v:foldMap" class="selflink">#</a></p><div class="doc"><p>A monoidal strict left fold.</p><p>Subject to fusion</p><p>Since 0.5.3</p></div></div><div class="top"><p class="src"><a id="v:take" class="def">take</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="Data-Conduit.html#t:Consumer">Consumer</a> a m [a] <a href="src/Data-Conduit-List.html#take" class="link">Source</a> <a href="#v:take" class="selflink">#</a></p><div class="doc"><p>Take some values from the stream and return as a list. If you want to
 instead create a conduit that pipes data to another sink, see <code><a href="Data-Conduit-List.html#v:isolate">isolate</a></code>.
 This function is semantically equivalent to:</p><pre>take i = isolate i =$ consume</pre><p>Subject to fusion</p><p>Since 0.3.0</p></div></div><div class="top"><p class="src"><a id="v:drop" class="def">drop</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="Data-Conduit.html#t:Consumer">Consumer</a> a m () <a href="src/Data-Conduit-List.html#drop" class="link">Source</a> <a href="#v:drop" class="selflink">#</a></p><div class="doc"><p>Ignore a certain number of values in the stream. This function is
 semantically equivalent to:</p><pre>drop i = take i &gt;&gt; return ()</pre><p>However, <code>drop</code> is more efficient as it does not need to hold values in
 memory.</p><p>Subject to fusion</p><p>Since 0.3.0</p></div></div><div class="top"><p class="src"><a id="v:head" class="def">head</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; <a href="Data-Conduit.html#t:Consumer">Consumer</a> a m (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Maybe.html#t:Maybe">Maybe</a> a) <a href="src/Data-Conduit-List.html#head" class="link">Source</a> <a href="#v:head" class="selflink">#</a></p><div class="doc"><p>Take a single value from the stream, if available.</p><p>Subject to fusion</p><p>Since 0.3.0</p></div></div><div class="top"><p class="src"><a id="v:peek" class="def">peek</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; <a href="Data-Conduit.html#t:Consumer">Consumer</a> a m (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Maybe.html#t:Maybe">Maybe</a> a) <a href="src/Data-Conduit-List.html#peek" class="link">Source</a> <a href="#v:peek" class="selflink">#</a></p><div class="doc"><p>Look at the next value in the stream, if available. This function will not
 change the state of the stream.</p><p>Since 0.3.0</p></div></div><div class="top"><p class="src"><a id="v:consume" class="def">consume</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; <a href="Data-Conduit.html#t:Consumer">Consumer</a> a m [a] <a href="src/Data-Conduit-List.html#consume" class="link">Source</a> <a href="#v:consume" class="selflink">#</a></p><div class="doc"><p>Consume all values from the stream and return as a list. Note that this
 will pull all values into memory. For a lazy variant, see
 <a href="Data-Conduit-Lazy.html">Data.Conduit.Lazy</a>.</p><p>Subject to fusion</p><p>Since 0.3.0</p></div></div><div class="top"><p class="src"><a id="v:sinkNull" class="def">sinkNull</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; <a href="Data-Conduit.html#t:Consumer">Consumer</a> a m () <a href="src/Data-Conduit-List.html#sinkNull" class="link">Source</a> <a href="#v:sinkNull" class="selflink">#</a></p><div class="doc"><p>Ignore the remainder of values in the source. Particularly useful when
 combined with <code><a href="Data-Conduit-List.html#v:isolate">isolate</a></code>.</p><p>Subject to fusion</p><p>Since 0.3.0</p></div></div><h2 id="g:4">Monadic</h2><div class="top"><p class="src"><a id="v:foldMapM" class="def">foldMapM</a> :: (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Control-Monad.html#t:Monad">Monad</a> m, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Monoid.html#t:Monoid">Monoid</a> b) =&gt; (a -&gt; m b) -&gt; <a href="Data-Conduit.html#t:Consumer">Consumer</a> a m b <a href="src/Data-Conduit-List.html#foldMapM" class="link">Source</a> <a href="#v:foldMapM" class="selflink">#</a></p><div class="doc"><p>A monoidal strict left fold in a Monad.</p><p>Since 1.0.8</p></div></div><div class="top"><p class="src"><a id="v:foldM" class="def">foldM</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; (b -&gt; a -&gt; m b) -&gt; b -&gt; <a href="Data-Conduit.html#t:Consumer">Consumer</a> a m b <a href="src/Data-Conduit-List.html#foldM" class="link">Source</a> <a href="#v:foldM" class="selflink">#</a></p><div class="doc"><p>A monadic strict left fold.</p><p>Subject to fusion</p><p>Since 0.3.0</p></div></div><div class="top"><p class="src"><a id="v:mapM_" class="def">mapM_</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; (a -&gt; m ()) -&gt; <a href="Data-Conduit.html#t:Consumer">Consumer</a> a m () <a href="src/Data-Conduit-List.html#mapM_" class="link">Source</a> <a href="#v:mapM_" class="selflink">#</a></p><div class="doc"><p>Apply the action to all values in the stream.</p><p>Subject to fusion</p><p>Since 0.3.0</p></div></div><h1 id="g:5">Conduits</h1><h2 id="g:6">Pure</h2><div class="top"><p class="src"><a id="v:map" class="def">map</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; (a -&gt; b) -&gt; <a href="Data-Conduit.html#t:Conduit">Conduit</a> a m b <a href="src/Data-Conduit-List.html#map" class="link">Source</a> <a href="#v:map" class="selflink">#</a></p><div class="doc"><p>Apply a transformation to all values in a stream.</p><p>Subject to fusion</p><p>Since 0.3.0</p></div></div><div class="top"><p class="src"><a id="v:mapMaybe" class="def">mapMaybe</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; (a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Maybe.html#t:Maybe">Maybe</a> b) -&gt; <a href="Data-Conduit.html#t:Conduit">Conduit</a> a m b <a href="src/Data-Conduit-List.html#mapMaybe" class="link">Source</a> <a href="#v:mapMaybe" class="selflink">#</a></p><div class="doc"><p>Apply a transformation that may fail to all values in a stream, discarding
 the failures.</p><p>Subject to fusion</p><p>Since 0.5.1</p></div></div><div class="top"><p class="src"><a id="v:mapFoldable" class="def">mapFoldable</a> :: (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Control-Monad.html#t:Monad">Monad</a> m, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Foldable.html#t:Foldable">Foldable</a> f) =&gt; (a -&gt; f b) -&gt; <a href="Data-Conduit.html#t:Conduit">Conduit</a> a m b <a href="src/Data-Conduit-List.html#mapFoldable" class="link">Source</a> <a href="#v:mapFoldable" class="selflink">#</a></p><div class="doc"><p>Generalization of <code><a href="Data-Conduit-List.html#v:mapMaybe">mapMaybe</a></code> and <code><a href="Data-Conduit-List.html#v:concatMap">concatMap</a></code>. It applies function
 to all values in a stream and send values inside resulting
 <code>Foldable</code> downstream.</p><p>Subject to fusion</p><p>Since 1.0.6</p></div></div><div class="top"><p class="src"><a id="v:catMaybes" class="def">catMaybes</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; <a href="Data-Conduit.html#t:Conduit">Conduit</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Maybe.html#t:Maybe">Maybe</a> a) m a <a href="src/Data-Conduit-List.html#catMaybes" class="link">Source</a> <a href="#v:catMaybes" class="selflink">#</a></p><div class="doc"><p>Filter the <code>Just</code> values from a stream, discarding the <code>Nothing</code>  values.</p><p>Subject to fusion</p><p>Since 0.5.1</p></div></div><div class="top"><p class="src"><a id="v:concat" class="def">concat</a> :: (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Control-Monad.html#t:Monad">Monad</a> m, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Foldable.html#t:Foldable">Foldable</a> f) =&gt; <a href="Data-Conduit.html#t:Conduit">Conduit</a> (f a) m a <a href="src/Data-Conduit-List.html#concat" class="link">Source</a> <a href="#v:concat" class="selflink">#</a></p><div class="doc"><p>Generalization of <code><a href="Data-Conduit-List.html#v:catMaybes">catMaybes</a></code>. It puts all values from
   <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Foldable.html#t:Foldable">Foldable</a></code> into stream.</p><p>Subject to fusion</p><p>Since 1.0.6</p></div></div><div class="top"><p class="src"><a id="v:concatMap" class="def">concatMap</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; (a -&gt; [b]) -&gt; <a href="Data-Conduit.html#t:Conduit">Conduit</a> a m b <a href="src/Data-Conduit-List.html#concatMap" class="link">Source</a> <a href="#v:concatMap" class="selflink">#</a></p><div class="doc"><p>Apply a transformation to all values in a stream, concatenating the output
 values.</p><p>Subject to fusion</p><p>Since 0.3.0</p></div></div><div class="top"><p class="src"><a id="v:concatMapAccum" class="def">concatMapAccum</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; (a -&gt; accum -&gt; (accum, [b])) -&gt; accum -&gt; <a href="Data-Conduit.html#t:Conduit">Conduit</a> a m b <a href="src/Data-Conduit-List.html#concatMapAccum" class="link">Source</a> <a href="#v:concatMapAccum" class="selflink">#</a></p><div class="doc"><p><code><a href="Data-Conduit-List.html#v:concatMap">concatMap</a></code> with a strict accumulator.</p><p>Subject to fusion</p><p>Since 0.3.0</p></div></div><div class="top"><p class="src"><a id="v:scanl" class="def">scanl</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; (a -&gt; s -&gt; (s, b)) -&gt; s -&gt; <a href="Data-Conduit.html#t:Conduit">Conduit</a> a m b <a href="src/Data-Conduit-List.html#scanl" class="link">Source</a> <a href="#v:scanl" class="selflink">#</a></p><div class="doc"><div class="warning"><p>Deprecated: Use mapAccum instead</p></div><p>Deprecated synonym for <code>mapAccum</code></p><p>Since 1.0.6</p></div></div><div class="top"><p class="src"><a id="v:scan" class="def">scan</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; (a -&gt; b -&gt; b) -&gt; b -&gt; <a href="Data-Conduit.html#t:ConduitM">ConduitM</a> a b m b <a href="src/Data-Conduit-List.html#scan" class="link">Source</a> <a href="#v:scan" class="selflink">#</a></p><div class="doc"><p>Analog of <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/GHC-OldList.html#v:scanl">scanl</a></code> for lists.</p><p>Subject to fusion</p><p>Since 1.1.1</p></div></div><div class="top"><p class="src"><a id="v:mapAccum" class="def">mapAccum</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; (a -&gt; s -&gt; (s, b)) -&gt; s -&gt; <a href="Data-Conduit.html#t:ConduitM">ConduitM</a> a b m s <a href="src/Data-Conduit-List.html#mapAccum" class="link">Source</a> <a href="#v:mapAccum" class="selflink">#</a></p><div class="doc"><p>Analog of <code>mapAccumL</code> for lists. Note that in contrast to <code>mapAccumL</code>, the function argument
   takes the accumulator as its second argument, not its first argument, and the accumulated value
   is strict.</p><p>Subject to fusion</p><p>Since 1.1.1</p></div></div><div class="top"><p class="src"><a id="v:groupBy" class="def">groupBy</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; (a -&gt; a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Bool.html#t:Bool">Bool</a>) -&gt; <a href="Data-Conduit.html#t:Conduit">Conduit</a> a m [a] <a href="src/Data-Conduit-List.html#groupBy" class="link">Source</a> <a href="#v:groupBy" class="selflink">#</a></p><div class="doc"><p>Grouping input according to an equality function.</p><p>Subject to fusion</p><p>Since 0.3.0</p></div></div><div class="top"><p class="src"><a id="v:groupOn1" class="def">groupOn1</a> :: (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Control-Monad.html#t:Monad">Monad</a> m, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Eq.html#t:Eq">Eq</a> b) =&gt; (a -&gt; b) -&gt; <a href="Data-Conduit.html#t:Conduit">Conduit</a> a m (a, [a]) <a href="src/Data-Conduit-List.html#groupOn1" class="link">Source</a> <a href="#v:groupOn1" class="selflink">#</a></p><div class="doc"><p><code><a href="Data-Conduit-List.html#v:groupOn1">groupOn1</a></code> is similar to <code>groupBy id</code></p><p>returns a pair, indicating there are always 1 or more items in the grouping.
 This is designed to be converted into a NonEmpty structure
 but it avoids a dependency on another package</p><pre>import Data.List.NonEmpty

groupOn1 :: (Monad m, Eq b) =&gt; (a -&gt; b) -&gt; Conduit a m (NonEmpty a)
groupOn1 f = CL.groupOn1 f =$= CL.map (uncurry (:|))</pre><p>Subject to fusion</p><p>Since 1.1.7</p></div></div><div class="top"><p class="src"><a id="v:isolate" class="def">isolate</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="Data-Conduit.html#t:Conduit">Conduit</a> a m a <a href="src/Data-Conduit-List.html#isolate" class="link">Source</a> <a href="#v:isolate" class="selflink">#</a></p><div class="doc"><p>Ensure that the inner sink consumes no more than the given number of
 values. Note this this does <em>not</em> ensure that the sink consumes all of those
 values. To get the latter behavior, combine with <code><a href="Data-Conduit-List.html#v:sinkNull">sinkNull</a></code>, e.g.:</p><pre>src $$ do
    x &lt;- isolate count =$ do
        x &lt;- someSink
        sinkNull
        return x
    someOtherSink
    ...</pre><p>Subject to fusion</p><p>Since 0.3.0</p></div></div><div class="top"><p class="src"><a id="v:filter" class="def">filter</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; (a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Bool.html#t:Bool">Bool</a>) -&gt; <a href="Data-Conduit.html#t:Conduit">Conduit</a> a m a <a href="src/Data-Conduit-List.html#filter" class="link">Source</a> <a href="#v:filter" class="selflink">#</a></p><div class="doc"><p>Keep only values in the stream passing a given predicate.</p><p>Subject to fusion</p><p>Since 0.3.0</p></div></div><h2 id="g:7">Monadic</h2><div class="top"><p class="src"><a id="v:mapM" class="def">mapM</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; (a -&gt; m b) -&gt; <a href="Data-Conduit.html#t:Conduit">Conduit</a> a m b <a href="src/Data-Conduit-List.html#mapM" class="link">Source</a> <a href="#v:mapM" class="selflink">#</a></p><div class="doc"><p>Apply a monadic transformation to all values in a stream.</p><p>If you do not need the transformed values, and instead just want the monadic
 side-effects of running the action, see <code><a href="Data-Conduit-List.html#v:mapM_">mapM_</a></code>.</p><p>Subject to fusion</p><p>Since 0.3.0</p></div></div><div class="top"><p class="src"><a id="v:iterM" class="def">iterM</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; (a -&gt; m ()) -&gt; <a href="Data-Conduit.html#t:Conduit">Conduit</a> a m a <a href="src/Data-Conduit-List.html#iterM" class="link">Source</a> <a href="#v:iterM" class="selflink">#</a></p><div class="doc"><p>Apply a monadic action on all values in a stream.</p><p>This <code>Conduit</code> can be used to perform a monadic side-effect for every
 value, whilst passing the value through the <code>Conduit</code> as-is.</p><pre>iterM f = mapM (\a -&gt; f a &gt;&gt;= \() -&gt; return a)</pre><p>Subject to fusion</p><p>Since 0.5.6</p></div></div><div class="top"><p class="src"><a id="v:scanlM" class="def">scanlM</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; (a -&gt; s -&gt; m (s, b)) -&gt; s -&gt; <a href="Data-Conduit.html#t:Conduit">Conduit</a> a m b <a href="src/Data-Conduit-List.html#scanlM" class="link">Source</a> <a href="#v:scanlM" class="selflink">#</a></p><div class="doc"><div class="warning"><p>Deprecated: Use mapAccumM instead</p></div><p>Deprecated synonym for <code>mapAccumM</code></p><p>Since 1.0.6</p></div></div><div class="top"><p class="src"><a id="v:scanM" class="def">scanM</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; (a -&gt; b -&gt; m b) -&gt; b -&gt; <a href="Data-Conduit.html#t:ConduitM">ConduitM</a> a b m b <a href="src/Data-Conduit-List.html#scanM" class="link">Source</a> <a href="#v:scanM" class="selflink">#</a></p><div class="doc"><p>Monadic <code>scanl</code>.</p><p>Subject to fusion</p><p>Since 1.1.1</p></div></div><div class="top"><p class="src"><a id="v:mapAccumM" class="def">mapAccumM</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; (a -&gt; s -&gt; m (s, b)) -&gt; s -&gt; <a href="Data-Conduit.html#t:ConduitM">ConduitM</a> a b m s <a href="src/Data-Conduit-List.html#mapAccumM" class="link">Source</a> <a href="#v:mapAccumM" class="selflink">#</a></p><div class="doc"><p>Monadic <code><a href="Data-Conduit-List.html#v:mapAccum">mapAccum</a></code>.</p><p>Subject to fusion</p><p>Since 1.1.1</p></div></div><div class="top"><p class="src"><a id="v:mapMaybeM" class="def">mapMaybeM</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; (a -&gt; m (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Maybe.html#t:Maybe">Maybe</a> b)) -&gt; <a href="Data-Conduit.html#t:Conduit">Conduit</a> a m b <a href="src/Data-Conduit-List.html#mapMaybeM" class="link">Source</a> <a href="#v:mapMaybeM" class="selflink">#</a></p><div class="doc"><p>Apply a monadic transformation that may fail to all values in a stream,
 discarding the failures.</p><p>Subject to fusion</p><p>Since 0.5.1</p></div></div><div class="top"><p class="src"><a id="v:mapFoldableM" class="def">mapFoldableM</a> :: (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Control-Monad.html#t:Monad">Monad</a> m, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Foldable.html#t:Foldable">Foldable</a> f) =&gt; (a -&gt; m (f b)) -&gt; <a href="Data-Conduit.html#t:Conduit">Conduit</a> a m b <a href="src/Data-Conduit-List.html#mapFoldableM" class="link">Source</a> <a href="#v:mapFoldableM" class="selflink">#</a></p><div class="doc"><p>Monadic variant of <code><a href="Data-Conduit-List.html#v:mapFoldable">mapFoldable</a></code>.</p><p>Subject to fusion</p><p>Since 1.0.6</p></div></div><div class="top"><p class="src"><a id="v:concatMapM" class="def">concatMapM</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; (a -&gt; m [b]) -&gt; <a href="Data-Conduit.html#t:Conduit">Conduit</a> a m b <a href="src/Data-Conduit-List.html#concatMapM" class="link">Source</a> <a href="#v:concatMapM" class="selflink">#</a></p><div class="doc"><p>Apply a monadic transformation to all values in a stream, concatenating
 the output values.</p><p>Subject to fusion</p><p>Since 0.3.0</p></div></div><div class="top"><p class="src"><a id="v:concatMapAccumM" class="def">concatMapAccumM</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; (a -&gt; accum -&gt; m (accum, [b])) -&gt; accum -&gt; <a href="Data-Conduit.html#t:Conduit">Conduit</a> a m b <a href="src/Data-Conduit-List.html#concatMapAccumM" class="link">Source</a> <a href="#v:concatMapAccumM" class="selflink">#</a></p><div class="doc"><p><code><a href="Data-Conduit-List.html#v:concatMapM">concatMapM</a></code> with a strict accumulator.</p><p>Subject to fusion</p><p>Since 0.3.0</p></div></div><h1 id="g:8">Misc</h1><div class="top"><p class="src"><a id="v:sequence" class="def">sequence</a> <a href="src/Data-Conduit-List.html#sequence" class="link">Source</a> <a href="#v:sequence" class="selflink">#</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Control-Monad.html#t:Monad">Monad</a> m</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src">=&gt; <a href="Data-Conduit.html#t:Consumer">Consumer</a> i m o</td><td class="doc"><p><code>Pipe</code> to run repeatedly</p></td></tr><tr><td class="src">-&gt; <a href="Data-Conduit.html#t:Conduit">Conduit</a> i m o</td><td class="doc empty">&nbsp;</td></tr></table></div><div class="doc"><p>Run a <code>Pipe</code> repeatedly, and output its result value downstream. Stops
 when no more input is available from upstream.</p><p>Since 0.5.0</p></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.17.2</p></div></body></html>