/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 => <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 => <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 => <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 => <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 => a -> <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 => <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 => <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 => (x -> a -> x) -> x -> (x -> b) -> <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 => (x -> a -> m x) -> m x -> (x -> m b) -> <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 => (a -> <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a>) -> 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 => <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Int.html#t:Int">Int</a> -> 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 => (a -> a -> <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a>) -> 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) => 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 => <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 -> <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 => <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> -> <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 -> Producer a m x -> m (r, Producer a m x)
evalStateT :: Parser a m r -> Producer a m x -> m r
execStateT :: Parser a m r -> Producer a m x -> 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 => <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 => <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 => <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 => <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 => a -> <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 => <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 <- draw
case x of
Nothing -> return ()
Just a -> 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 => <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"> </td></tr><tr><td class="src">=> (x -> a -> x)</td><td class="doc"><p>Step function
</p></td></tr><tr><td class="src">-> x</td><td class="doc"><p>Initial accumulator
</p></td></tr><tr><td class="src">-> (x -> b)</td><td class="doc"><p>Extraction function
</p></td></tr><tr><td class="src">-> <a href="Pipes-Parse.html#t:Parser">Parser</a> a m b</td><td class="doc empty"> </td></tr></table></div><div class="doc"><p>Fold all input values
</p><pre> Control.Foldl.purely foldAll :: Monad m => Fold a b -> 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"> </td></tr><tr><td class="src">=> (x -> a -> m x)</td><td class="doc"><p>Step function
</p></td></tr><tr><td class="src">-> m x</td><td class="doc"><p>Initial accumulator
</p></td></tr><tr><td class="src">-> (x -> m b)</td><td class="doc"><p>Extraction function
</p></td></tr><tr><td class="src">-> <a href="Pipes-Parse.html#t:Parser">Parser</a> a m b</td><td class="doc empty"> </td></tr></table></div><div class="doc"><p>Fold all input values monadically
</p><pre> Control.Foldl.impurely foldAllM :: Monad m => FoldM a m b -> 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
-> Lens' (Producer a m x) (Producer b m y)
-> 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)
-> Parser b m r
-> 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)
-> Lens' (Producer b m y) (Producer c m z)
-> 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 => (a -> <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a>) -> 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 => <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Int.html#t:Int">Int</a> -> 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 => (a -> a -> <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Bool.html#t:Bool">Bool</a>) -> 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) => 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 => <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 -> <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 => <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> -> <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>
|