This file is indexed.

/usr/share/doc/libghc-pipes-parse-doc/html/Pipes-Parse.html is in libghc-pipes-parse-doc 3.0.1-1.

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
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
<!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>Pipes.Parse</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_Pipes-Parse.html");};
//]]>
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="src/Pipes-Parse.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">pipes-parse-3.0.1: Parsing infrastructure for the pipes ecosystem</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>Safe-Inferred</td></tr></table><p class="caption">Pipes.Parse</p></div><div id="table-of-contents"><p class="caption">Contents</p><ul><li><a href="#g:1">Parsing
</a></li><li><a href="#g:2">Parsing Lenses
</a></li><li><a href="#g:3">Utilities
</a></li><li><a href="#g:4">Re-exports
</a></li></ul></div><div id="description"><p class="caption">Description</p><div class="doc"><p>Element-agnostic parsing utilities for <code>pipes</code>
</p><p>See <a href="Pipes-Parse-Tutorial.html">Pipes.Parse.Tutorial</a> for an extended tutorial
</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:Parser">Parser</a> a m r = <span class="keyword">forall</span> x.  <a href="/usr/share/doc/libghc-transformers-doc/html/Control-Monad-Trans-State-Strict.html#t:StateT">StateT</a> (<a href="/usr/share/doc/libghc-pipes-doc/html/Pipes-Core.html#t:Producer">Producer</a> a m x) m r</li><li class="src short"><a href="#v:draw">draw</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Monad.html#t:Monad">Monad</a> m =&gt; <a href="Pipes-Parse.html#t:Parser">Parser</a> a m (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#t:Maybe">Maybe</a> a)</li><li class="src short"><a href="#v:skip">skip</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Monad.html#t:Monad">Monad</a> m =&gt; <a href="Pipes-Parse.html#t:Parser">Parser</a> a m <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:drawAll">drawAll</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Monad.html#t:Monad">Monad</a> m =&gt; <a href="Pipes-Parse.html#t:Parser">Parser</a> a m [a]</li><li class="src short"><a href="#v:skipAll">skipAll</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Monad.html#t:Monad">Monad</a> m =&gt; <a href="Pipes-Parse.html#t:Parser">Parser</a> a m ()</li><li class="src short"><a href="#v:unDraw">unDraw</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Monad.html#t:Monad">Monad</a> m =&gt; a -&gt; <a href="Pipes-Parse.html#t:Parser">Parser</a> a m ()</li><li class="src short"><a href="#v:peek">peek</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Monad.html#t:Monad">Monad</a> m =&gt; <a href="Pipes-Parse.html#t:Parser">Parser</a> a m (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#t:Maybe">Maybe</a> a)</li><li class="src short"><a href="#v:isEndOfInput">isEndOfInput</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Monad.html#t:Monad">Monad</a> m =&gt; <a href="Pipes-Parse.html#t:Parser">Parser</a> a m <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:foldAll">foldAll</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Monad.html#t:Monad">Monad</a> m =&gt; (x -&gt; a -&gt; x) -&gt; x -&gt; (x -&gt; b) -&gt; <a href="Pipes-Parse.html#t:Parser">Parser</a> a m b</li><li class="src short"><a href="#v:foldAllM">foldAllM</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Monad.html#t:Monad">Monad</a> m =&gt; (x -&gt; a -&gt; m x) -&gt; m x -&gt; (x -&gt; m b) -&gt; <a href="Pipes-Parse.html#t:Parser">Parser</a> a m b</li><li class="src short"><a href="#v:span">span</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Monad.html#t:Monad">Monad</a> m =&gt; (a -&gt; <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a>) -&gt; Lens' (<a href="/usr/share/doc/libghc-pipes-doc/html/Pipes-Core.html#t:Producer">Producer</a> a m x) (<a href="/usr/share/doc/libghc-pipes-doc/html/Pipes-Core.html#t:Producer">Producer</a> a m (<a href="/usr/share/doc/libghc-pipes-doc/html/Pipes-Core.html#t:Producer">Producer</a> a m x))</li><li class="src short"><a href="#v:splitAt">splitAt</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Monad.html#t:Monad">Monad</a> m =&gt; <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Int.html#t:Int">Int</a> -&gt; Lens' (<a href="/usr/share/doc/libghc-pipes-doc/html/Pipes-Core.html#t:Producer">Producer</a> a m x) (<a href="/usr/share/doc/libghc-pipes-doc/html/Pipes-Core.html#t:Producer">Producer</a> a m (<a href="/usr/share/doc/libghc-pipes-doc/html/Pipes-Core.html#t:Producer">Producer</a> a m x))</li><li class="src short"><a href="#v:groupBy">groupBy</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Monad.html#t:Monad">Monad</a> m =&gt; (a -&gt; a -&gt; <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a>) -&gt; Lens' (<a href="/usr/share/doc/libghc-pipes-doc/html/Pipes-Core.html#t:Producer">Producer</a> a m x) (<a href="/usr/share/doc/libghc-pipes-doc/html/Pipes-Core.html#t:Producer">Producer</a> a m (<a href="/usr/share/doc/libghc-pipes-doc/html/Pipes-Core.html#t:Producer">Producer</a> a m x))</li><li class="src short"><a href="#v:group">group</a> :: (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Monad.html#t:Monad">Monad</a> m, <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Eq.html#t:Eq">Eq</a> a) =&gt; Lens' (<a href="/usr/share/doc/libghc-pipes-doc/html/Pipes-Core.html#t:Producer">Producer</a> a m x) (<a href="/usr/share/doc/libghc-pipes-doc/html/Pipes-Core.html#t:Producer">Producer</a> a m (<a href="/usr/share/doc/libghc-pipes-doc/html/Pipes-Core.html#t:Producer">Producer</a> a m x))</li><li class="src short"><a href="#v:toParser">toParser</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Monad.html#t:Monad">Monad</a> m =&gt; <a href="/usr/share/doc/libghc-pipes-doc/html/Pipes-Core.html#t:Consumer">Consumer</a> (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#t:Maybe">Maybe</a> a) m r -&gt; <a href="Pipes-Parse.html#t:Parser">Parser</a> a m r</li><li class="src short"><a href="#v:toParser_">toParser_</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Monad.html#t:Monad">Monad</a> m =&gt; <a href="/usr/share/doc/libghc-pipes-doc/html/Pipes-Core.html#t:Consumer">Consumer</a> a m <a href="/usr/share/doc/libghc-pipes-doc/html/Pipes-Internal.html#t:X">X</a> -&gt; <a href="Pipes-Parse.html#t:Parser">Parser</a> a m ()</li><li class="src short">module <a href="/usr/share/doc/libghc-transformers-doc/html/Control-Monad-Trans-Class.html">Control.Monad.Trans.Class</a></li><li class="src short">module <a href="/usr/share/doc/libghc-transformers-doc/html/Control-Monad-Trans-State-Strict.html">Control.Monad.Trans.State.Strict</a></li><li class="src short">module <a href="/usr/share/doc/libghc-pipes-doc/html/Pipes.html">Pipes</a></li></ul></div><div id="interface"><h1 id="g:1">Parsing
</h1><div class="doc"><p><code>pipes-parse</code> handles end-of-input and pushback by storing a <code><a href="/usr/share/doc/libghc-pipes-doc/html/Pipes-Core.html#t:Producer">Producer</a></code> in
    a <code><a href="/usr/share/doc/libghc-transformers-doc/html/Control-Monad-Trans-State-Strict.html#t:StateT">StateT</a></code> layer.
