Sophie

Sophie

distrib > Mageia > 5 > x86_64 > media > core-release > by-pkgid > 956c458aa5fe9afc4d2c00cb7b491287 > files > 2544

ghc-7.4.2-4.mga5.x86_64.rpm

<!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.Binary.Put</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_Data-Binary-Put.html");};
//]]>
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">binary-0.5.1.0: Binary serialisation for Haskell values using lazy ByteStrings</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Portability</th><td>Portable to Hugs and GHC. Requires MPTCs</td></tr><tr><th>Stability</th><td>stable</td></tr><tr><th>Maintainer</th><td>Lennart Kolmodin &lt;kolmodin@dtek.chalmers.se&gt;</td></tr><tr><th>Safe Haskell</th><td>Trustworthy</td></tr></table><p class="caption">Data.Binary.Put</p></div><div id="table-of-contents"><p class="caption">Contents</p><ul><li><a href="#g:1">The Put type
</a></li><li><a href="#g:2">Flushing the implicit parse state
</a></li><li><a href="#g:3">Primitives
</a></li><li><a href="#g:4">Big-endian primitives
</a></li><li><a href="#g:5">Little-endian primitives
</a></li><li><a href="#g:6">Host-endian, unaligned writes
</a></li></ul></div><div id="description"><p class="caption">Description</p><div class="doc"><p>The Put monad. A monad for efficiently constructing lazy bytestrings.
</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:Put">Put</a> = <a href="Data-Binary-Put.html#t:PutM">PutM</a> ()</li><li class="src short"><span class="keyword">newtype</span>  <a href="#t:PutM">PutM</a> a = <a href="#v:Put">Put</a> {<ul class="subs"><li><a href="#v:unPut">unPut</a> :: PairS a</li></ul>}</li><li class="src short"><a href="#v:runPut">runPut</a> :: <a href="Data-Binary-Put.html#t:Put">Put</a> -&gt; <a href="../bytestring-0.9.2.1/Data-ByteString-Lazy.html#t:ByteString">ByteString</a></li><li class="src short"><a href="#v:runPutM">runPutM</a> ::  <a href="Data-Binary-Put.html#t:PutM">PutM</a> a -&gt; (a, <a href="../bytestring-0.9.2.1/Data-ByteString-Lazy.html#t:ByteString">ByteString</a>)</li><li class="src short"><a href="#v:putBuilder">putBuilder</a> :: <a href="Data-Binary-Builder.html#t:Builder">Builder</a> -&gt; <a href="Data-Binary-Put.html#t:Put">Put</a></li><li class="src short"><a href="#v:execPut">execPut</a> ::  <a href="Data-Binary-Put.html#t:PutM">PutM</a> a -&gt; <a href="Data-Binary-Builder.html#t:Builder">Builder</a></li><li class="src short"><a href="#v:flush">flush</a> :: <a href="Data-Binary-Put.html#t:Put">Put</a></li><li class="src short"><a href="#v:putWord8">putWord8</a> :: <a href="../base-4.5.1.0/Data-Word.html#t:Word8">Word8</a> -&gt; <a href="Data-Binary-Put.html#t:Put">Put</a></li><li class="src short"><a href="#v:putByteString">putByteString</a> :: <a href="../bytestring-0.9.2.1/Data-ByteString.html#t:ByteString">ByteString</a> -&gt; <a href="Data-Binary-Put.html#t:Put">Put</a></li><li class="src short"><a href="#v:putLazyByteString">putLazyByteString</a> :: <a href="../bytestring-0.9.2.1/Data-ByteString-Lazy.html#t:ByteString">ByteString</a> -&gt; <a href="Data-Binary-Put.html#t:Put">Put</a></li><li class="src short"><a href="#v:putWord16be">putWord16be</a> :: <a href="../base-4.5.1.0/Data-Word.html#t:Word16">Word16</a> -&gt; <a href="Data-Binary-Put.html#t:Put">Put</a></li><li class="src short"><a href="#v:putWord32be">putWord32be</a> :: <a href="../base-4.5.1.0/Data-Word.html#t:Word32">Word32</a> -&gt; <a href="Data-Binary-Put.html#t:Put">Put</a></li><li class="src short"><a href="#v:putWord64be">putWord64be</a> :: <a href="../base-4.5.1.0/Data-Word.html#t:Word64">Word64</a> -&gt; <a href="Data-Binary-Put.html#t:Put">Put</a></li><li class="src short"><a href="#v:putWord16le">putWord16le</a> :: <a href="../base-4.5.1.0/Data-Word.html#t:Word16">Word16</a> -&gt; <a href="Data-Binary-Put.html#t:Put">Put</a></li><li class="src short"><a href="#v:putWord32le">putWord32le</a> :: <a href="../base-4.5.1.0/Data-Word.html#t:Word32">Word32</a> -&gt; <a href="Data-Binary-Put.html#t:Put">Put</a></li><li class="src short"><a href="#v:putWord64le">putWord64le</a> :: <a href="../base-4.5.1.0/Data-Word.html#t:Word64">Word64</a> -&gt; <a href="Data-Binary-Put.html#t:Put">Put</a></li><li class="src short"><a href="#v:putWordhost">putWordhost</a> :: <a href="../base-4.5.1.0/Data-Word.html#t:Word">Word</a> -&gt; <a href="Data-Binary-Put.html#t:Put">Put</a></li><li class="src short"><a href="#v:putWord16host">putWord16host</a> :: <a href="../base-4.5.1.0/Data-Word.html#t:Word16">Word16</a> -&gt; <a href="Data-Binary-Put.html#t:Put">Put</a></li><li class="src short"><a href="#v:putWord32host">putWord32host</a> :: <a href="../base-4.5.1.0/Data-Word.html#t:Word32">Word32</a> -&gt; <a href="Data-Binary-Put.html#t:Put">Put</a></li><li class="src short"><a href="#v:putWord64host">putWord64host</a> :: <a href="../base-4.5.1.0/Data-Word.html#t:Word64">Word64</a> -&gt; <a href="Data-Binary-Put.html#t:Put">Put</a></li></ul></div><div id="interface"><h1 id="g:1">The Put type
</h1><div class="top"><p class="src"><span class="keyword">type</span> <a name="t:Put" class="def">Put</a> = <a href="Data-Binary-Put.html#t:PutM">PutM</a> ()</p><div class="doc"><p>Put merely lifts Builder into a Writer monad, applied to ().
</p></div></div><div class="top"><p class="src"><span class="keyword">newtype</span>  <a name="t:PutM" class="def">PutM</a> a </p><div class="doc"><p>The PutM type. A Writer monad over the efficient Builder monoid.
</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:Put" class="def">Put</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><dl><dt class="src"><a name="v:unPut" class="def">unPut</a> :: PairS a</dt><dd class="doc empty">&nbsp;</dd></dl><div class="clear"></div></div></td></tr></table></div><div class="subs instances"><p id="control.i:PutM" class="caption collapser" onclick="toggleSection('i:PutM')">Instances</p><div id="section.i:PutM" class="show"><table><tr><td class="src"><a href="../base-4.5.1.0/Control-Monad.html#t:Monad">Monad</a> <a href="Data-Binary-Put.html#t:PutM">PutM</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="../base-4.5.1.0/Control-Monad.html#t:Functor">Functor</a> <a href="Data-Binary-Put.html#t:PutM">PutM</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="../base-4.5.1.0/Control-Applicative.html#t:Applicative">Applicative</a> <a href="Data-Binary-Put.html#t:PutM">PutM</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><a name="v:runPut" class="def">runPut</a> :: <a href="Data-Binary-Put.html#t:Put">Put</a> -&gt; <a href="../bytestring-0.9.2.1/Data-ByteString-Lazy.html#t:ByteString">ByteString</a></p><div class="doc"><p>Run the <code><a href="Data-Binary-Put.html#t:Put">Put</a></code> monad with a serialiser
</p></div></div><div class="top"><p class="src"><a name="v:runPutM" class="def">runPutM</a> ::  <a href="Data-Binary-Put.html#t:PutM">PutM</a> a -&gt; (a, <a href="../bytestring-0.9.2.1/Data-ByteString-Lazy.html#t:ByteString">ByteString</a>)</p><div class="doc"><p>Run the <code><a href="Data-Binary-Put.html#t:Put">Put</a></code> monad with a serialiser and get its result
</p></div></div><div class="top"><p class="src"><a name="v:putBuilder" class="def">putBuilder</a> :: <a href="Data-Binary-Builder.html#t:Builder">Builder</a> -&gt; <a href="Data-Binary-Put.html#t:Put">Put</a></p></div><div class="top"><p class="src"><a name="v:execPut" class="def">execPut</a> ::  <a href="Data-Binary-Put.html#t:PutM">PutM</a> a -&gt; <a href="Data-Binary-Builder.html#t:Builder">Builder</a></p><div class="doc"><p>Run the <code><a href="Data-Binary-Put.html#t:Put">Put</a></code> monad
</p></div></div><h1 id="g:2">Flushing the implicit parse state
</h1><div class="top"><p class="src"><a name="v:flush" class="def">flush</a> :: <a href="Data-Binary-Put.html#t:Put">Put</a></p><div class="doc"><p>Pop the ByteString we have constructed so far, if any, yielding a
 new chunk in the result ByteString.