</p><p>Connect <code><a href="Pipes-Parse.html#t:Parser">Parser</a></code>s to <code><a href="/usr/share/doc/libghc-pipes-doc/html/Pipes-Core.html#t:Producer">Producer</a></code>s using either <code><a href="/usr/share/doc/libghc-transformers-doc/html/Control-Monad-Trans-State-Strict.html#v:runStateT">runStateT</a></code>, <code><a href="/usr/share/doc/libghc-transformers-doc/html/Control-Monad-Trans-State-Strict.html#v:evalStateT">evalStateT</a></code>, or
    <code><a href="/usr/share/doc/libghc-transformers-doc/html/Control-Monad-Trans-State-Strict.html#v:execStateT">execStateT</a></code>:
</p><pre> runStateT  :: Parser a m r -&gt; Producer a m x -&gt; m (r, Producer a m x)
 evalStateT :: Parser a m r -&gt; Producer a m x -&gt; m  r
 execStateT :: Parser a m r -&gt; Producer a m x -&gt; m    (Producer a m x)
                                                       ^^^^^^^^^^^^^^
                                                          Leftovers
</pre></div><div class="top"><p class="src"><span class="keyword">type</span> <a name="t:Parser" class="def">Parser</a> a m r = <span class="keyword">forall</span> x.  <a href="/usr/share/doc/libghc-transformers-doc/html/Control-Monad-Trans-State-Strict.html#t:StateT">StateT</a> (<a href="/usr/share/doc/libghc-pipes-doc/html/Pipes-Core.html#t:Producer">Producer</a> a m x) m r<a href="src/Pipes-Parse.html#Parser" class="link">Source</a></p><div class="doc"><p>A <code><a href="Pipes-Parse.html#t:Parser">Parser</a></code> is an action that reads from and writes to a stored <code><a href="/usr/share/doc/libghc-pipes-doc/html/Pipes-Core.html#t:Producer">Producer</a></code>
</p></div></div><div class="top"><p class="src"><a name="v:draw" class="def">draw</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Monad.html#t:Monad">Monad</a> m =&gt; <a href="Pipes-Parse.html#t:Parser">Parser</a> a m (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#t:Maybe">Maybe</a> a)<a href="src/Pipes-Parse.html#draw" class="link">Source</a></p><div class="doc"><p>Draw one element from the underlying <code><a href="/usr/share/doc/libghc-pipes-doc/html/Pipes-Core.html#t:Producer">Producer</a></code>, returning <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#v:Nothing">Nothing</a></code> if the
    <code><a href="/usr/share/doc/libghc-pipes-doc/html/Pipes-Core.html#t:Producer">Producer</a></code> is empty
</p></div></div><div class="top"><p class="src"><a name="v:skip" class="def">skip</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Monad.html#t:Monad">Monad</a> m =&gt; <a href="Pipes-Parse.html#t:Parser">Parser</a> a m <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a><a href="src/Pipes-Parse.html#skip" class="link">Source</a></p><div class="doc"><p>Skip one element from the underlying <code><a href="/usr/share/doc/libghc-pipes-doc/html/Pipes-Core.html#t:Producer">Producer</a></code>, returning <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#v:True">True</a></code> if
    successful or <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#v:False">False</a></code> if the <code><a href="/usr/share/doc/libghc-pipes-doc/html/Pipes-Core.html#t:Producer">Producer</a></code> is empty
</p><pre> skip = fmap isJust draw
</pre></div></div><div class="top"><p class="src"><a name="v:drawAll" class="def">drawAll</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Monad.html#t:Monad">Monad</a> m =&gt; <a href="Pipes-Parse.html#t:Parser">Parser</a> a m [a]<a href="src/Pipes-Parse.html#drawAll" class="link">Source</a></p><div class="doc"><p>Draw all elements from the underlying <code><a href="/usr/share/doc/libghc-pipes-doc/html/Pipes-Core.html#t:Producer">Producer</a></code>
</p><p>Note that <code><a href="Pipes-Parse.html#v:drawAll">drawAll</a></code> is not an idiomatic use of <code>pipes-parse</code>, but I provide
    it for simple testing purposes.  Idiomatic <code>pipes-parse</code> style consumes the
    elements immediately as they are generated instead of loading all elements
    into memory.  For example, you can use <code><a href="Pipes-Parse.html#v:foldAll">foldAll</a></code> or <code><a href="Pipes-Parse.html#v:foldAllM">foldAllM</a></code> for this
    purpose.
</p></div></div><div class="top"><p class="src"><a name="v:skipAll" class="def">skipAll</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Monad.html#t:Monad">Monad</a> m =&gt; <a href="Pipes-Parse.html#t:Parser">Parser</a> a m ()<a href="src/Pipes-Parse.html#skipAll" class="link">Source</a></p><div class="doc"><p>Drain all elements from the underlying <code><a href="/usr/share/doc/libghc-pipes-doc/html/Pipes-Core.html#t:Producer">Producer</a></code>
</p></div></div><div class="top"><p class="src"><a name="v:unDraw" class="def">unDraw</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Monad.html#t:Monad">Monad</a> m =&gt; a -&gt; <a href="Pipes-Parse.html#t:Parser">Parser</a> a m ()<a href="src/Pipes-Parse.html#unDraw" class="link">Source</a></p><div class="doc"><p>Push back an element onto the underlying <code><a href="/usr/share/doc/libghc-pipes-doc/html/Pipes-Core.html#t:Producer">Producer</a></code>
</p></div></div><div class="top"><p class="src"><a name="v:peek" class="def">peek</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Monad.html#t:Monad">Monad</a> m =&gt; <a href="Pipes-Parse.html#t:Parser">Parser</a> a m (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#t:Maybe">Maybe</a> a)<a href="src/Pipes-Parse.html#peek" class="link">Source</a></p><div class="doc"><p><code><a href="Pipes-Parse.html#v:peek">peek</a></code> checks the first element of the stream, but uses <code><a href="Pipes-Parse.html#v:unDraw">unDraw</a></code> to push the
    element back so that it is available for the next <code><a href="Pipes-Parse.html#v:draw">draw</a></code> command.