</p></div></div><h1 id="g:3">Primitives
</h1><div class="top"><p class="src"><a name="v:putWord8" class="def">putWord8</a> :: <a href="../base-4.5.1.0/Data-Word.html#t:Word8">Word8</a> -&gt; <a href="Data-Binary-Put.html#t:Put">Put</a></p><div class="doc"><p>Efficiently write a byte into the output buffer
</p></div></div><div class="top"><p class="src"><a name="v:putByteString" class="def">putByteString</a> :: <a href="../bytestring-0.9.2.1/Data-ByteString.html#t:ByteString">ByteString</a> -&gt; <a href="Data-Binary-Put.html#t:Put">Put</a></p><div class="doc"><p>An efficient primitive to write a strict ByteString into the output buffer.
 It flushes the current buffer, and writes the argument into a new chunk.
</p></div></div><div class="top"><p class="src"><a name="v:putLazyByteString" class="def">putLazyByteString</a> :: <a href="../bytestring-0.9.2.1/Data-ByteString-Lazy.html#t:ByteString">ByteString</a> -&gt; <a href="Data-Binary-Put.html#t:Put">Put</a></p><div class="doc"><p>Write a lazy ByteString efficiently, simply appending the lazy
 ByteString chunks to the output buffer
</p></div></div><h1 id="g:4">Big-endian primitives
</h1><div class="top"><p class="src"><a name="v:putWord16be" class="def">putWord16be</a> :: <a href="../base-4.5.1.0/Data-Word.html#t:Word16">Word16</a> -&gt; <a href="Data-Binary-Put.html#t:Put">Put</a></p><div class="doc"><p>Write a Word16 in big endian format
</p></div></div><div class="top"><p class="src"><a name="v:putWord32be" class="def">putWord32be</a> :: <a href="../base-4.5.1.0/Data-Word.html#t:Word32">Word32</a> -&gt; <a href="Data-Binary-Put.html#t:Put">Put</a></p><div class="doc"><p>Write a Word32 in big endian format
</p></div></div><div class="top"><p class="src"><a name="v:putWord64be" class="def">putWord64be</a> :: <a href="../base-4.5.1.0/Data-Word.html#t:Word64">Word64</a> -&gt; <a href="Data-Binary-Put.html#t:Put">Put</a></p><div class="doc"><p>Write a Word64 in big endian format
</p></div></div><h1 id="g:5">Little-endian primitives
</h1><div class="top"><p class="src"><a name="v:putWord16le" class="def">putWord16le</a> :: <a href="../base-4.5.1.0/Data-Word.html#t:Word16">Word16</a> -&gt; <a href="Data-Binary-Put.html#t:Put">Put</a></p><div class="doc"><p>Write a Word16 in little endian format
</p></div></div><div class="top"><p class="src"><a name="v:putWord32le" class="def">putWord32le</a> :: <a href="../base-4.5.1.0/Data-Word.html#t:Word32">Word32</a> -&gt; <a href="Data-Binary-Put.html#t:Put">Put</a></p><div class="doc"><p>Write a Word32 in little endian format
</p></div></div><div class="top"><p class="src"><a name="v:putWord64le" class="def">putWord64le</a> :: <a href="../base-4.5.1.0/Data-Word.html#t:Word64">Word64</a> -&gt; <a href="Data-Binary-Put.html#t:Put">Put</a></p><div class="doc"><p>Write a Word64 in little endian format
</p></div></div><h1 id="g:6">Host-endian, unaligned writes
</h1><div class="top"><p class="src"><a name="v:putWordhost" class="def">putWordhost</a> :: <a href="../base-4.5.1.0/Data-Word.html#t:Word">Word</a> -&gt; <a href="Data-Binary-Put.html#t:Put">Put</a></p><div class="doc"><p><em>O(1).</em> Write a single native machine word. The word is
 written in host order, host endian form, for the machine you're on.
 On a 64 bit machine the Word is an 8 byte value, on a 32 bit machine,
 4 bytes. Values written this way are not portable to
 different endian or word sized machines, without conversion.