</p><pre> peek = do
     x &lt;- draw
     case x of
         Nothing -&gt; return ()
         Just a  -&gt; unDraw a
     return x
</pre></div></div><div class="top"><p class="src"><a name="v:isEndOfInput" class="def">isEndOfInput</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Monad.html#t:Monad">Monad</a> m =&gt; <a href="Pipes-Parse.html#t:Parser">Parser</a> a m <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a><a href="src/Pipes-Parse.html#isEndOfInput" class="link">Source</a></p><div class="doc"><p>Check if the underlying <code><a href="/usr/share/doc/libghc-pipes-doc/html/Pipes-Core.html#t:Producer">Producer</a></code> is empty
</p><pre> isEndOfInput = fmap isNothing peek
</pre></div></div><div class="top"><p class="src"><a name="v:foldAll" class="def">foldAll</a><a href="src/Pipes-Parse.html#foldAll" class="link">Source</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Monad.html#t:Monad">Monad</a> m</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src">=&gt; (x -&gt; a -&gt; x)</td><td class="doc"><p>Step function
</p></td></tr><tr><td class="src">-&gt; x</td><td class="doc"><p>Initial accumulator
</p></td></tr><tr><td class="src">-&gt; (x -&gt; b)</td><td class="doc"><p>Extraction function
</p></td></tr><tr><td class="src">-&gt; <a href="Pipes-Parse.html#t:Parser">Parser</a> a m b</td><td class="doc empty">&nbsp;</td></tr></table></div><div class="doc"><p>Fold all input values
</p><pre> Control.Foldl.purely foldAll :: Monad m =&gt; Fold a b -&gt; Parser a m b
</pre></div></div><div class="top"><p class="src"><a name="v:foldAllM" class="def">foldAllM</a><a href="src/Pipes-Parse.html#foldAllM" class="link">Source</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Monad.html#t:Monad">Monad</a> m</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src">=&gt; (x -&gt; a -&gt; m x)</td><td class="doc"><p>Step function
</p></td></tr><tr><td class="src">-&gt; m x</td><td class="doc"><p>Initial accumulator
</p></td></tr><tr><td class="src">-&gt; (x -&gt; m b)</td><td class="doc"><p>Extraction function
</p></td></tr><tr><td class="src">-&gt; <a href="Pipes-Parse.html#t:Parser">Parser</a> a m b</td><td class="doc empty">&nbsp;</td></tr></table></div><div class="doc"><p>Fold all input values monadically
</p><pre> Control.Foldl.impurely foldAllM :: Monad m =&gt; FoldM a m b -&gt; Parser a m b
</pre></div></div><h1 id="g:2">Parsing Lenses
</h1><div class="doc"><p>Connect lenses to <code><a href="/usr/share/doc/libghc-pipes-doc/html/Pipes-Core.html#t:Producer">Producer</a></code>s using (<code><a href="Lens-Family.html#t:-94-.">^.</a></code>) or
    <code><a href="Lens-Family.html#t:view">view</a></code>:
</p><pre> (^.) :: Producer a m x
      -&gt; Lens' (Producer a m x) (Producer b m y)
      -&gt; Producer b m y
</pre><p>Connect lenses to <code><a href="Pipes-Parse.html#t:Parser">Parser</a></code>s using <code><a href="Lens-Family-State-Strict.html#t:zoom">zoom</a></code>:
</p><pre> zoom :: Lens' (Producer a m x) (Producer b m y)
      -&gt; Parser b m r
      -&gt; Parser a m r
</pre><p>Connect lenses to each other using (<code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Prelude.html#v:.">.</a></code>) (i.e. function composition):
</p><pre> (.) :: Lens' (Producer a m x) (Producer b m y)
     -&gt; Lens' (Producer b m y) (Producer c m z)
     -&gt; Lens' (Producer a m y) (Producer c m z)
</pre></div><div class="top"><p class="src"><a name="v:span" class="def">span</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Monad.html#t:Monad">Monad</a> m =&gt; (a -&gt; <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a>) -&gt; Lens' (<a href="/usr/share/doc/libghc-pipes-doc/html/Pipes-Core.html#t:Producer">Producer</a> a m x) (<a href="/usr/share/doc/libghc-pipes-doc/html/Pipes-Core.html#t:Producer">Producer</a> a m (<a href="/usr/share/doc/libghc-pipes-doc/html/Pipes-Core.html#t:Producer">Producer</a> a m x))<a href="src/Pipes-Parse.html#span" class="link">Source</a></p><div class="doc"><p><code><a href="Pipes-Parse.html#v:span">span</a></code> is an improper lens that splits the <code><a href="/usr/share/doc/libghc-pipes-doc/html/Pipes-Core.html#t:Producer">Producer</a></code> into two <code><a href="/usr/share/doc/libghc-pipes-doc/html/Pipes-Core.html#t:Producer">Producer</a></code>s,
    where the outer <code><a href="/usr/share/doc/libghc-pipes-doc/html/Pipes-Core.html#t:Producer">Producer</a></code> is the longest consecutive group of elements that
    satisfy the predicate
</p></div></div><div class="top"><p class="src"><a name="v:splitAt" class="def">splitAt</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Monad.html#t:Monad">Monad</a> m =&gt; <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Int.html#t:Int">Int</a> -&gt; Lens' (<a href="/usr/share/doc/libghc-pipes-doc/html/Pipes-Core.html#t:Producer">Producer</a> a m x) (<a href="/usr/share/doc/libghc-pipes-doc/html/Pipes-Core.html#t:Producer">Producer</a> a m (<a href="/usr/share/doc/libghc-pipes-doc/html/Pipes-Core.html#t:Producer">Producer</a> a m x))<a href="src/Pipes-Parse.html#splitAt" class="link">Source</a></p><div class="doc"><p><code><a href="Pipes-Parse.html#v:splitAt">splitAt</a></code> is an improper lens that splits a <code><a href="/usr/share/doc/libghc-pipes-doc/html/Pipes-Core.html#t:Producer">Producer</a></code> into two <code><a href="/usr/share/doc/libghc-pipes-doc/html/Pipes-Core.html#t:Producer">Producer</a></code>s
    after a fixed number of elements
</p></div></div><div class="top"><p class="src"><a name="v:groupBy" class="def">groupBy</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Monad.html#t:Monad">Monad</a> m =&gt; (a -&gt; a -&gt; <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a>) -&gt; Lens' (<a href="/usr/share/doc/libghc-pipes-doc/html/Pipes-Core.html#t:Producer">Producer</a> a m x) (<a href="/usr/share/doc/libghc-pipes-doc/html/Pipes-Core.html#t:Producer">Producer</a> a m (<a href="/usr/share/doc/libghc-pipes-doc/html/Pipes-Core.html#t:Producer">Producer</a> a m x))<a href="src/Pipes-Parse.html#groupBy" class="link">Source</a></p><div class="doc"><p><code><a href="Pipes-Parse.html#v:groupBy">groupBy</a></code> splits a <code><a href="/usr/share/doc/libghc-pipes-doc/html/Pipes-Core.html#t:Producer">Producer</a></code> into two <code><a href="/usr/share/doc/libghc-pipes-doc/html/Pipes-Core.html#t:Producer">Producer</a></code>s after the first group of
     elements that are equal according to the equality predicate
</p></div></div><div class="top"><p class="src"><a name="v:group" class="def">group</a> :: (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Monad.html#t:Monad">Monad</a> m, <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Eq.html#t:Eq">Eq</a> a) =&gt; Lens' (<a href="/usr/share/doc/libghc-pipes-doc/html/Pipes-Core.html#t:Producer">Producer</a> a m x) (<a href="/usr/share/doc/libghc-pipes-doc/html/Pipes-Core.html#t:Producer">Producer</a> a m (<a href="/usr/share/doc/libghc-pipes-doc/html/Pipes-Core.html#t:Producer">Producer</a> a m x))<a href="src/Pipes-Parse.html#group" class="link">Source</a></p><div class="doc"><p>Like <code><a href="Pipes-Parse.html#v:groupBy">groupBy</a></code>, where the equality predicate is (<code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Eq.html#v:-61--61-">==</a></code>)
</p></div></div><h1 id="g:3">Utilities
</h1><div class="top"><p class="src"><a name="v:toParser" class="def">toParser</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Monad.html#t:Monad">Monad</a> m =&gt; <a href="/usr/share/doc/libghc-pipes-doc/html/Pipes-Core.html#t:Consumer">Consumer</a> (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#t:Maybe">Maybe</a> a) m r -&gt; <a href="Pipes-Parse.html#t:Parser">Parser</a> a m r<a href="src/Pipes-Parse.html#toParser" class="link">Source</a></p><div class="doc"><p>Convert a <code><a href="/usr/share/doc/libghc-pipes-doc/html/Pipes-Core.html#t:Consumer">Consumer</a></code> to a <code><a href="Pipes-Parse.html#t:Parser">Parser</a></code>
</p><p><code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Maybe.html#v:Nothing">Nothing</a></code> signifies end of input
</p></div></div><div class="top"><p class="src"><a name="v:toParser_" class="def">toParser_</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Monad.html#t:Monad">Monad</a> m =&gt; <a href="/usr/share/doc/libghc-pipes-doc/html/Pipes-Core.html#t:Consumer">Consumer</a> a m <a href="/usr/share/doc/libghc-pipes-doc/html/Pipes-Internal.html#t:X">X</a> -&gt; <a href="Pipes-Parse.html#t:Parser">Parser</a> a m ()<a href="src/Pipes-Parse.html#toParser_" class="link">Source</a></p><div class="doc"><p>Convert a never-ending <code><a href="/usr/share/doc/libghc-pipes-doc/html/Pipes-Core.html#t:Consumer">Consumer</a></code> to a <code><a href="Pipes-Parse.html#t:Parser">Parser</a></code>
</p></div></div><h1 id="g:4">Re-exports
</h1><div class="doc"><p><a href="/usr/share/doc/libghc-transformers-doc/html/Control-Monad-Trans-Class.html">Control.Monad.Trans.Class</a> re-exports <code><a href="/usr/share/doc/libghc-transformers-doc/html/Control-Monad-Trans-Class.html#v:lift">lift</a></code>.
</p><p><a href="/usr/share/doc/libghc-transformers-doc/html/Control-Monad-Trans-State-Strict.html">Control.Monad.Trans.State.Strict</a> re-exports <code><a href="/usr/share/doc/libghc-transformers-doc/html/Control-Monad-Trans-State-Strict.html#t:StateT">StateT</a></code>, <code><a href="/usr/share/doc/libghc-transformers-doc/html/Control-Monad-Trans-State-Strict.html#v:runStateT">runStateT</a></code>,
    <code><a href="/usr/share/doc/libghc-transformers-doc/html/Control-Monad-Trans-State-Strict.html#v:evalStateT">evalStateT</a></code>, and <code><a href="/usr/share/doc/libghc-transformers-doc/html/Control-Monad-Trans-State-Strict.html#v:execStateT">execStateT</a></code>.
</p><p><a href="/usr/share/doc/libghc-pipes-doc/html/Pipes.html">Pipes</a> re-exports <code><a href="/usr/share/doc/libghc-pipes-doc/html/Pipes-Core.html#t:Producer">Producer</a></code>, <code><a href="/usr/share/doc/libghc-pipes-doc/html/Pipes.html#v:yield">yield</a></code>, and <code><a href="/usr/share/doc/libghc-pipes-doc/html/Pipes.html#v:next">next</a></code>.
</p></div><div class="top"><p class="src">module <a href="/usr/share/doc/libghc-transformers-doc/html/Control-Monad-Trans-Class.html">Control.Monad.Trans.Class</a></p></div><div class="top"><p class="src">module <a href="/usr/share/doc/libghc-transformers-doc/html/Control-Monad-Trans-State-Strict.html">Control.Monad.Trans.State.Strict</a></p></div><div class="top"><p class="src">module <a href="/usr/share/doc/libghc-pipes-doc/html/Pipes.html">Pipes</a></p></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.13.2</p></div></body></html>