</p></div></div><div class="top"><p class="src"><a name="v:putWord16host" class="def">putWord16host</a> :: <a href="../base-4.5.1.0/Data-Word.html#t:Word16">Word16</a> -&gt; <a href="Data-Binary-Put.html#t:Put">Put</a></p><div class="doc"><p><em>O(1).</em> Write a Word16 in native host order and host endianness.
 For portability issues see <code>putWordhost</code>.
</p></div></div><div class="top"><p class="src"><a name="v:putWord32host" class="def">putWord32host</a> :: <a href="../base-4.5.1.0/Data-Word.html#t:Word32">Word32</a> -&gt; <a href="Data-Binary-Put.html#t:Put">Put</a></p><div class="doc"><p><em>O(1).</em> Write a Word32 in native host order and host endianness.
 For portability issues see <code>putWordhost</code>.
</p></div></div><div class="top"><p class="src"><a name="v:putWord64host" class="def">putWord64host</a> :: <a href="../base-4.5.1.0/Data-Word.html#t:Word64">Word64</a> -&gt; <a href="Data-Binary-Put.html#t:Put">Put</a></p><div class="doc"><p><em>O(1).</em> Write a Word64 in native host order
 On a 32 bit machine we write two host order Word32s, in big endian form.
 For portability issues see <code>putWordhost</code>.
</p></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.11.0</p></div></body></html>